{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 7: Joint Distributions\n", " \n", "This Jupyter notebook is the Python equivalent of the R code in section 7.7 R, pp. 318 - 320, [Introduction to Probability, 2nd Edition](https://www.crcpress.com/Introduction-to-Probability-Second-Edition/Blitzstein-Hwang/p/book/9781138369917), Blitzstein & Hwang.\n", "\n", "----" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multinomial\n", "\n", "The functions for the Multinomial distribution represented by [scipy.stats.multinomial](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.multinomial.html) are pmf (which is the joint PMF of the Multinomial distribution) and rvs (which generates realizations of Multinomial random vectors). The joint CDF of the Multinomial is a pain to work with, so like R it is not built in multinomial.\n", "\n", "To use pmf, we have to input the value at which to evaluate the joint PMF, as well as the parameters of the distribution. For example," ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from scipy.stats import multinomial\n", "\n", "# to learn more about scipy.stats.multinomial, un-comment out the following line\n", "#print(multinomial.__doc__)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "multinomial.pmf(x, n, p) = 0.041152263374485576\n" ] } ], "source": [ "x = [2, 0, 3]\n", "n = 5\n", "p = [1/3, 1/3, 1/3]\n", "\n", "ans = multinomial.pmf(x, n, p)\n", "print('multinomial.pmf(x, n, p) = {}'.format(ans))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "returns the probability $P(X_1 = 2, \\, X_2 = 0, \\, X_3 = 3)$, where\n", "\n", "\\begin{align}\n", " X = (X_1, \\, X_2, \\, X_3) \\sim Mult_3\\left(5, \\, (\\frac{1}{3}, \\frac{1}{3}, \\frac{1}{3})\\right)\n", "\\end{align}\n", "\n", "Of course, n has to equal numpy.sum(x); if we attempted to do multinomial.pmf(x, 7, p), the return value would simply be 0.0." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For rvs, the named function parameter size is the number of Multinomial random vectors to generate, and the other inputs are the same. When we ran rvs(n, p, size=10) with n and p as above, multinomial gave us the following matrix:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "matrix of Multinomial random vectors has shape (10, 3)\n", "\n", "[[2 0 3]\n", " [2 2 1]\n", " [1 1 3]\n", " [3 1 1]\n", " [1 3 1]\n", " [4 0 1]\n", " [0 3 2]\n", " [2 3 0]\n", " [1 2 2]\n", " [3 1 1]]\n" ] } ], "source": [ "# seed the random number generator\n", "np.random.seed(46368)\n", "\n", "rv_vector = multinomial.rvs(n, p, size=10)\n", "\n", "print('matrix of Multinomial random vectors has shape {}\\n'.format(rv_vector.shape))\n", "\n", "print(rv_vector)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each row of the matrix corresponds to a draw from the $Mult_3\\left(5, \\, (1/3, 1/3, 1/3)\\right)$ distribution. In particular, the sum of each row is 5." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Multivariate Normal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Functions for the Multivariate Normal distribution are located in the [scipy.stats.multivariate_normal](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.multivariate_normal.html) module. As expected, pdf can be used for calculating the joint PDF, and rvs can be used for generating random vectors. For example, suppose that we want to generate 1000 independent Bivariate Normal pairs $(Z, W)$, with correlation $\\rho = 0.7$ and $N(0, 1)$ marginals. To do this, we can execute the following:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from scipy.stats import multivariate_normal\n", "\n", "# to learn more about scipy.stats.multivariate_normal, un-comment out the following line\n", "#print(multivariate_normal.__doc__)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "matrix r has shape: (1000, 2)\n" ] } ], "source": [ "np.random.seed(75025)\n", "\n", "meanvector = [0, 0]\n", "rho = 0.7\n", "covmatrix = np.array([[1, rho],\n", " [rho, 1]])\n", "\n", "r = multivariate_normal.rvs(mean=meanvector, cov=covmatrix, size=10**3)\n", "print('matrix r has shape: {}'.format(r.shape))\n", "\n", "# take the 1st column of matrix r as Z\n", "Z = r[:, 0]\n", "\n", "# take the 2nd column of matrix r as W\n", "W = r[:, 1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The covariance matrix here is\n", "\n", "\\begin{align}\n", " \\begin{pmatrix}\n", " 1 & \\rho \\\\\n", " \\rho & 1\n", " \\end{pmatrix}\n", "\\end{align}\n", "\n", "because\n", "\n", "* $Cov(Z, Z) = Var(Z) = 1$ (this is the upper left entry)\n", "* $Cov(W, W) = Var(W) = 1$ (this is the lower right entry)\n", "* $Cov(Z, W) = Corr(Z, W) \\, SD(Z) \\, SD(W) = \\rho$ (this is the other two entries).\n", "\n", "Now r is a 1000 $\\times$ 2 matrix, with each row a BVN random vector. To see these as points in the plane, we can use [matplotlib.pyplot.scatter(Z, W)](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.scatter.html) to make a scatter plot, from which the strong positive correlation should be clear. To estimate the covariance of Z and W, we can use [numpy.cov(Z, W)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.cov.html), which computes the true covariance matrix." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n5gAAAABJRU5ErkJggg==\n", "text/plain": [ "