{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Estimating Model Parameters\n", "> In our final chapter, we introduce concepts from inferential statistics, and use them to explore how maximum likelihood estimation and bootstrap resampling can be used to estimate linear model parameters. We then apply these methods to make probabilistic statements about our confidence in the model parameters. This is the Summary of lecture \"Introduction to Linear Modeling in Python\", via datacamp.\n", "\n", "- toc: true \n", "- badges: true\n", "- comments: true\n", "- author: Chanseok Kang\n", "- categories: [Python, Datacamp, Statistics, Modeling]\n", "- image: images/stats_pvalue.png" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "plt.rcParams['figure.figsize'] = (10, 5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inferential Statistics Concepts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sample Statistics versus Population\n", "In this exercise you will work with a preloaded population. You will construct a sample by drawing points at random from the population. You will compute the mean standard deviation of the sample taken from that population to test whether the sample is representative of the population. Your goal is to see where the sample statistics are the same or very close to the population statistics." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "population = np.array([ 104.96714153, 98.61735699, 106.47688538, 115.23029856,\n", " 97.65846625, 97.65863043, 115.79212816, 107.67434729,\n", " 95.30525614, 105.42560044, 95.36582307, 95.34270246,\n", " 102.41962272, 80.86719755, 82.75082167, 94.37712471,\n", " 89.8716888 , 103.14247333, 90.91975924, 85.87696299,\n", " 114.65648769, 97.742237 , 100.67528205, 85.75251814,\n", " 94.55617275, 101.1092259 , 88.49006423, 103.75698018,\n", " 93.9936131 , 97.0830625 , 93.98293388, 118.52278185,\n", " 99.86502775, 89.42289071, 108.22544912, 87.7915635 ,\n", " 102.08863595, 80.40329876, 86.71813951, 101.96861236,\n", " 107.3846658 , 101.71368281, 98.84351718, 96.98896304,\n", " 85.2147801 , 92.80155792, 95.39361229, 110.57122226,\n", " 103.4361829 , 82.36959845, 103.24083969, 96.1491772 ,\n", " 93.23078 , 106.11676289, 110.30999522, 109.31280119,\n", " 91.60782477, 96.90787624, 103.31263431, 109.75545127,\n", " 95.20825762, 98.14341023, 88.93665026, 88.03793376,\n", " 108.12525822, 113.56240029, 99.27989878, 110.03532898,\n", " 103.61636025, 93.54880245, 103.61395606, 115.38036566,\n", " 99.64173961, 115.64643656, 73.80254896, 108.21902504,\n", " 100.87047068, 97.0099265 , 100.91760777, 80.12431085,\n", " 97.80328112, 103.57112572, 114.77894045, 94.81729782,\n", " 91.91506397, 94.98242956, 109.15402118, 103.2875111 ,\n", " 94.70239796, 105.13267433, 100.97077549, 109.68644991,\n", " 92.97946906, 96.72337853, 96.07891847, 85.36485052,\n", " 102.96120277, 102.61055272, 100.05113457, 97.65412867,\n", " 85.84629258, 95.79354677, 96.57285483, 91.97722731,\n", " 98.38714288, 104.04050857, 118.86185901, 101.74577813,\n", " 102.57550391, 99.25554084, 80.81228785, 99.73486125,\n", " 100.6023021 , 124.63242112, 98.07639035, 103.01547342,\n", " 99.6528823 , 88.31321962, 111.42822815, 107.51933033,\n", " 107.91031947, 90.90612545, 114.02794311, 85.98148937,\n", " 105.86857094, 121.90455626, 90.09463675, 94.3370227 ,\n", " 100.99651365, 94.96524346, 84.49336569, 100.68562975,\n", " 89.37696286, 104.73592431, 90.80575766, 115.49934405,\n", " 92.16746708, 96.77938484, 108.13517217, 87.69135684,\n", " 102.27459935, 113.07142754, 83.92516765, 101.84633859,\n", " 102.59882794, 107.81822872, 87.63049289, 86.79543387,\n", " 105.21941566, 102.96984673, 102.5049285 , 103.46448209,\n", " 93.19975278, 102.32253697, 102.93072473, 92.85648582,\n", " 118.65774511, 104.73832921, 88.08696503, 106.56553609,\n", " 90.2531833 , 107.87084604, 111.58595579, 91.79317682,\n", " 109.63376129, 104.12780927, 108.2206016 , 118.96792983,\n", " 97.54611884, 92.46263836, 91.1048557 , 91.84189715,\n", " 99.22898291, 103.41151975, 102.76690799, 108.27183249,\n", " 100.13001892, 114.53534077, 97.35343167, 127.20169167,\n", " 106.25667348, 91.42842444, 89.29107502, 104.82472415,\n", " 97.76537215, 107.14000494, 104.73237625, 99.27171087,\n", " 91.53206282, 84.85152775, 95.53485048, 108.56398794,\n", " 102.14093744, 87.54261221, 101.73180926, 103.8531738 ,\n", " 91.16142564, 101.53725106, 100.58208718, 88.57029702,\n", " 103.5778736 , 105.60784526, 110.83051243, 110.53802052,\n", " 86.22330632, 90.6217496 , 105.15035267, 105.13785951,\n", " 105.15047686, 138.52731491, 105.70890511, 111.3556564 ,\n", " 109.54001763, 106.51391251, 96.84730755, 107.5896922 ,\n", " 92.27174785, 97.63181393, 95.14636452, 100.81874139,\n", " 123.14658567, 81.32734807, 106.8626019 , 83.87284129,\n", " 95.28068134, 110.88950597, 100.64280019, 89.22255222,\n", " 92.84696291, 106.79597749, 92.69633368, 102.1645859 ,\n", " 100.4557184 , 93.48399652, 121.43944089, 106.33919022,\n", " 79.74857413, 101.86454315, 93.38213535, 108.52433335,\n", " 92.07479262, 98.85263559, 105.04987279, 108.65755194,\n", " 87.99703593, 96.65498764, 95.25054689, 93.46670767,\n", " 117.6545424 , 104.04981711, 87.39116046, 109.17861947,\n", " 121.22156197, 110.32465261, 84.80630034, 95.15765927,\n", " 112.66911149, 92.92330534, 104.43819428, 107.74634053,\n", " 90.73069528, 99.40474644, 67.5873266 , 89.75612359,\n", " 97.47431849, 87.52216818, 116.32411304, 85.69858622,\n", " 95.59955513, 101.30740577, 114.41273289, 85.64137849,\n", " 111.63163752, 100.10233061, 90.18491349, 104.62103474,\n", " 101.99059696, 93.99783123, 100.69802085, 96.14686403,\n", " 101.13517345, 106.62130675, 115.86016816, 87.62184501,\n", " 121.33033375, 80.479122 , 98.48214905, 105.88317206,\n", " 102.80991868, 93.7730048 , 97.9187775 , 95.06999065,\n", " 94.10635243, 108.49602097, 103.57015486, 93.07090405,\n", " 108.99599875, 103.07299521, 108.12862119, 106.29628842,\n", " 91.71004989, 94.3981896 , 107.47293605, 106.10370265,\n", " 99.79098406, 101.17327383, 112.77664896, 94.08428611,\n", " 105.47097381, 97.97807348])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Population mean 100.0, stdev 9.74\n", " Sample mean 102.1, stdev 9.34\n" ] } ], "source": [ "# Compute the population statistics\n", "print(\"Population mean {:.1f}, stdev {:.2f}\".format( population.mean(), population.std() ))\n", "\n", "# Set random seed for reproducibility\n", "np.random.seed(42)\n", "\n", "# Construct a sample by randomly sampling 31 points from the population\n", "sample = np.random.choice(population, size=31)\n", "\n", "# Compare sample statistics to the population statistics\n", "print(\" Sample mean {:.1f}, stdev {:.2f}\".format( sample.mean(), sample.std() ))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the sample statistics are similar to the population statistics, but not the identical. If you were to compute the ```len()``` of each array, it is very different, but the means are not that much different as you might expect." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Variation in Sample Statistics\n", "If we create one sample of ```size=1000``` by drawing that many points from a population. Then compute a sample statistic, such as the mean, a single value that summarizes the sample itself.\n", "\n", "If you repeat that sampling process ```num_samples=100``` times, you get 100 samples. Computing the sample statistic, like the mean, for each of the different samples, will result in a distribution of values of the mean. The goal then is to compute the mean of the means and standard deviation of the means." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "num_samples = 100\n", "num_pts = 1000" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Means: center=100.01, spread= 0.32\n", "Stdevs: center= 9.67, spread= 0.24\n" ] } ], "source": [ "# Initialize two arrays of zeros to be used as containers\n", "means = np.zeros(num_samples)\n", "stdevs = np.zeros(num_samples)\n", "\n", "# For each iteration, compute and store the sample mean and sample stdev\n", "for ns in range(num_samples):\n", " sample = np.random.choice(population, num_pts)\n", " means[ns] = sample.mean()\n", " stdevs[ns] = sample.std()\n", "\n", "# Compute and print the mean() and std() for the sample statistic distributions\n", "print(\"Means: center={:>6.2f}, spread={:>6.2f}\".format(means.mean(), means.std()))\n", "print(\"Stdevs: center={:>6.2f}, spread={:>6.2f}\".format(stdevs.mean(), stdevs.std()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " If we only took one sample, instead of 100, there could be only a single mean and the standard deviation of that single value is zero. But each sample is different because of the randomness of the draws. The mean of the means is our estimate for the population mean, the stdev of the means is our measure of the uncertainty in our estimate of the population mean. This is the same concept as the standard error of the slope seen in linear regression." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing Variation of a Statistic\n", "Previously, you have computed the variation of sample statistics. Now you'll visualize that variation.\n", "\n", "We'll start with a preloaded ```population``` and a predefined function ```get_sample_statistics()``` to draw the samples, and return the sample statistics arrays.\n", "\n", "Here we will use a predefined ```plot_hist()``` function that wraps the matplotlib method ```axis.hist()```, which both bins and plots the array passed in. In this way you can see how the sample statistics have a distribution of values, not just a single value." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def get_sample_statistics(population, num_samples=100, num_pts=1000):\n", " means = np.zeros(num_samples)\n", " deviations = np.zeros(num_samples)\n", " for ns in range(num_samples):\n", " sample = np.random.choice(population, num_pts)\n", " means[ns] = sample.mean()\n", " deviations[ns] = sample.std()\n", " return means, deviations\n", "\n", "def plot_hist(data, bins, data_name, color='blue'):\n", " font_options = {'family' : 'Arial', 'size' : 16}\n", " plt.rc('font', **font_options)\n", " fig, axis = plt.subplots(figsize=(8,4))\n", " axis.hist(data, bins=bins, rwidth=0.9, color=color)\n", " title = 'Distribution of the {}: \\ncenter={:0.2f}, spead={:0.2f}'.format(data_name, data.mean(), data.std())\n", " x_label = 'Values of {}'.format(data_name)\n", " y_label = 'Bin counts of {}'.format(data_name)\n", " axis.set_ylabel(y_label)\n", " axis.set_xlabel(x_label)\n", " axis.set_title(title)\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Generate sample distribution and associated statistics\n", "means, stdevs = get_sample_statistics(population, num_samples=100, num_pts=1000)\n", "\n", "# Define the binning for the histograms\n", "mean_bins = np.linspace(97.5, 102.5, 51)\n", "std_bins = np.linspace(7.5, 12.5, 51)\n", "\n", "# Plot the distribution of means, and the distribution of stdevs\n", "fig = plot_hist(data=means, bins=mean_bins, data_name=\"Means\", color='green')\n", "fig = plot_hist(data=stdevs, bins=std_bins, data_name=\"Stdevs\", color='red')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice you have to page through the plots to see both. Can you see the center and spread in the title and the plots? If you have not before, compute those values using e.g. ```means.mean()``` and ```means.std()``` to see that they match the figure." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Estimation and Likelihood\n", "- Likelihood vs Probability\n", " - Conditional Probability: $P(outcome A \\vert given B)$\n", " - Probability: $P(data \\vert model)$\n", " - Likelihood: $L(model \\vert data)$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Estimation of Population Parameters\n", "Imagine a constellation (\"population\") of satellites orbiting for a full year, and the distance traveled in each hour is measured in kilometers. There is variation in the distances measured from hour-to-hour, due to unknown complications of orbital dynamics. Assume we cannot measure all the data for the year, but we wish to build a population model for the variations in orbital distance per hour (speed) based on a sample of measurements.\n", "\n", "In this exercise, you will assume that the population of hourly distances are best modeled by a gaussian, and further assume that the parameters of that population model can be estimated from the sample statistics." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "sample_distances = np.array([ 27143.88628178, 27087.98325817, 27580.04229165, 27113.1083337 ,\n", " 27057.40721048, 26693.19226411, 26916.87962035, 27229.72020211,\n", " 26755.77703262, 26994.32512326, 26863.90989702, 26885.76359407,\n", " 27055.16802439, 26846.50278894, 26761.62724163, 27011.92714 ,\n", " 27006.0414866 , 27112.55543553, 27075.29318558, 27241.03510749,\n", " 26886.05773059, 26853.25717425, 27356.50242839, 27083.71944651,\n", " 27048.1317373 , 26833.17214224, 27187.1114273 , 26792.09492182,\n", " 27327.65334315, 26905.32791217, 26965.08045969, 26781.97735558,\n", " 27001.76307178, 26457.73102378, 27104.47241451, 27039.42276518,\n", " 26984.93044729, 27015.64782321, 26734.91971513, 26917.33608426,\n", " 27018.00056773, 26687.14839143, 27339.65512105, 26999.48176249,\n", " 27232.23332988, 27055.67780598, 26558.44932455, 26853.1677454 ,\n", " 26801.88222348, 26861.18523779, 26801.07982206, 27313.85177827,\n", " 27028.90702211, 27134.47888438, 27184.32863559, 26655.06969382,\n", " 26766.95785922, 27246.58734932, 26859.90997974, 26843.13093501,\n", " 27453.13275985, 26873.41574937, 26878.4825768 , 26822.42307365,\n", " 26994.9099121 , 26946.60404244, 26877.97718899, 26823.59522223,\n", " 26901.05746475, 27042.79485155, 26678.05762212, 26815.86185253,\n", " 26705.87521488, 27025.03575828, 26601.45264973, 27063.85095746,\n", " 26873.54531063, 26962.82916206, 27075.37369548, 27084.79512368,\n", " 26864.61856166, 27223.18632238, 26557.40113102, 26995.79204744,\n", " 26917.01806731, 26749.54338877, 26600.2621505 , 26919.74101142,\n", " 27092.700555 , 26977.8727147 , 26849.13471473, 26524.28234783,\n", " 26903.92055912, 26957.90186854, 27053.1976854 , 27113.30038626,\n", " 26833.69061488, 26980.32286769, 27457.87472776, 26607.4298234 ,\n", " 27120.50297762, 26813.97549293, 27119.1785466 , 26990.11041907,\n", " 26753.55181914, 26525.20469951, 26842.72974227, 26973.67981323,\n", " 26644.18669416, 27335.23537165, 26974.77143351, 27114.95839037,\n", " 26858.96264682, 26835.49786595, 26531.37432824, 27126.72630558,\n", " 26913.79981063, 26860.88065597, 27238.26729004, 26903.87271231,\n", " 27513.09247822, 26548.8345489 , 26999.26166747, 27057.7189009 ,\n", " 26855.09506965, 26846.60168945, 26998.49380647, 26681.04629384,\n", " 27053.79099607, 26496.07750486, 27036.1456002 , 27016.92252596,\n", " 26481.37833241, 27463.50952723, 26941.62131814, 26709.51469047,\n", " 26566.83038974, 27183.90514637, 26857.18592379, 26890.57821981,\n", " 27297.38075903, 27182.21187189, 27007.75242303, 26745.98219617,\n", " 26604.88487869, 27265.42925406, 26966.86884722, 26737.8827 ,\n", " 26861.68486165, 27100.295441 , 27187.91639576, 27244.33375738,\n", " 26785.46575254, 26596.83571684, 26634.24093179, 26977.26170876,\n", " 26837.52656605, 27161.00628236, 26824.60504805, 26818.95578474,\n", " 26933.79406034, 26746.69702688, 26992.12439671, 26594.40884625,\n", " 27136.65457708, 27006.47774178, 27348.6312121 , 26640.05169387,\n", " 26714.48926311, 26976.750765 , 26891.78137871, 27415.10567461,\n", " 26863.34205649, 26864.13041363, 26933.87284308, 27240.9018238 ,\n", " 26780.34584953, 27101.21398455, 26536.27695868, 27205.70198053,\n", " 26766.53883905, 26828.57836298, 26995.50842643, 26714.33520856,\n", " 26850.33271654, 27351.41721953, 26804.22626971, 26654.90293713,\n", " 27304.44206032, 26847.36626491, 26804.55720083, 26829.07844477,\n", " 26764.00163473, 27052.12291217, 26567.20279511, 26960.61254516,\n", " 27065.57672416, 26744.10077992, 27314.71742361, 26663.42154431,\n", " 26970.9819719 , 26694.67840398, 26996.04004449, 26801.79974578,\n", " 27061.01623074, 26937.19018333, 26857.45686715, 26593.49519935,\n", " 26716.65215727, 27010.58406499, 27054.09857263, 26944.52372485,\n", " 26878.21290192, 26989.57495373, 27096.37064746, 26716.88817842,\n", " 26836.57256623, 27033.67598741, 26863.87803964, 27047.20798789,\n", " 27034.91369359, 26685.87451072, 27039.83885243, 26791.89970318,\n", " 26849.33668429, 27026.34834406, 26695.23683922, 26904.80471305,\n", " 26436.85015118, 26830.81472121, 26911.67043354, 27404.79981318,\n", " 26957.87969301, 27033.96423562, 26957.63539671, 26771.38920367,\n", " 27258.24706918, 26968.81217189, 27199.03755538, 26961.52942659,\n", " 26739.94237613, 27134.65276966, 26630.07179143, 26754.10986303,\n", " 26734.2688266 , 26955.89986361, 26980.93876681, 26780.9502099 ,\n", " 26881.43697313, 26861.55370871, 26938.04451192, 27424.71030759,\n", " 27224.90782133, 27567.66884372, 26942.45666815, 26666.49862448,\n", " 26811.51215308, 26862.3358439 , 26990.77460817, 26724.01040161,\n", " 26716.03660602, 27089.57059653, 27089.43869505, 26738.7977659 ,\n", " 26639.01975494, 26732.8054403 , 27148.6025703 , 26772.1406178 ,\n", " 26823.98368548, 26944.55993598, 26899.06286655, 27274.75301706,\n", " 26732.66097594, 27078.97928512, 27156.28365114, 26674.92376282,\n", " 26591.16650517, 26901.28578514, 26854.2124564 , 26637.76152564,\n", " 27067.74816302, 26977.5439568 , 26938.91884692, 27056.15166122,\n", " 26905.21037053, 26887.87603461, 26618.12393823, 26842.1454847 ,\n", " 27243.69949251, 27019.77978195, 27024.08660277, 26942.38510255,\n", " 26855.35443262, 26486.76635941, 26514.29446274, 26886.15161863,\n", " 26585.50047227, 26654.4768983 , 26991.29015812, 27157.85397661,\n", " 26933.96043703, 26890.65691518, 27238.72323288, 26805.130186 ,\n", " 27125.58144028, 27327.70213603, 27171.75239724, 27093.72863873,\n", " 26587.66972079, 26617.52797802, 26821.20198502, 26857.73533964,\n", " 26635.38737764, 26661.90040372, 26829.5779198 , 26741.62947342,\n", " 27190.30556829, 26579.22864091, 27497.96834736, 27081.02355063,\n", " 26769.52914657, 26985.74574184, 27595.80878556, 26487.11507164,\n", " 27292.42142024, 26733.38001826, 26648.9204039 , 27429.34320411,\n", " 26843.95841763, 26892.15101573, 26822.53694383, 26475.39327269,\n", " 26981.99259762, 26764.28248029, 27077.40025535, 26873.83834394,\n", " 27194.15938715, 26953.27264372, 26964.84608336, 27080.18180957,\n", " 26683.31744167, 26502.83895785, 26844.16395718, 27134.59783351,\n", " 26990.62775284, 26922.07725332, 27190.05269203, 27065.33499104,\n", " 27268.61508165, 26512.11430426, 26612.70415815, 26942.6117626 ,\n", " 26785.98958143, 26879.59951891, 27074.25111081, 26638.0334235 ,\n", " 26858.27340454, 27265.22585654, 26731.03040891, 26706.0906174 ,\n", " 26881.98394737, 27076.9711286 , 27072.06023771, 27172.94087273,\n", " 26860.60951111, 26637.69630775, 26921.5832547 , 26868.06131472,\n", " 26600.09476209, 26660.55416077, 26615.43446626, 26834.83778753,\n", " 27068.60120026, 26916.29208527, 26988.51212715, 26825.589366 ,\n", " 27010.21997456, 26767.49717399, 26582.69461741, 26654.01298353,\n", " 26878.09411344, 26842.16941808, 26769.71400851, 26793.55753181,\n", " 26780.7725181 , 26832.16520869, 26520.33080082, 26878.99396777,\n", " 26626.28412691, 26836.54178272, 26747.54469582, 27325.33127661,\n", " 27000.43140943, 26591.54085344, 27050.44515082, 26819.78852642,\n", " 26768.79271964, 26623.20005054, 26499.24012889, 27034.55732796,\n", " 26972.30548523, 27076.97833476, 27145.97653883, 27370.45045816,\n", " 26788.54262976, 27185.12908371, 27105.10953604, 26633.87050673,\n", " 26497.62446903, 26629.59429991, 27303.09765554, 27512.90634296,\n", " 26979.4130203 , 27288.31979692, 26775.90921763, 27246.3093449 ,\n", " 26702.97967346, 27127.80327595, 26887.79015222, 26845.61680541,\n", " 27325.07216057, 26912.04092278, 26698.64746013, 27069.89578735,\n", " 26896.89216195, 26825.16825668, 26719.23253875, 27089.1351968 ,\n", " 26907.17017392, 26615.46233873, 26647.44351774, 26882.2284668 ,\n", " 26873.25430701, 27131.32632721, 26561.99089323, 26896.45048256,\n", " 26779.47437051, 26866.97946212, 26580.68558289, 26866.31573419,\n", " 26942.87693368, 26575.09935991, 26895.31801405, 26927.33675451,\n", " 27097.5658296 , 27128.16478439, 26405.45893621, 26994.71552069,\n", " 27063.31273634, 26748.21332282, 26808.8932871 , 26724.7750947 ,\n", " 26886.51488927, 26505.51673261, 26998.04607751, 26816.22792519,\n", " 26849.55072425, 26826.30312419, 27380.98648648, 27001.70154691,\n", " 26945.59491929, 26892.01594966, 27008.94931909, 27216.56367404,\n", " 26780.61753675, 27085.16847858, 27309.98648719, 27024.33210759,\n", " 26696.51722235, 26885.77145915, 27091.30918844, 27288.44923661,\n", " 26843.78490903, 26995.37811275, 27138.50850968, 27075.52853479,\n", " 26788.01558595, 26686.5137108 , 26907.76987956, 27043.41094828,\n", " 27002.33688256, 27000.58628711, 26923.24546555, 26992.01623444,\n", " 26839.18921918, 26876.01983098, 26824.33127226, 26670.56916053,\n", " 27171.51413067, 26223.68323013, 27181.98404 , 26803.87711263,\n", " 27103.321864 , 27095.93537004, 26770.49982931, 27057.20228503,\n", " 27221.60761577, 27094.98258615, 27115.18560631, 26842.77894778,\n", " 27323.4894849 , 26881.86334618, 26837.51410218, 27130.37924233,\n", " 26660.94358069, 26731.11198984, 26905.96625456, 26789.17451613,\n", " 26934.47552903, 26695.9977087 , 26951.91390559, 26930.80109208,\n", " 26650.40867341, 27314.64800395, 26801.46760827, 27087.49867632,\n", " 26630.66491592, 26918.4092305 , 26953.25107897, 26717.30404149,\n", " 26949.66946678, 26754.97063429, 26870.10207066, 26807.38876625,\n", " 27107.55234701, 26601.59319672, 26821.24022814, 26685.63552257,\n", " 27044.86820473, 27416.09728796, 26677.99084544, 26854.67530358,\n", " 26786.93680732, 27010.23095439, 27232.56444479, 26887.24710797,\n", " 26680.41523995, 26834.47744991, 27062.41793769, 26763.82670317,\n", " 26935.17919968, 27100.28799049, 26698.32757744, 27198.96478924,\n", " 26650.21345545, 26887.53157538, 26814.57686748, 26605.44529358,\n", " 27215.91089759, 26685.02505006, 26807.00356023, 27183.35159978,\n", " 27299.01025863, 26540.3273963 , 27014.04664468, 27182.21812316,\n", " 26767.58852115, 27009.07760766, 26723.04531565, 27017.79895826,\n", " 26768.65088691, 26777.76464446, 26315.61040777, 27133.86367531,\n", " 26918.66726152, 26853.81704745, 27347.05391 , 26766.18432387,\n", " 26960.80182685, 26988.449127 , 26876.66140718, 26939.05893723,\n", " 26982.01789116, 26919.20819375, 26747.81346849, 26717.85402756,\n", " 26739.96859867, 27046.28760018, 26679.84821861, 26675.41876112,\n", " 26896.86351377, 26834.36394749, 27025.01206036, 26832.62404834,\n", " 26796.37376438, 26722.27745533, 26604.57505423, 26874.84134077,\n", " 26709.89006538, 26647.86223725, 27365.60478048, 27250.48206328,\n", " 26943.0014568 , 26681.2406666 , 26908.14576762, 26768.46801898,\n", " 26704.72233385, 27395.07225842, 26555.49997708, 26920.70572279,\n", " 26787.9513203 , 26621.50935879, 27023.69869608, 26983.26169904,\n", " 27051.78206884, 26924.32570734, 27221.81159283, 27041.46242069,\n", " 26893.2471373 , 26620.10418654, 26803.4755538 , 27110.75619235,\n", " 26971.28591253, 27004.02059281, 26482.00284554, 26667.06080455,\n", " 26796.77272328, 27053.93552085, 26917.11701927, 26742.88375437,\n", " 26597.94705253, 26947.42274881, 26702.75921747, 26960.44887525,\n", " 27066.83062975, 26638.57233818, 26636.88207672, 27326.19853941,\n", " 26900.83561322, 26931.97729053, 26599.46245532, 27348.70514627,\n", " 26950.12066067, 26695.35062517, 26729.06808538, 26998.34292279,\n", " 27019.78429031, 26763.23333842, 27147.21522235, 26754.26076967,\n", " 26655.98520353, 27086.3651111 , 26652.40607143, 27091.7757577 ,\n", " 27062.96184973, 27105.95015082, 26792.60176359, 27127.00319873,\n", " 27050.079599 , 26845.32238507, 27226.1787699 , 26931.21354275,\n", " 26680.03663918, 26945.87861519, 27201.82207787, 26941.14577377,\n", " 26893.08110167, 26805.7467604 , 27194.65948651, 26793.96677552,\n", " 27206.19599613, 27224.62796493, 26875.27332831, 27283.97611498,\n", " 26983.48649331, 27219.68903172, 27052.57102147, 26933.15409584,\n", " 27139.31217806, 26976.22048026, 26774.99891765, 26942.74073873,\n", " 27038.3178845 , 27087.09341814, 26995.69255902, 26946.14042527,\n", " 26903.47898471, 26733.12804219, 27300.39468856, 27033.12914345,\n", " 27234.96606573, 27323.80585794, 27321.96344636, 26843.46999031,\n", " 26674.17193316, 26972.83513715, 27146.64170615, 26489.85474017,\n", " 27210.57478495, 27165.28016939, 27195.45813929, 26727.86490468,\n", " 27104.78719821, 27051.34953546, 26836.93814066, 26592.54776213,\n", " 26703.80227206, 26855.44832291, 26593.15487319, 26671.55142006,\n", " 27236.79514512, 27169.13090286, 27250.99331408, 26833.65624651,\n", " 26943.85545535, 26832.80716137, 26777.88560215, 26914.76627881,\n", " 27097.62559952, 26963.72096872, 26797.53748958, 26941.24868294,\n", " 26658.10570875, 26719.42705881, 27128.30406468, 27038.41144606,\n", " 26989.98023337, 26780.44553277, 26643.26778624, 27122.50113836,\n", " 26820.2468365 , 26743.371561 , 26625.22120759, 26910.22885212,\n", " 26676.67434759, 26931.08841229, 27028.30751521, 26715.73606702,\n", " 27097.83048853, 26752.17630407, 26671.09756155, 26755.26600278,\n", " 26370.7931108 , 26928.53647969, 27075.80042784, 26578.35985294,\n", " 27002.0644265 , 27019.44718263, 26924.43204291, 27396.64607862,\n", " 27166.88130204, 26738.05290813, 26911.29195765, 26870.85296559,\n", " 26996.29539281, 27051.67225526, 26675.14343869, 26936.77477091,\n", " 26994.14449431, 26636.99318269, 26754.42383871, 26852.07254784,\n", " 27023.25751189, 27078.57722094, 26665.21185785, 27378.73907689,\n", " 26990.43019433, 27042.00311502, 26535.25252992, 27217.66345914,\n", " 26864.36032814, 26728.99675236, 26810.25495155, 27081.33425362,\n", " 26610.70127851, 26750.27968439, 26660.33556415, 26502.09070115,\n", " 26759.74644598, 26331.88707073, 26953.62290489, 27225.54555162,\n", " 26803.85604939, 27015.80260236, 27063.97236074, 27385.62714809,\n", " 27314.66456811, 26605.24572727, 27196.06336614, 26540.36402604,\n", " 26714.60999015, 27070.9127378 , 26624.93717501, 26768.40846424,\n", " 26654.76203627, 26499.09780301, 26631.22707081, 26920.58225453,\n", " 26877.40880054, 27082.2237341 , 26827.86981599, 27183.80817945,\n", " 27254.65759647, 26986.3498665 , 26891.20102975, 26772.17730581,\n", " 27022.56291652, 27222.27181425, 27032.95585834, 26425.61520155,\n", " 26990.75731642, 27025.2380441 , 27350.73641571, 26586.64903611,\n", " 26649.97317418, 27111.79872903, 26925.84914513, 26846.22885122,\n", " 27101.85249399, 26902.73954691, 26984.05823343, 27023.62942578,\n", " 27034.21271529, 27017.04554648, 26768.6557724 , 26518.5160293 ,\n", " 26836.093973 , 27304.38452298, 27475.42373782, 26828.68336861,\n", " 26861.25909624, 26845.25731839, 26656.6082006 , 27407.50248621,\n", " 27059.52042785, 26616.03753249, 26557.44125806, 26943.8869675 ,\n", " 26898.74692024, 26994.91799687, 27083.65141568, 27085.82309686,\n", " 26841.77912625, 27103.62403982, 27343.12373789, 26845.49505206,\n", " 26532.02269793, 27032.98876105, 27053.56903534, 27411.25022777,\n", " 27029.58842804, 26929.58851687, 26818.69960195, 27306.97990886,\n", " 26495.64048647, 26792.38926062, 26833.75249299, 26909.81195161,\n", " 27208.8970663 , 26952.93021651, 27031.57025867, 26887.10128666,\n", " 26771.66893823, 26523.07005484, 27362.29681554, 26927.53837938,\n", " 26917.88028539, 26900.10269084, 27240.5227911 , 27081.44638233,\n", " 26677.93446405, 26917.97260646, 26836.60271979, 26461.22083287,\n", " 27281.22945966, 27273.74150261, 26976.44476805, 26875.84043766,\n", " 27106.3293943 , 26799.52335095, 27007.24644262, 26665.16966301,\n", " 27304.18394391, 27274.59688309, 26698.09233131, 26791.34443134,\n", " 26933.52542265, 27092.15719432, 27459.08034851, 26978.15558848,\n", " 26720.64676711, 27305.78954085, 26858.61814665, 26297.59172422,\n", " 26943.93494132, 26793.18115764, 26675.93582648, 27329.56087595,\n", " 26623.85064432, 26954.93895181, 27006.99634429, 26972.19643487,\n", " 26548.91205334, 26700.5882683 , 27218.44546661, 26653.55229226,\n", " 26677.28514474, 26748.3959728 , 26915.79737455, 27158.97192811,\n", " 27290.58173574, 27086.98581331, 27006.43260782, 27106.01510998,\n", " 26701.22838215, 26578.52101416, 26722.69176413, 27027.26101764,\n", " 26762.08980586, 27096.09446463, 26943.22569795, 26505.59147123,\n", " 26863.34213189, 26494.20132514, 26753.72611516, 26778.60980042,\n", " 27008.33743502, 26985.91717751, 26615.82439677, 26866.19639427,\n", " 27206.61338108, 26607.41840873, 26832.85939927, 26838.13637565,\n", " 26850.27608958, 26713.03256229, 27093.70907553, 26728.60490451,\n", " 26721.61336247, 26856.95405826, 26780.65391093, 27152.90060359,\n", " 27065.71310498, 26868.56348521, 26870.46747994, 27160.40631194,\n", " 26603.45129763, 27164.29835919, 27050.25504941, 27038.57219125,\n", " 27114.21399491, 27015.82602835, 26782.83405673, 27119.42172252,\n", " 27207.79904991, 27087.54947541, 26697.06522995, 27025.00358675,\n", " 27463.94277955, 27439.92924195, 26758.2418425 , 27170.83196079,\n", " 27004.1265311 , 26973.39457052, 26824.44913799, 26887.24803323,\n", " 26540.11143709, 26977.01335687, 27026.48820243, 26876.57197134,\n", " 26961.04725683, 26774.41004752, 27028.82952681, 26884.38731073,\n", " 26917.86490144, 27221.46739035, 26567.3547064 , 27437.83066131,\n", " 27007.37053409, 26934.79679098, 26828.67647402, 26918.02157083,\n", " 27102.91594912, 26926.21346822, 26703.24071232, 26752.40561732,\n", " 26910.72499058, 27073.01916917, 26714.79735407, 27113.196917 ,\n", " 26925.71162521, 27427.67784218, 27051.8207997 , 26884.4680432 ,\n", " 26856.70934044, 27114.99783882, 26937.11394529, 26952.30554279,\n", " 26733.23494685, 27091.61448119, 27192.92226796, 27068.805274 ,\n", " 26347.87498413, 27106.86164021, 26970.13665055, 26279.50028187,\n", " 26497.08684322, 27254.38245243, 26942.48399784, 26898.40060351])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def gaussian_model(x, mu, sigma):\n", " return 1/(np.sqrt(2 * np.pi * sigma**2)) * np.exp( - (x - mu)**2 / (2 * sigma**2) )\n", "\n", "def plot_data_and_model(data, model, opt_sort=False):\n", " data_bins = np.linspace(np.min(data), np.max(data), 21)\n", " data_opts = dict(rwidth=0.8, color='black', alpha=0.25)\n", " model_opts = dict(linewidth=4, color='red', alpha=0.5, linestyle=' ', marker=\".\" )\n", " if opt_sort:\n", " # Note: Critical thing students get wrong a LOT!\n", " # By default, we turn off linestyle, which connects-the-dots in order\n", " # This is bad here, because the data and model are not sorted in order of increasing distance\n", " # Sorting only the data or only the model, by size, will break everything,\n", " # since the model and data are connected point-by-point, they both must be sorted together\n", " # Here we sort by data (distance)\n", " sort_indices = np.argsort(data)\n", " data = data[sort_indices]\n", " model = model[sort_indices]\n", " model_opts = dict(linewidth=4, color='red', alpha=0.5, linestyle='-', marker=\".\" )\n", " font_options = {'family' : 'Arial', 'size' : 16}\n", " plt.rc('font', **font_options)\n", " fig, axis = plt.subplots(figsize=(12,8))\n", " count, bins, patches = axis.hist(data, data_bins, density=True, cumulative=False, label='data', **data_opts)\n", " line = axis.plot(data, model, label='model', **model_opts)\n", " axis.grid()\n", " axis.set_ylabel(\"Population vs Sample\")\n", " axis.set_xlabel(\"Distance\")\n", " axis.legend()\n", " # title = axis.set_title('Guassian model, mu = {:0.1f}, sigma = {:0.1f}'.format(mu, sigma))\n", " title = axis.set_title('Data and Model')\n", " fig.tight_layout()\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Compute the mean and standard deviation of the sample_distances\n", "sample_mean = np.mean(sample_distances)\n", "sample_stdev = np.std(sample_distances)\n", "\n", "# Use the sample mean and stdev as estimates of the population model parameters mu and sigma\n", "population_model = gaussian_model(sample_distances, mu=sample_mean, sigma=sample_stdev)\n", "\n", "# Plot the model and data to see how they compare\n", "fig = plot_data_and_model(sample_distances, population_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice in the plot that the data and the model do not line up exactly. This is to be expected because the sample is just a subset of the population, and any model built from it cannot be a prefect representation of the population. Also notice the vertical axis: it shows the normalize data bin counts, and the probability density of the model. Think of that as probability-per-bin, so that if summed all the bins, the total would be 1.0." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Maximizing Likelihood, Part 1\n", "Previously, we chose the sample mean as an estimate of the population model paramter mu. But how do we know that the sample mean is the best estimator? This is tricky, so let's do it in two parts.\n", "\n", "In Part 1, you will use a computational approach to compute the log-likelihood of a given estimate. Then, in Part 2, we will see that when you compute the log-likelihood for many possible guess values of the estimate, one guess will result in the maximum likelihood." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "For guesses mu=26918.39 and sigma=224.99, the loglikelihood=-6834.98\n" ] } ], "source": [ "# Compute sample mean and stdev, for use as model parameter value guesses\n", "mu_guess = np.mean(sample_distances)\n", "sigma_guess = np.std(sample_distances)\n", "\n", "# For each sample distance, compute the probability modeled by the parameter guesses\n", "probs = np.zeros(len(sample_distances))\n", "for n, distance in enumerate(sample_distances):\n", " probs[n] = gaussian_model(distance, mu=mu_guess, sigma=sigma_guess)\n", "\n", "# Compute and print the log-likelihood as the sum() of the log() of the probabilities\n", "loglikelihood = np.sum(np.log(probs))\n", "print('For guesses mu={:0.2f} and sigma={:0.2f}, the loglikelihood={:0.2f}'.format(mu_guess, \n", " sigma_guess, \n", " loglikelihood))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although the likelihood (the product of the probabilities) is easier to interpret, the loglikelihood has better numerical properties. Products of small and large numbers can cause numerical artifacts, but sum of the logs usually doesnt suffer those same artifacts, and the \"sum(log(things))\" is closely related to the \"product(things)\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Maximizing Likelihood, Part 2\n", "In Part 1, you computed a single log-likelihood for a single mu. In this Part 2, you will apply the predefined function ```compute_loglikelihood()``` to compute an array of log-likelihood values, one for each element in an array of possible mu values.\n", "\n", "The goal then is to determine which single mu guess leads to the single maximum value of the loglikelihood array." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def compute_loglikelihood(samples, mu, sigma=250):\n", " probs = np.zeros(len(samples))\n", " for n, sample in enumerate(samples):\n", " probs[n] = gaussian_model(sample, mu, sigma)\n", " loglikelihood = np.sum(np.log(probs))\n", " return loglikelihood\n", "\n", "def plot_loglikelihoods(mu_guesses, loglikelihoods):\n", " max_loglikelihood = np.max(loglikelihoods)\n", " max_index = np.where(loglikelihoods==max_loglikelihood)\n", " max_guess = mu_guesses[max_index][0]\n", " font_options = {'family' : 'Arial', 'size' : 16}\n", " plt.rc('font', **font_options)\n", " fig, axis = plt.subplots(figsize=(10,6))\n", " axis.plot(mu_guesses, loglikelihoods)\n", " axis.plot(max_guess, max_loglikelihood, marker=\"o\", color=\"red\")\n", " axis.grid()\n", " axis.set_ylabel('Log Likelihoods')\n", " axis.set_xlabel('Guesses for Mu')\n", " axis.set_title('Max Log Likelihood = {:0.1f} \\n was found at Mu = {:0.1f}'.format(max_loglikelihood, \n", " max_guess))\n", " fig.tight_layout()\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "sample_mean = 26918.392414058031\n", "sample_stdev = 224.9870886426813" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Maximum loglikelihood found for best mu guess=[26918.39241406]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Create an array of mu guesses, centered on sample_mean, spread out +/- by sample_stdev\n", "low_guess = sample_mean - 2*sample_stdev\n", "high_guess = sample_mean + 2*sample_stdev\n", "mu_guesses = np.linspace(low_guess, high_guess, 101)\n", "\n", "# Compute the loglikelihood for each model created from each guess value\n", "loglikelihoods = np.zeros(len(mu_guesses))\n", "for n, mu_guess in enumerate(mu_guesses):\n", " loglikelihoods[n] = compute_loglikelihood(sample_distances, mu=mu_guess, sigma=sample_stdev)\n", "\n", "# Find the best guess by using logical indexing, the print and plot the result\n", "best_mu = mu_guesses[loglikelihoods==np.max(loglikelihoods)]\n", "print('Maximum loglikelihood found for best mu guess={}'.format(best_mu))\n", "fig = plot_loglikelihoods(mu_guesses, loglikelihoods)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the guess for mu that gave the maximum likelihood is precisely the same value as the ```sample.mean()```. The ```sample_mean``` is thus said to be the \"Maximum Likelihood Estimator\" of the population mean mu. We call that value of mu the \"Maximum Likelihood Estimator\" of the population mu because, of all the mu values tested, it results in a model population with the greatest likelihood of producing the sample data we have." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Uncertainty and Sample Distributions\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bootstrap and Standard Error\n", "Imagine a National Park where park rangers hike each day as part of maintaining the park trails. They don't always take the same path, but they do record their final distance and time. We'd like to build a statistical model of the variations in daily distance traveled from a limited sample of data from one ranger.\n", "\n", "Your goal is to use bootstrap resampling, computing one mean for each resample, to create a distribution of means, and then compute standard error as a way to quantify the \"uncertainty\" in the sample statistic as an estimator for the population statistic." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "#hide\n", "sample_data = np.array([ -2.56528602e-01, 1.33537708e+00, 3.10605971e+00,\n", " -3.88306749e-01, -3.68273914e-01, 3.27842563e+00,\n", " 1.67486946e+00, -7.78948772e-01, 1.26512009e+00,\n", " -7.26835386e-01, -7.11459507e-01, 7.23924543e-01,\n", " -3.56656049e+00, -3.16983567e+00, -8.24575058e-01,\n", " -1.70566224e+00, 9.68494665e-01, -1.45604815e+00,\n", " -2.44460740e+00, 3.33129754e+00, -3.15526010e-02,\n", " 5.75056409e-01, -2.38949637e+00, -6.08765449e-01,\n", " 7.21845179e-01, -1.78198715e+00, 1.29139604e+00,\n", " -6.41277380e-01, -3.38749959e-03, -6.03413224e-01,\n", " 4.32455637e+00, 6.13005551e-01, -1.45542186e+00,\n", " 2.32508982e+00, -1.74168730e+00, 1.13772719e+00,\n", " -3.17934025e+00, -1.89637210e+00, 1.17372247e+00,\n", " 2.27693316e+00, 1.16273656e+00, 6.08703435e-01,\n", " 2.57792609e-01, -2.07704398e+00, -5.39688417e-01,\n", " -1.27754192e-03, 3.05424445e+00, 1.64723658e+00,\n", " -2.54608031e+00, 1.64816794e+00, 2.49835439e-01,\n", " -3.13844001e-01, 2.28335258e+00, 3.14199904e+00,\n", " 2.96256024e+00, -5.58435046e-01, 5.21575248e-01,\n", " 1.82252686e+00, 3.13109025e+00, 2.41651524e-01,\n", " 8.48682047e-01, -9.72669948e-01, -1.13241325e+00,\n", " 2.90505164e+00, 4.01248006e+00, 1.17597976e+00,\n", " 3.34706580e+00, 2.08327205e+00, 8.97604908e-02,\n", " 2.12279121e+00, 4.49607313e+00, 1.36834792e+00,\n", " 4.58928731e+00, -3.75949021e+00, 3.14380501e+00,\n", " 1.69409414e+00, 9.41985299e-01, 1.74352155e+00,\n", " -2.39513783e+00, 1.16065622e+00, 2.33422514e+00,\n", " 4.59578809e+00, 6.23459563e-01, 6.30127942e-02,\n", " 6.96485913e-01, 3.55080424e+00, 2.39750222e+00,\n", " 7.00479592e-01, 2.80653487e+00, 1.99415510e+00,\n", " 3.75728998e+00, 4.35893812e-01, 1.20467571e+00,\n", " 1.09578369e+00, -1.02702990e+00, 2.51224055e+00,\n", " 2.46211054e+00, 1.97022691e+00, 1.51082573e+00,\n", " -8.30741484e-01, 1.17870935e+00, 1.35457097e+00,\n", " 4.55445462e-01, 1.75742858e+00, 2.90810171e+00,\n", " 5.89237180e+00, 2.48915563e+00, 2.67510078e+00,\n", " 2.03110817e+00, -1.63754243e+00, 2.16697225e+00,\n", " 2.36046042e+00, 7.18648422e+00, 1.89527807e+00,\n", " 2.90309468e+00, 2.25057646e+00, 2.64392476e-03,\n", " 4.64564563e+00, 3.88386607e+00, 3.98206389e+00,\n", " 6.01225090e-01, 5.24558862e+00, -3.43702126e-01,\n", " 3.65371419e+00, 6.88091125e+00, 5.38927350e-01,\n", " 1.40740454e+00, 2.75930273e+00, 1.57304869e+00,\n", " -5.01326862e-01, 2.75712595e+00, 5.15392573e-01,\n", " 3.60718486e+00, 8.41151532e-01, 5.79986881e+00,\n", " 1.15349342e+00, 2.09587697e+00, 4.38703443e+00,\n", " 3.18271367e-01, 3.25491987e+00, 5.43428551e+00,\n", " -3.74966469e-01, 3.22926772e+00, 3.39976559e+00,\n", " 4.46364574e+00, 4.46098578e-01, 2.99086774e-01,\n", " 4.00388313e+00, 3.57396935e+00, 3.50098570e+00,\n", " 3.71289642e+00, 1.67995056e+00, 3.52450739e+00,\n", " 3.66614495e+00, 1.67129716e+00, 6.85154902e+00,\n", " 4.08766584e+00, 7.77393006e-01, 4.49310722e+00,\n", " 1.25063666e+00, 4.79416921e+00, 5.55719116e+00,\n", " 1.61863536e+00, 5.20675226e+00, 4.12556185e+00,\n", " 4.96412032e+00, 7.13358597e+00, 2.86922377e+00,\n", " 1.87252767e+00, 1.62097114e+00, 1.78837943e+00,\n", " 3.28579658e+00, 4.14230395e+00, 4.03338160e+00,\n", " 5.15436650e+00, 3.54600378e+00, 6.44706815e+00,\n", " 3.03068633e+00, 9.02033833e+00, 4.85133470e+00,\n", " 1.90568489e+00, 1.49821500e+00, 4.62494483e+00,\n", " 3.23307443e+00, 5.12800099e+00, 4.66647525e+00,\n", " 3.59434217e+00, 2.06641256e+00, 7.50305551e-01,\n", " 2.90697010e+00, 5.53279759e+00, 4.26818749e+00,\n", " 1.36852244e+00, 4.22636185e+00, 4.67063476e+00,\n", " 2.15228513e+00, 4.24745021e+00, 4.07641744e+00,\n", " 1.69405940e+00, 4.71557472e+00, 5.14156905e+00,\n", " 6.20610249e+00, 6.16760410e+00, 1.32466126e+00,\n", " 2.22434992e+00, 5.15007053e+00, 5.16757190e+00,\n", " 5.19009537e+00, 1.18854630e+01, 5.34178102e+00,\n", " 6.49113128e+00, 6.14800353e+00, 5.56278250e+00,\n", " 3.64946151e+00, 5.81793844e+00, 2.77434957e+00,\n", " 3.86636279e+00, 3.38927290e+00, 4.54374828e+00,\n", " 9.02931713e+00, 6.85469615e-01, 5.81252038e+00,\n", " 1.23456826e+00, 3.53613627e+00, 6.67790119e+00,\n", " 4.64856004e+00, 2.38451044e+00, 3.12939258e+00,\n", " 5.93919550e+00, 3.13926674e+00, 5.05291718e+00,\n", " 4.73114368e+00, 3.35679930e+00, 8.96788818e+00,\n", " 5.96783804e+00, 6.69714827e-01, 5.11290863e+00,\n", " 3.43642707e+00, 6.48486667e+00, 3.21495852e+00,\n", " 4.59052712e+00, 5.84997456e+00, 6.59151039e+00,\n", " 2.47940719e+00, 4.23099753e+00, 3.97010938e+00,\n", " 3.63334153e+00, 8.49090848e+00, 5.78996342e+00,\n", " 2.47823209e+00, 6.85572389e+00, 9.28431239e+00,\n", " 7.12493052e+00, 2.04126007e+00, 4.13153185e+00,\n", " 7.65382230e+00, 3.72466107e+00, 6.04763886e+00,\n", " 6.72926811e+00, 3.34613906e+00, 5.10094929e+00,\n", " -1.24253468e+00, 3.21122472e+00, 4.77486370e+00,\n", " 2.80443364e+00, 8.58482261e+00, 2.47971724e+00,\n", " 4.47991103e+00, 5.64148115e+00, 8.28254658e+00,\n", " 2.54827570e+00, 7.76632750e+00, 5.48046612e+00,\n", " 3.51698270e+00, 6.42420695e+00, 5.91811939e+00,\n", " 4.33956625e+00, 5.69960417e+00, 4.80937281e+00,\n", " 5.82703469e+00, 6.94426135e+00, 8.81203363e+00,\n", " 3.18436900e+00, 9.94606675e+00, 1.79582440e+00,\n", " 5.41642981e+00, 6.91663441e+00, 6.32198374e+00,\n", " 4.53460096e+00, 5.38375550e+00, 4.83399813e+00,\n", " 4.66127049e+00, 7.55920419e+00, 6.59403097e+00,\n", " 4.51418081e+00, 7.71919975e+00, 6.55459904e+00,\n", " 7.58572424e+00, 7.23925768e+00, 4.34200998e+00,\n", " 4.89963792e+00, 7.53458721e+00, 7.28074053e+00,\n", " 6.03819681e+00, 6.33465477e+00, 8.67532979e+00,\n", " 4.95685722e+00, 7.25419476e+00, 5.77561470e+00,\n", " 5.76463759e+00, 8.41755370e+00, 7.89083270e+00,\n", " 7.88701927e+00, 8.89095761e+00, 6.34200768e+00,\n", " 7.68390594e+00, 5.71946649e+00, 7.00833270e+00,\n", " 6.11971389e+00, 6.59399193e+00, 7.61031405e+00,\n", " 4.80355863e+00, 1.06447746e+01, 4.46796524e+00,\n", " 4.07162277e+00, 8.83622175e+00, 8.12332539e+00,\n", " 7.80823963e+00, 7.83669102e+00, 6.57550645e+00,\n", " 4.82549126e+00, 6.79160912e+00, 5.30567658e+00,\n", " 8.63023947e+00, 6.40588524e+00, 5.06900561e+00,\n", " 6.09722832e+00, 7.58586291e+00, 5.65255089e+00,\n", " 5.15555921e+00, 7.30737442e+00, 7.32993314e+00,\n", " 5.84611365e+00, 5.93792339e+00, 7.36409987e+00,\n", " 4.02383132e+00, 4.12507245e+00, 5.52311156e+00,\n", " 6.55310570e+00, 7.62181513e+00, 9.97071243e+00,\n", " 8.75531925e+00, 6.74012294e+00, 7.04196758e+00,\n", " 5.09494127e+00, 7.08297373e+00, 6.56268272e+00,\n", " 7.80543712e+00, 5.52553811e+00, 8.23869303e+00,\n", " 1.02854778e+01, 7.02247970e+00, 8.06342344e+00,\n", " 8.66028798e+00, 6.49755906e+00, 7.76818496e+00,\n", " 7.36518480e+00, 7.55535220e+00, 5.83398043e+00,\n", " 7.44902035e+00, 8.41599658e+00, 1.03422872e+01,\n", " 9.37854165e+00, 1.17863649e+01, 5.96530487e+00,\n", " 9.26464127e+00, 7.90668401e+00, 1.19396059e+01,\n", " 5.96340343e+00, 5.92055632e+00, 6.42121471e+00,\n", " 3.39220855e+00, 6.60848996e+00, 6.16173468e+00,\n", " 8.00078757e+00, 8.40351195e+00, 1.14923417e+01,\n", " 9.66084768e+00, 6.62619269e+00, 6.00317066e+00,\n", " 8.80383834e+00, 5.19953359e+00, 1.15229175e+01,\n", " 1.02388802e+01, 6.96164870e+00, 4.49373094e+00,\n", " 1.06477447e+01, 7.73092031e+00, 1.04556326e+01,\n", " 4.81114468e+00, 6.82124995e+00, 8.05048740e+00,\n", " 8.15396119e+00, 7.17986906e+00, 9.34569986e+00,\n", " 5.98475914e+00, 7.85524103e+00, 8.40059126e+00,\n", " 9.20887767e+00, 9.62322976e+00, 5.97071582e+00,\n", " 5.17177166e+00, 1.08153536e+01, 8.94462802e+00,\n", " 6.80302693e+00, 1.14223040e+01, 8.57134927e+00,\n", " 1.07185944e+01, 8.51503696e+00, 1.25214958e+01,\n", " 1.19306817e+01, 7.94207170e+00, 1.04031419e+01,\n", " 9.77075190e+00, 1.12372631e+01, 6.59015308e+00,\n", " 9.91210292e+00, 1.06768490e+01, 5.06252103e+00,\n", " 6.23348297e+00, 4.54153564e+00, 8.10118633e+00,\n", " 1.00950845e+01, 1.16847141e+01, 8.84818956e+00,\n", " 1.19772311e+01, 5.97979708e+00, 5.35323512e+00,\n", " 8.66890460e+00, 9.56813090e+00, 8.75461050e+00,\n", " 4.70511580e+00, 8.68175992e+00, 6.27106100e+00,\n", " 1.02393451e+01, 9.65319649e+00, 7.06024043e+00,\n", " 7.93226617e+00, 6.86157296e+00, 8.87464181e+00,\n", " 1.09302846e+01, 7.06854791e+00, 1.00680930e+01,\n", " 8.01948476e+00, 7.51425434e+00, 8.90593928e+00,\n", " 7.06951536e+00, 8.05270139e+00, 6.78424421e+00,\n", " 1.31294503e+01, 9.29052710e+00, 7.84054898e+00,\n", " 9.68795982e+00, 9.05534390e+00, 8.85806080e+00,\n", " 1.05483334e+01, 1.08550154e+01, 8.29899770e+00,\n", " 8.22836352e+00, 8.84989661e+00, 4.81615767e+00,\n", " 6.40961788e+00, 1.21937485e+01, 1.27699354e+01,\n", " 9.00192792e+00, 1.06731139e+01, 1.01625003e+01,\n", " 1.57177616e+01, 1.18191498e+01, 9.34416482e+00,\n", " 7.70891912e+00, 6.42710736e+00, 1.00669273e+01,\n", " 8.16729851e+00, 6.85549258e+00, 8.42685423e+00,\n", " 7.57690399e+00, 1.31342833e+01, 1.15432795e+01,\n", " 9.78405472e+00, 1.27798883e+01, 9.99473662e+00,\n", " 8.13743160e+00, 1.29262482e+01, 1.09778201e+01,\n", " 7.84550769e+00, 9.55932264e+00, 8.20876349e+00,\n", " 7.21440054e+00])" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "def plot_data_hist(y):\n", " font_options = {'family' : 'Arial', 'size' : 16}\n", " plt.rc('font', **font_options)\n", " fig, axis = plt.subplots(figsize=(10,6))\n", " data_opts = dict(rwidth=0.8, color='blue', alpha=0.5)\n", " bin_range = np.max(y) - np.min(y)\n", " bin_edges = np.linspace(np.min(y), np.max(y), 21)\n", " plt.hist(y, bins=bin_edges, **data_opts)\n", " axis.set_xlim(np.min(y) - 0.5*bin_range, np.max(y) + 0.5*bin_range)\n", " axis.grid(\"on\")\n", " axis.set_ylabel(\"Resample Counts per Bin\")\n", " axis.set_xlabel(\"Resample Means\")\n", " axis.set_title(\"Resample Count = {}, \\nMean = {:0.2f}, Std Error = {:0.2f}\".format(len(y), \n", " np.mean(y), \n", " np.std(y)))\n", " fig.tight_layout()\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "num_resamples = 100\n", "resample_size = 500\n", "bootstrap_means = np.zeros(num_resamples)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Bootstrap Distribution: center=5.0, spread=0.1\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Use the sample_data as a model for the population\n", "population_model = sample_data\n", "\n", "# Resample the population_model 100 times, computing the mean each sample\n", "for nr in range(num_resamples):\n", " bootstrap_sample = np.random.choice(population_model, size=resample_size, replace=True)\n", " bootstrap_means[nr] = np.mean(bootstrap_sample)\n", "\n", "# Compute and print the mean, stdev of the resample distribution of means\n", "distribution_mean = np.mean(bootstrap_means)\n", "standard_error = np.std(bootstrap_means)\n", "print('Bootstrap Distribution: center={:0.1f}, spread={:0.1f}'.format(distribution_mean, standard_error))\n", "\n", "# Plot the bootstrap resample distribution of means\n", "fig = plot_data_hist(bootstrap_means)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that standard_error is just one measure of spread of the distribution of bootstrap resample means. You could have computed the confidence_interval using ```np.percentile(bootstrap_means, 0.95)``` and ```np.percentile(bootstrap_means, 0.05)``` to find the range distance values containing the inner 90% of the distribution of means." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Estimating Speed and Confidence\n", "Let's continue looking at the National Park hiking data. Notice that some distances are negative because they walked in the opposite direction from the trail head; the data are messy so let's just focus on the overall trend.\n", "\n", "In this exercise, you goal is to use boot-strap resampling to find the distribution of speed values for a linear model, and then from that distribution, compute the best estimate for the speed and the 90th percent confidence interval of that estimate. The speed here is the slope parameter from the linear regression model to fit distance as a function of time." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def least_squares(x, y):\n", " x_mean = np.sum(x)/len(x)\n", " y_mean = np.sum(y)/len(y)\n", " x_dev = x - x_mean\n", " y_dev = y - y_mean\n", " a1 = np.sum(x_dev * y_dev) / np.sum( np.square(x_dev) )\n", " a0 = y_mean - (a1 * x_mean)\n", " return a0, a1" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "distances = pd.read_csv('./dataset/distances.csv', index_col=0).to_numpy()\n", "times = pd.read_csv('./dataset/times.csv', index_col=0).to_numpy()\n", "resample_speeds = np.zeros(num_resamples)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Speed Estimate = 2.04, 90% Confidence Interval: 1.03, 2.88 \n" ] } ], "source": [ "# Resample each preloaded population, and compute speed distribution\n", "population_inds = np.arange(0, 99, dtype=int)\n", "for nr in range(num_resamples):\n", " sample_inds = np.random.choice(population_inds, size=100, replace=True)\n", " sample_inds.sort()\n", " sample_distances = distances[sample_inds]\n", " sample_times = times[sample_inds]\n", " a0, a1 = least_squares(sample_times, sample_distances)\n", " resample_speeds[nr] = a1\n", "\n", "# Compute effect size and confidence interval, and print\n", "speed_estimate = np.mean(resample_speeds)\n", "ci_90 = np.percentile(resample_speeds, [5, 95])\n", "print('Speed Estimate = {:0.2f}, 90% Confidence Interval: {:0.2f}, {:0.2f} '.format(speed_estimate,\n", " ci_90[0],\n", " ci_90[1]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Notice that the speed estimate (the mean) falls inside the confidence interval (the 5th and 95th percentiles). Moreover, notice if you computed the standard error, it would also fit inside the confidence interval. Think of the standard error here as the 'one sigma' confidence interval. Note that this should be very similar to the summary output of a statsmodels ols() linear regression model, but here you can compute arbitrary percentiles because you have the entire speeds distribution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualize the Bootstrap\n", "Continuing where we left off earlier in this lesson, let's visualize the bootstrap distribution of speeds estimated using bootstrap resampling, where we computed a least-squares fit to the slope for every sample to test the variation or uncertainty in our slope estimation." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "def compute_resample_speeds(distances, times):\n", " num_resamples = 1000\n", " population_inds = np.arange(0, 99, dtype=int)\n", " resample_speeds = np.zeros(num_resamples)\n", " for nr in range(num_resamples):\n", " sample_inds = np.random.choice(population_inds, size=100, replace=True)\n", " sample_inds.sort()\n", " sample_distances = distances[sample_inds]\n", " sample_times = times[sample_inds]\n", " a0, a1 = least_squares(sample_times, sample_distances)\n", " resample_speeds[nr] = a1\n", " \n", " return resample_speeds" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAE2CAYAAACwbpwsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deZRV1Z238efHYAECBUqJQ6TBMWlbnArF2cZEiOLQRk1I3naIttE0RGwxGgbFGIyJthJsI5qYxpgOalzYMcYXIyhqouYVVwukY5B2whljRAYRIbXfP+6lurhWQVVx6tSty/NZ665btfc+5+7NXsqXffY9J1JKSJIkqe11au8OSJIkbS0MXpIkSTkxeEmSJOXE4CVJkpQTg5ckSVJODF6SJEk5aXHwioiTImLlJur7RcS7ETG5pLwqIm6MiLcjYmVE3BsRO7eiz5IkSR1Si4JXRBwG/AyITTSbBvRrpHw6cCZwOXAOsB/wYER0bkkfJEmSOqouzWkUEVXARcDVwGpgmybanQgcB3xUUr47hdD15ZTS3cWyBcBi4GRg1qY+v1+/fmngwIHN6apUkRYvLrzvvXf79kP5W1yc/L2dfBX5/4Py9+yzz/45pVTTWF2zghfweeBbwKXA9sAlpQ0iohq4pVj3g5LqYcX3BzYUpJSWRMR/AyPYTPAaOHAg8+fPb2ZXpcpzzDGF93nz2rMXag/HFCd/npOvIv9/UP4i4tWm6pp7qfEZYFBKaRrQ1DOGrgf+mFK6o5G6vYC3U0qrS8pfKtZJkiRVvGateKWU3thUfUQMA0YB+zbRpDfQ2Ib8lcCuTZzzfOB8gAEDBjSnm5IkSWVti28nERE9gB8BV6aUXm6qGY2vlAVQ19gBKaXbUkq1KaXamppGL5NKkiR1KFncx2sK8AHwbxHRJSI2rKJ1avDzB0CvRo7tWayTJEmqeFkEr38ADqDwTcZ1xVc1MKn4M8ASYMeI6F5y7G4UvtkoSZJU8bIIXicCQ0peqyhcfhxSbDMX6FxsC0BE7AnsU6yTJEmqeM29nUSTUkqLSssi4q/Amyml+cU2L0bEL4AfFW878T7wXWAh8J9b2geAFStWsGzZMtatW7f5xip7Xbp0oVu3btTU1NCtW7f27o4kSZnY4uDVAucANwLfo7DSNgf4Rkrpr1t64hUrVvDOO++wyy670L17dyI2dWN9lbuUEuvXr2fVqlUsXbqU/v37U11d3d7dkiRpi7U4eKWUJgOTN9OmTyNlqyncHuL8ln7m5ixbtoxddtmFHj16ZH1qtYOIoGvXrvTt25eqqirefvttg5ckqSJkscer3a1bt47u3Uv37asSdO/enbVr17Z3NyRJykRFBC/Ay4sVynmVJFWSPPd4SVJZmrloZubnHLXvqMzPKanjq5gVLzUupaYerVmZnytJUjkzeJWhY445hoho8nXttddu9hxr167loosu4pe//GV92cCBAxk9enRbdh2AH/3oR0yaNKnNP0eSpI7GS41l6vDDD+f6669vtK45Dw1/6623mDZtGkceeWR92X333Uffvn0z62NTpkyZwsiRI9v8cyRJ6mgMXmWqT58+DB06NNNzHnDAAZmeT5IktYyXGjuw6667jj322INu3bqx++67c/XVV1NXV8crr7zCoEGDADj99NM55phjgI0vNc6YMYN+/foxe/Zs9t13X7p168bBBx/M888/z3333cfee+9Nz549GTlyJMuWLav/zLfeeouvfvWr7LzzznTt2pWdd96ZsWPH1t/yYeDAgbz66qvcfPPNG30j8dlnn+XYY4+lR48e1NTUMGbMGD788MOc/qQkSSoPrniVqQ13b29Mly5duPvuu5k0aRI33HAD++yzD08++SQTJkxghx124Oyzz2bWrFmceuqpXHPNNZx88smNnmflypVceOGFTJkyhW233ZYLLriAE044gW7dunHNNdfw3nvv8Y1vfINJkyZx6623UldXx4gRI4gIbr75Zqqrq3nooYf4/ve/z+67786YMWO47777OP744zniiCO45JJLAPjjH//IUUcdxaGHHso999zDsmXLuPzyy3n55Zd54IEH2uzPUJKkclOxwWvs2LE899xz7dqH/fffn6lTp7bq2AcffJCuXbs2WrdmzRoef/xxBg4cyIUXXkhEcPTRR9evQFVVVdVfVtxzzz3527/920bP8/HHH3PttdfyxS9+EYCnn36aa6+9lscee4yjjjoKgCeeeILf//73ALzxxhv07duXadOmMXjwYACGDRvG7NmzeeyxxxgzZgwHHHAAVVVV9O/fv/5S6dVXX03//v359a9/TVVVVX2/jjrqKB5//PH6z5IkqdJVbPDq6I444ghuvPHGRuuqqqo47LDD+OEPf8iQ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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Create the bootstrap distribution of speeds\n", "resample_speeds = compute_resample_speeds(distances, times)\n", "speed_estimate = np.mean(resample_speeds)\n", "percentiles = np.percentile(resample_speeds, [5, 95])\n", "\n", "# Plot the histogram with the estimate and confidence interval\n", "fig, axis = plt.subplots()\n", "hist_bin_edges = np.linspace(0.0, 4.0, 21)\n", "axis.hist(resample_speeds, bins=hist_bin_edges, color='green', alpha=0.35, rwidth=0.8)\n", "axis.axvline(speed_estimate, label='Estimate', color='black')\n", "axis.axvline(percentiles[0], label=' 5th', color='blue')\n", "axis.axvline(percentiles[1], label='95th', color='blue')\n", "axis.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Notice that vertical lines marking the 5th (left) and 95th (right) percentiles mark the extent of the confidence interval, while the speed estimate (center line) is the mean of the distribution and falls between them. Note the speed estimate is the mean, not the median, which would be 50% percentile." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Errors and Randomness\n", "- Types of Errors\n", " - Measurement error\n", " - Broken sensor, wrongly recorded measurement\n", " - Sampling bias\n", " - temperature only from august, when days are hottest\n", " - Random chance\n", "- Null Hypothesis\n", " - qustion: Is our effect due a relationship or due to random chance\n", " - answer: check the null hypothesis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Test Statistics and Effect Size\n", "How can we explore linear relationships with bootstrap resampling? Back to the trail! For each hike plotted as one point, we can see that there is a linear relationship between total distance traveled and time elapsed. It we treat the distance traveled as an \"effect\" of time elapsed, then we can explore the underlying connection between linear regression and statistical inference.\n", "\n", "In this exercise, you will separate the data into two populations, or \"categories\": early times and late times. Then you will look at the differences between the total distance traveled within each population. This difference will serve as a \"test statistic\", and it's distribution will test the effect of separating distances by times." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "population_inds = np.arange(0, 1000, dtype=int)\n", "sample_inds = np.random.choice(population_inds, size=1000, replace=True)\n", "sample_inds.sort()\n", "sample_distances = distances[sample_inds]\n", "sample_times = times[sample_inds]" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "def plot_test_statistic(test_statistic, label=''):\n", " \"\"\"\n", " Purpose: Plot the test statistic array as a histogram\n", " Args:\n", " test_statistic (np.array): an array of test statistic values, e.g. resample2 - resample1\n", " Returns:\n", " fig (plt.figure): matplotlib figure object\n", " \"\"\"\n", " t_mean = np.mean(test_statistic)\n", " t_std = np.std(test_statistic)\n", " t_min = np.min(test_statistic)\n", " t_max = np.max(test_statistic)\n", " bin_edges = np.linspace(t_min, t_max, 21)\n", " data_opts = dict(rwidth=0.8, color='blue', alpha=0.5)\n", " fig, axis = plt.subplots(figsize=(12,4))\n", " plt.hist(test_statistic, bins=bin_edges, **data_opts)\n", " axis.grid()\n", " axis.set_ylabel(\"Bin Counts\")\n", " axis.set_xlabel(\"Distance Differences, late - early\")\n", "# title_form = \"Test Statistic Distribution, \\nMean = {:0.2f}, Std Error = {:0.2f}\"\n", " title_form = \"{} Groups: Test Statistic Distribution, \\nMean = {:0.2f}, Std Error = {:0.2f}\"\n", " axis.set_title(title_form.format(label, t_mean, t_std))\n", "# axis.set_title(title_form.format(t_mean, t_std))\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test Statistic: mean=10.28, stdev=5.04\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Create two poulations, sample_distances for early and late sample_times.\n", "# Then resample with replacement, taking 500 random draws from each population.\n", "group_duration_short = sample_distances[sample_times < 5]\n", "group_duration_long = sample_distances[sample_times > 5]\n", "resample_short = np.random.choice(group_duration_short, size=500, replace=True)\n", "resample_long = np.random.choice(group_duration_long, size=500, replace=True)\n", "\n", "# Difference the resamples to compute a test statistic distribution, then compute its mean and stdev\n", "test_statistic = resample_long - resample_short\n", "effect_size = np.mean(test_statistic)\n", "standard_error = np.std(test_statistic)\n", "\n", "# Print and plot the results\n", "print('Test Statistic: mean={:0.2f}, stdev={:0.2f}'.format(effect_size, standard_error))\n", "fig = plot_test_statistic(test_statistic)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice again, the test statistic is the difference between a distance drawn from short duration trips and one drawn from long duration trips. The distribution of difference values is built up from differencing each point in the early time range with one from the late time range. The mean of the test statistic is not zero and tells us that there is on average a difference in distance traveled when comparing short and long duration trips. Again, we call this the 'effect size'. The time increase had an effect on distance traveled. The standard error of the test statistic distribution is not zero, so there is some spread in that distribution, or put another way, uncertainty in the size of the effect." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Null Hypothesis\n", "n this exercise, we formulate the null hypothesis as\n", "\n", "> short and long time durations have no effect on total distance traveled.\n", "\n", "We interpret the \"zero effect size\" to mean that if we shuffled samples between short and long times, so that two new samples each have a mix of short and long duration trips, and then compute the test statistic, on average it will be zero." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test Statistic, after shuffling, mean = -0.18336221104035466\n" ] } ], "source": [ "# Shuffle the time-ordered distances, then slice the result into two populations.\n", "shuffle_bucket = np.concatenate((group_duration_short, group_duration_long))\n", "np.random.shuffle(shuffle_bucket)\n", "slice_index = len(shuffle_bucket)//2\n", "shuffled_half1 = shuffle_bucket[0:slice_index]\n", "shuffled_half2 = shuffle_bucket[slice_index:]\n", "\n", "# Create new samples from each shuffled population, and compute the test statistic\n", "resample_half1 = np.random.choice(shuffled_half1, size=500, replace=True)\n", "resample_half2 = np.random.choice(shuffled_half2, size=500, replace=True)\n", "test_statistic = resample_half2 - resample_half1\n", "\n", "# Compute and print the effect size\n", "effect_size = np.mean(test_statistic)\n", "print('Test Statistic, after shuffling, mean = {}'.format(effect_size))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that your effect size is not exactly zero because there is noise in the data. But the effect size is much closer to zero than before shuffling. Notice that if you rerun your code, which will generate a new shuffle, you will get slightly different results each time for the effect size, but np.abs(test_statistic) should be less than about 1.0, due to the noise, as opposed to the slope, which was about 2.0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing Test Statistics\n", "In this exercise, you will approach the null hypothesis by comparing the distribution of a test statistic arrived at from two different ways.\n", "\n", "First, you will examine two \"populations\", grouped by early and late times, and computing the test statistic distribution. Second, shuffle the two populations, so the data is no longer time ordered, and each has a mix of early and late times, and then recompute the test statistic distribution." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "def shuffle_and_split(sample1, sample2):\n", " shuffled = np.concatenate((sample1, sample2))\n", " np.random.shuffle( shuffled )\n", " half_length = len(shuffled)//2\n", " sample1 = shuffled[0:half_length]\n", " sample2 = shuffled[half_length+1:]\n", " return sample1, sample2" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# From the unshuffled groups, compute the test statistic distribution\n", "resample_short = np.random.choice(group_duration_short, size=500, replace=True)\n", "resample_long = np.random.choice(group_duration_long, size=500, replace=True)\n", "test_statistic_unshuffled = resample_long - resample_short\n", "\n", "# Shuffle two populations, cut in half, and recompute the test statistic\n", "shuffled_half1, shuffled_half2 = shuffle_and_split(group_duration_short, group_duration_long)\n", "resample_half1 = np.random.choice(shuffled_half1, size=500, replace=True)\n", "resample_half2 = np.random.choice(shuffled_half2, size=500, replace=True)\n", "test_statistic_shuffled = resample_half2 - resample_half1\n", "\n", "# Plot both the unshuffled and shuffled results and compare\n", "fig = plot_test_statistic(test_statistic_unshuffled, label='Unshuffled')\n", "fig = plot_test_statistic(test_statistic_shuffled, label='Shuffled')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that after you shuffle, the effect size went almost to zero and the spread increased, as measured by the standard deviation of the sample statistic, aka the 'standard error'. So shuffling did indeed have an effect. The null hypothesis is disproven. Time ordering does in fact have a non-zero effect on distance traveled. Distance is correlated to time." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Visualizing the P-Value\n", "In this exercise, you will visualize the p-value, the chance that the effect (or \"speed\") we estimated, was the result of random variation in the sample. Your goal is to visualize this as the fraction of points in the shuffled test statistic distribution that fall to the right of the mean of the test statistic (\"effect size\") computed from the unshuffled samples." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "def plot_test_stats_and_pvalue(test_statistic, shuffle_statistic):\n", " \"\"\"\n", " Purpose: Plot the test statistic array as a histogram\n", " Args:\n", " test_statistic (np.array): an array of test statistic values, e.g. resample2 - resample1\n", " shuffle_statistic (np.array): an array of test statistic values, from shuffled resamples\n", " Returns:\n", " fig (plt.figure): matplotlib figure object\n", " \"\"\"\n", " t_mean = np.mean(test_statistic)\n", " t_std = np.std(test_statistic)\n", " t_min = np.min(test_statistic)\n", " t_max = np.max(test_statistic)\n", " effect_size = np.mean(test_statistic)\n", " p_value = len(shuffle_statistic[shuffle_statistic>=effect_size])/len(shuffle_statistic)\n", " \n", " bin_edges = np.linspace(-25, 25, 51)\n", " shuffle_opts = dict(rwidth=0.8, color='blue', alpha=0.35, label='Shuffled')\n", " test_opts = dict(rwidth=0.8, color='red', alpha=0.35, label='Unshuffled')\n", " fig, axis = plt.subplots(figsize=(12,4))\n", " plt.hist(test_statistic, bins=bin_edges, **test_opts)\n", " plt.hist(shuffle_statistic, bins=bin_edges, **shuffle_opts)\n", " axis.axvline(effect_size, color='black', label='Effect Size')\n", " axis.axvspan(effect_size, +25, alpha=0.10, color='black', label='p-value')\n", " axis.grid()\n", " \n", " axis.set_xlim(-25, +25)\n", " axis.set_ylabel(\"Bin Counts\")\n", " axis.set_xlabel(\"Test Statistic Values\")\n", " title_form = (\"Test Statistic Distibution, \\n\"\n", " \"Effect Size = {:0.2f}, p-value = {:0.02f}\")\n", " axis.set_title(title_form.format(effect_size, p_value))\n", " axis.legend(loc='upper left')\n", "# plt.savefig('../images/stats_pvalue.png')\n", " plt.show()\n", " return fig" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "def compute_test_statistic(sample1, sample2):\n", " resample1 = np.random.choice(sample1, size=500, replace=True)\n", " resample2 = np.random.choice(sample2, size=500, replace=True)\n", " test_statistic = resample2 - resample1\n", " return test_statistic" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The p-value is = 0.122\n" ] }, { "data": { "image/png": "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kEMOidqnRo0aMX36dPr168fw4cMZPnw4tWvX5vTTT+e6666jS5cuUc8L1Q1+M6CBAwdy2GGH8cQTTwAwceLEYvsvIiIiUt4UFlLNdezYkX//+9+FjuzsbJKSkuKuZ86cObRo0YI//OEP7Nixgx07dpCamsrJJ5/M+++/D8DHH39Mp06d8gfWAD169GDp0qXUr18/7rZOPfVUvv/+e2bNmsXgwYNp0aIF06dP58wzz2TYsGHFnn/NNdfw3//+l0mTJpGSkhJ3/0VERETK214/c13SGeOqok6dOnTo0KFQek5Ozm5tkLJ27Vq++eabqEBLgrYAACAASURBVLPgLVq0APxDkO3atSt5Z8PUqFGjQBjIsmXL6N+/Pw888ABXXnllzJnvsWPHMnHiRKZMmcIf/vCH3eq/iIiISHnb6wfX4tWpU4d27drx9NNPF8oLzYDXqVOH1atXF8jbunUrs2fP5oQTToirnfPPP5/t27czZcqUAunNmzfnkUceoX379ixZsiTq4Do7O5shQ4Zw880307Nnz93uv4iIiEh50+BaAB9eMmvWLJo3b06DBg0A/7DkJZdcQtu2bTn88MM58cQTef7558nNzSUtLQ2A2bNn061bN5YsWUKNGjWKbeeggw7ikUceYdGiRbRp06ZA3n//+18SEhIKrM8dsnz5cs4//3xOPvlkRowYUaL+i4js1V56Kb5ywYPiIlIyGlxXcxs2bGD+/PmF0jdt2sQBBxwQdaAaTf/+/Rk7diydO3fmtttuY5999mH8+PFMnjyZ6dOnA3DjjTfy3HPPcfbZZzN06FByc3O55ZZbOPfcc2nZsiVbt24FYObMmaSlpeU/WBjupptuYvLkyZx88skMGjSIE088kYSEBP71r3/x0EMPMXDgQA466KAC52zbto3evXuzfft27rjjDj799NMCS/m1bt06rv6LiIiIlDcNrqu5uXPnxgzJOP3003nvvffiqicjI4MPP/yQm266iWuuuYatW7fStm1b3njjDbp16wb4WecPPviAm266iQsuuIC6dety3nnn8de//hWANm3acOmll3L//fezYMGCqIPaBg0a8Mknn3D//ffz0ksv8be//Q3wA+RRo0Zx1VVXFTpn5cqV+Vuqn3766YXy58yZQ2ZmZrH9FxERESlvGlxXY9nZ2THzIndodM4VyM/KysrfPCakSZMmvFTMrw3bt2/PrFmzouYlJCQwceJEJk6cWGQd9evX56GHHoq6bXu4ZcuW5f85sv/RxNN/ERERkfKkpfhERERERMqIBtciIiIiImVEg2sRERERkTKiwbWIiIiISBnR4FpEREREpIxocC0iIiIiUkY0uBYRERERKSMaXIuIiIiIlBENrkVEREREyogG1yIiIiIiZUSD62osMzOTc845J2reF198gZkVuUX67ujXrx9t27YtdT0bNmygW7dupKSksN9++7Ft2zaef/55mjRpQkpKCg8++CDNmzdnwIABpWpn2bJlmBmTJk0qdZ9FRERE4lWzsjtQJbz0UuW237dv5bZfgf75z3/y1ltvMWHCBFq0aEGtWrW44YYbaNeuHVlZWRx88MGMGzeusrspIiIiUiKVNrg2syRgIfCJc65fkGbAMODPQANgLjDQOfdNZfVTyta6detITU3l8ssvL5DWtWtXTjnllErsmYiIiEjpVWZYyN1Aq4i0u4A7gIeAC4E6wPtmVqeC+7ZHycrKokOHDrz00ku0bNmS5ORkjjnmGD7++OP8Mps2beKqq65i//33JyUlhaOOOorXX3+9UF1jx46lWbNmpKSkkJmZyTff/P5zT7QwldGjR+N/ZvL5WVlZbN68GTMjMzMzP+/mm2/O/3OkTZs2MXDgQBo1apTf7ueff16gzCeffELHjh1JTU3l8MMP57PPPivZxRIREREphUoZXJvZkcD1wJqwtHRgKJDlnBvrnJsGnAmkA1dWRj/3JEuXLuWuu+4iKyuLyZMnk5eXR58+fdixYwcAQ4cOZfbs2YwdO5aZM2fSunVr+vTpw+LFi/PrWLx4Mc899xxjx45lwoQJLF26lIsvvjjuPowbN44rr7ySlJQU5s2bx8SJE5k3bx4AAwcOzP9zOOccPXr04OWXX+a+++7jtddeIzk5mczMTL777jvAx1effvrpJCcnM2nSJPr3788VV1xRmsslIiIiUiIVHhZiZjWBZ4CRQO+wrOOBNGBaKME5t97MPgDOAh6uyH7uaXJycnjvvfc49thjAdi5cyc9e/bkP//5D0cffTQffvghnTt3pk+fPgB07NiRRo0a5Q++Q6ZPn84BBxwAwIoVKxgyZAgbN24kIyOj2D60bt2aJk2akJCQwPHHHw9A06ZN819DaeHeffddZs+ezaxZszjjjDMAOOuss2jTpg0jRozg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skhLSytQx8KFCzEzsrOzycrKIjMzE4Bjjz2WzMzM/Lw333wz/8/RjB07lhYtWpCUlESbNm145ZVXCuT/8ssv9OnThzp16tC4cWMmTpxYwqshIiIiUrk0uK7munbtyrvvvkv37t15+eWX+eWXXwBITExk2LBhHHHEEfllr7/+eq6//nreeOMN6tatywUXXMCqVaviaueqq67i8ccfB+DZZ59l3LhxzJs3jyOPPJKTTjqJefPmcdRRRxU6b/jw4QwZMoQLL7yQ6dOn07lzZ/r27ctrr70GwM6dOznzzDNZsGAB48ePZ9SoUdx9992sWLGitJdGREREpMIpLKSaGzFiBOvWreO5555jxowZALRq1Yru3btz2223Ua9evfyyo0eP5sILLwSgYcOGHH300cyfP58ePXoU206TJk1o3bo1AG3bts3/c0ZGBmlpaRx//PGFztmwYQMPPPAAt9xyC/feey8AXbp0IScnh1tvvZU+ffowc+ZMvvjiC+bNm5dfR8uWLTn66KNLcVVEREREKodmrqu5pKQknnnmGX788UfGjRtH7969+fXXXxk5ciRt27blhx9+yC974okn5v+5efPmgB8Al5f58+ezZcsWzj77bHbs2JF/dO3ale+//54ffviBuXPnUq9evQKD86OOOiq/fyIiIiLViQbXe4gmTZpw7bXX8vrrr7Nq1SrGjRvH6tWrycrKyi+Tmpqa/+eEBP/VR4vXLitr164F/KA+MTEx/+jTpw8AP//8M+vXr6dBgwaFzt1vv/3KrV8iIiIi5UVhIdXY/Pnz6dmzJ9OmTeO4447LT69ZsyaXXHIJ7777LosXL+bUU08tti4zKzTQzs3NLVX/6tSpA8CUKVMKPFgZcuihh1K/fv2ocd+hgbmIiIhIdaKZ62qsZcuW5OTkMHbs2EJ5O3fu5Pvvv497Q5eMjAzy8vIKhImUdo3s4447jsTERFatWkWHDh3yj6+++op77rkH5xynnnoqv/32G7Nnz84/b+nSpXz33XelaltERESkMmjmuhrbZ599GDFiBIMHD2bNmjX069ePJk2asHLlSsaNG8dPP/3E66+/HtcguWvXrgwePJgrr7ySAQMGsHDhQsaNG1eq/jVs2JDrr7+eIUOGsH79eo499lgWLlzI7bffTs+ePcnIyKBz586ccsopXHzxxTz44IPUrl2bO+64g1q1apWq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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Compute the test stat distribution and effect size for two population groups\n", "test_statistic_unshuffled = compute_test_statistic(group_duration_short, group_duration_long)\n", "effect_size = np.mean(test_statistic_unshuffled)\n", "\n", "# Randomize the two populations, and recompute the test stat distribution\n", "shuffled_half1, shuffled_half2 = shuffle_and_split(group_duration_short, group_duration_long)\n", "test_statistic_shuffled = compute_test_statistic(shuffled_half1, shuffled_half2)\n", "\n", "# Compute the p-value as the proportion of shuffled test stat values >= the effect size\n", "condition = test_statistic_shuffled >= effect_size\n", "p_value = len(test_statistic_shuffled[condition]) / len(test_statistic_shuffled)\n", "\n", "# Print p-value and overplot the shuffled and unshuffled test statistic distributions\n", "print(\"The p-value is = {}\".format(p_value))\n", "fig = plot_test_stats_and_pvalue(test_statistic_unshuffled, test_statistic_shuffled)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the entire point of this is compute a p-value to quantify the chance that our estimate for speed could have been obtained by random chance. On the plot, the unshuffle test stats are the distribution of speed values estimated from time-ordered distances. The shuffled test stats are the distribution of speed values computed from randomizing unordered distances. Values of the shuffled stats to the right of the mean non-shuffled effect size line are those that both (1) could have both occured randomly and (2) are at least as big as the estimate you want to use for speed." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }