{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Introduction to Bayesian Econometrics\n", "\n", "This course will cover the application of Bayesian statistical methods for econometric inference. Broadly speaking we will\n", "\n", "1. Briefly discuss sampling methods for classical statistics\n", "2. Introduce Bayes Rule and Provide an Application \n", "3. Examine the use of Monte Carlo Markov Chains\n", " * Link to Bayes Rule\n", " * Metropolis-Hastings and other Samplers\n", " * Chain \"convergence\" and diagnostics\n", "4. Application: OLS, Time-Series Econometrics, Heirarchical Models" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The **frequentist paradigm**, arguably the dominant statistical paradigm in the social sciences (and what you all have studied), relies on the following notions:\n", "\n", "* $\\beta$ is not random but neither is it known. It is a fixed quantity.\n", "* To uncover information about $\\beta$, we observe part of some process (e.g. $\\mathbf{y=x\\beta+\\epsilon}$).\n", "* For statistical inference, we rely on **repeated trials** of $\\mathbf{y}$ and $\\mathbf{x}$, even if this repetition rarely (if ever) occurs in the social science context.\n", "* $\\mathbf{y}$ and $\\mathbf{x}$ are considered random\n", "* The model typically attempts to uncover information about $\\mathbf{\\beta}$ by examining the likelihood function\n", "$$\n", "prob(\\mathbf{y}|\\mathbf{b},\\mathbf{x})\n", "$$\n", "where $\\mathbf{b}$ are our estimates of $\\beta$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "The **bayesian paradigm** tackles the issue of estimating $\\beta$ by\n", "\n", "* Treating $\\beta$ as random and unknown\n", "* Treating $\\mathbf{y}$ and $\\mathbf{x}$ as fixed and non-random (at least once they are recorded in your dataset)\n", "* Uncovers information about $\\mathbf{\\beta}$ by examining the posterior likelihood\n", "$$\n", "prob(\\mathbf{b}|\\mathbf{y},\\mathbf{x})\n", "$$\n", "where $\\mathbf{b}$ are our estimates of $\\beta$" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "In quite a lot of instances, these two approaches give you the same estimate for $\\beta$.\n", "Until recently, Bayesian Statistical modeling wasn't used because calculating the posterior likelihood was computationally challenging, but recent advances in the theory and construction of Monte Carlo Markov Chains and computational ability has really opened the door for Bayesian analysis for problems that might not be estimated using the frequentist paradigm (ie. Maximim Likelihood). There is an **ongoing holy war** in the two statistical camps, during the semester I will attempt to highlite the pros and cons of each paradigm without taking a position on which one is better. My philosophy is that if it gets the job done, use it while being aware of limitations and advantages." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Repeated trials in frequentist statistics\n", "A good jumping off point for this course is to understand the use of sampling techniques in a classical statistical paradigm. \n", "- Underlying all statistical inference that you have learned in statistics and econometrics is the idea of **repeated trials**. Bootstrapping highlites this really well. \n", "- We will begin with an exploration of bootstrapping and see the implementation steps." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "#load python libraries for this ipython notebook:\n", "%matplotlib inline\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sbn\n", "import statsmodels.formula.api as smf\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "plt.style.use('ggplot')\n", "\n", "np.random.seed(12578)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Load Tobias and Koop data for time==4" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "tobias_koop=pd.read_csv('https://rlhick.people.wm.edu/econ407/data/tobias_koop_t_4.csv')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ideducln_wagepexptimeabilitymeducfeducbroken_homesiblingspexp2
04122.14240.261210144
16151.91440.4412160216
28132.32840.5112151264
311141.64141.821617121
412132.1664-1.3013120536
\n", "
" ], "text/plain": [ " id educ ln_wage pexp time ability meduc feduc broken_home \\\n", "0 4 12 2.14 2 4 0.26 12 10 1 \n", "1 6 15 1.91 4 4 0.44 12 16 0 \n", "2 8 13 2.32 8 4 0.51 12 15 1 \n", "3 11 14 1.64 1 4 1.82 16 17 1 \n", "4 12 13 2.16 6 4 -1.30 13 12 0 \n", "\n", " siblings pexp2 \n", "0 4 4 \n", "1 2 16 \n", "2 2 64 \n", "3 2 1 \n", "4 5 36 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tobias_koop.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ideducln_wagepexptimeabilitymeducfeducbroken_homesiblingspexp2
count1034.0000001034.0000001034.0000001034.0000001034.01034.0000001034.0000001034.0000001034.0000001034.0000001034.000000
mean1090.95164412.2746622.1382594.8152804.00.01659611.40328811.5851060.1692463.20019327.979691
std634.8917281.5668380.4662802.1902980.00.9209633.0272773.7358330.3751502.12657522.598790
min4.0000009.0000000.4200000.0000004.0-3.1400000.0000000.0000000.0000000.0000000.000000
25%537.25000012.0000001.8200003.0000004.0-0.55000011.00000010.0000000.0000002.0000009.000000
50%1081.50000012.0000002.1200005.0000004.00.17000012.00000012.0000000.0000003.00000025.000000
75%1666.50000013.0000002.4500006.0000004.00.72000012.00000014.0000000.0000004.00000036.000000
max2177.00000019.0000003.59000012.0000004.01.89000020.00000020.0000001.00000015.000000144.000000
\n", "
" ], "text/plain": [ " id educ ln_wage pexp time \\\n", "count 1034.000000 1034.000000 1034.000000 1034.000000 1034.0 \n", "mean 1090.951644 12.274662 2.138259 4.815280 4.0 \n", "std 634.891728 1.566838 0.466280 2.190298 0.0 \n", "min 4.000000 9.000000 0.420000 0.000000 4.0 \n", "25% 537.250000 12.000000 1.820000 3.000000 4.0 \n", "50% 1081.500000 12.000000 2.120000 5.000000 4.0 \n", "75% 1666.500000 13.000000 2.450000 6.000000 4.0 \n", "max 2177.000000 19.000000 3.590000 12.000000 4.0 \n", "\n", " ability meduc feduc broken_home siblings \\\n", "count 1034.000000 1034.000000 1034.000000 1034.000000 1034.000000 \n", "mean 0.016596 11.403288 11.585106 0.169246 3.200193 \n", "std 0.920963 3.027277 3.735833 0.375150 2.126575 \n", "min -3.140000 0.000000 0.000000 0.000000 0.000000 \n", "25% -0.550000 11.000000 10.000000 0.000000 2.000000 \n", "50% 0.170000 12.000000 12.000000 0.000000 3.000000 \n", "75% 0.720000 12.000000 14.000000 0.000000 4.000000 \n", "max 1.890000 20.000000 20.000000 1.000000 15.000000 \n", "\n", " pexp2 \n", "count 1034.000000 \n", "mean 27.979691 \n", "std 22.598790 \n", "min 0.000000 \n", "25% 9.000000 \n", "50% 25.000000 \n", "75% 36.000000 \n", "max 144.000000 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tobias_koop.describe()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "