{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introduction to statistics for Geoscientists (with Python)\n", "### Lecturer: Gerard Gorman\n", "### Lecture 7: Hypothesis testing\n", "### URL: [http://ggorman.github.io/Introduction-to-stats-for-geoscientists/](http://ggorman.github.io/Introduction-to-stats-for-geoscientists/)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inferential statistics\n", "\n", "Given the data below how do we answer questions such as - is the grain size higher in deposit B than deposit A?\n", "\n", "![grain size](http://ggorman.github.io/Introduction-to-stats-for-geoscientists/images/example-grain-size.png)\n", "\n", "Interested in whether energy levels were different in deposits A and B. This will bear on theories of how they formed. The sample from B has a higher mean, but is this just chance variation?\n", "\n", "To answer this question we:\n", "\n", "* Formulate formal hypotheses.\n", "* Apply approperiate statistical hypothesis test." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hypotheses\n", "\n", "We formulate two hypotheses:\n", "The *null hypothesis* (H0):\n", "\n", "> *There is no difference in mean maximum grain size for samples obtained from deposits A and B.*\n", "\n", "...and an *alternative hypothesis* (H1):\n", "\n", "> *The mean maximum grain size is higher in sample B than it is in sample A.*\n", "\n", "Only accept H1 if it is very unlikely that H0 can explain our observations - otherwise reject H1." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Testing hypotheses\n", "\n", "Many different types of statistical tests exist:\n", "\n", "* To test different types of hypothesis.\n", "* To handle different types of data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Student’s T-test\n", "\n", "[The t-statistic was introduced in 1908 by William Sealy Gosset, a chemist working for the Guinness brewery in Dublin, Ireland (\"Student\" was his pen name).](http://en.wikipedia.org/wiki/Student%27s_t-test) Student’s T-test accesses the probability that two samples have same underlying mean. Python provides the method\n", "[scipy.stats.ttest_ind](http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html). This is a test for the null hypothesis that 2 independent samples have identical average (expected) values. This test assumes that the populations have identical variances.\n", "\n", "* Takes two arrays of values (i.e. two samples).\n", "* Returns *t-statistic*, describing how different means are.\n", "* Returns *p-value*, tells you the probability of observing what we did if the null hypothesis is true.\n", "\n", "In the above grain size example the t-statistic and p-values are -1.1 and 0.28 respectively. **Is a probability of 0.28 enough to reject H0?**" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t-statistic = 1.71020326856\n", "p-value = 0.0872298424969\n" ] } ], "source": [ "# Again lets do a trivial example to make sure we know what's going on there. \n", "import scipy.stats as stats\n", "\n", "# Generate two random datasets with a normal distribution and the same mean.\n", "d1 = stats.norm.rvs(size=100000)\n", "d2 = stats.norm.rvs(size=100000)\n", "\n", "# ttest_ind is a two-sided test for the null hypothesis that 2 independent samples\n", "# have identical average (expected) values.\n", "t_statistic, p_value = stats.ttest_ind(d1, d2)\n", "print \"t-statistic = \", t_statistic\n", "print \"p-value = \", p_value" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## P-value\n", "\n", "The p-value is used to determine the likelihood of the null hypothesis were true - it is the probability of observing a more extreme test statistic in the direction of the alternative hypothesis. For example, if the p-value is very small, then it the null hypothesis is \"unlikely.\" If the p-value is larger than some preset threshold, then it is considered \"likely.\"\n", "\n", "Therefore, if the p-value is less than (or equal to) $\\alpha$, then the null hypothesis is rejected in favor of the alternative hypothesis. And, if the P-value is greater than $\\alpha$, then the null hypothesis is not rejected. Commonly the threshold is set at $p=0.05$, but it is arbitrary!\n", "\n", "The steps involved in using the P-value approach to conducting any hypothesis test are:\n", "\n", "* Specify the null and alternative hypotheses and choose the appropriate test.\n", "* Decide the significance level for the p-value, $\\alpha$.\n", "* Calculate the value of the test statistic and the p-value.\n", "* Consider, if the null hypothesis is true, what is the probability that we'd observe a more extreme test statistic in the direction of the alternative hypothesis than we did? Note how this question is equivalent to the question answered in criminal trials: \"If the defendant is innocent, what is the chance that we'd observe such extreme criminal evidence?\"\n", "* If the p-value is less than (or equal to) $\\alpha$, reject the null hypothesis in favor of the alternative hypothesis. Otherwise, accept the null hypothesis.\n", "\n", "> In 2012 chances are that you heard in the news the discovery of the Higgs boson. The phrase *five-sigma* was used to describe the strength of the discovery. This is a p-value of 3x10$^{-7}$. [Read more.](http://blogs.scientificamerican.com/observations/five-sigmawhats-that/)\n", "\n", "In the grain size example above the p-value is 0.28, which is far above the 0.05 significant level. Therefore, the result said to be *not significant* - not enough evidence to reject H0." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Tails and significance levels\n", "\n", "**One-tailed test**: Form hypothesis H1: *The mean maximum grain size is higher in sample B than it is in sample A*. Now we are testing whether the mean of B is greater than mean of A, not different to the mean of A.\n", "\n", "The figure below illustrates the distribution of all possible t-values - the result is significant if value falls into blue region.\t\t" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg0AAAFkCAYAAACjCwibAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xd01FX+//HnOwHUgICKFBcLCixiWQUFcRERUBcUSUII\nRoMFXATBgii6NvxZV13ERlGaIksogSSgKAgo4CoWAjYsK0VB6UjRACGZ+/sjcb+AlMyQ5E55Pc6Z\ns2c+c+fOaw5u8srnfoo55xARERE5lDjfAURERCQyqDSIiIhIiag0iIiISImoNIiIiEiJqDSIiIhI\niag0iIiISImoNIiIiEiJqDSIiIhIiag0iIiISImoNIiIiEiJhFQazKyPma0wsx1mttDMzi/h+642\ns4CZTd3Pa4+Y2c9mlmdm75hZ/VCyiYiISNkIujSYWVdgEDAQOBf4DJhpZjUO8b6TgWeA+ft57R6g\nL3Az0Az4rXjOSsHmExERkbJhwd6wyswWAh85524vfm7AKuAF59zTB3hPHDAPGA20Aqo555L3eP1n\n4Bnn3ODi51WBdcD1zrlJQX8rERERKXVB7Wkws4pAU2DO79tcUeuYDbQ4yFsHAuudc2P2M2c9oPY+\nc24DPjrEnCIiIlKOKgQ5vgYQT9FegD2tA/68vzeY2V+BG4G/HGDO2oA7wJy1DzDnccDlwEpgZwly\ni4iISJEjgVOAmc65TcG8MdjScCBG0S/+vTeaVQFeB/7unPulNOYsdjnw7yDnExERkf9zLTA+mDcE\nWxo2AoVArX221+SPewoATgNOBqYXH/sAxUsiZpZP0d6JtRQVhFr7zFETWHyAHCsBxo0bx+mnnx7k\nV4gs/fr1Y/Dgwb5jlItY+a7R+j23bdvGe++9x9q1awF4++236dChA+eeey7nnHMO8fHxnhOWjWj9\n99yXvmf0+Prrr0lPT4fi36XBCKo0OOd2m9kioC0wDf53IGRb4IX9ZQPO2mfb40AV4DZglXOuwMzW\nFs/xefGcVYHmwJADRNkJcPrpp9OkSZNgvkLEqVatWtR/x9/FyneNpu+5c+dOpkyZwsSJE3n77bcp\nKCigVq1amBmbN29mwoQJDBs2jDp16pCamsq1117L+eeX6AztiBFN/54Ho+8ZlYJe3g/lOg3PAj3N\n7DozawQMBxKAVwHMbKyZPQHgnMt3zi3d8wFsAbY75752zhUUz/kc8ICZdTSzs4CxwGogJ4R8IlIO\nPv74Y8455xzS09PZuHEj//rXv1i9ejVr1qzh559/5rLLLmPTpk188MEHdOnShYkTJ9KsWTN69OjB\ntm3bfMcXkRAEXRqKT4HsDzxC0fLB2cDlzrkNxUPqcoADGA8y59PAi8DLFJ01cRTQ3jmXH2w+ESlb\n+fn5PPjgg1x44YUcffTRfPHFF3zwwQfcdtttnHDCCXuNNTNatGjB888/z+rVq3n55ZeZNGkSZ599\nNu+++66nbyAioQrpipDOuaHOuVOcc0c551o45z7d47U2zrnuB3nvjXteo2GP7Q87505wziU45y53\nzn0fSjYRKTurVq2iefPm/POf/2TgwIF88MEHnHnmmSV6b3x8PD179uTzzz/nlFNOoU2bNtx7770E\ne60YEfGntM6ekDKSlpbmO0K5iZXvGqnfc/Xq1VxyySUUFBTw0UcfHXLd90Dfs169esydO5dBgwYx\nYMAA8vLyeP755/m/Y6UjS6T+ewZL31MghCtChgMzawIsWrRoUSwdsCLizU8//UTr1q3Jz89n3rx5\nnHLKKaUy7yuvvMLNN9/M7bffzuDBgyO2OIhEktzcXJo2bQrQ1DmXG8x7tadBRA5qzZo1tGnThl27\ndpVqYQDo2bMnhYWF3HLLLcTFxTFo0CAVB5EwptIgIge0fft22rVrR15eHu+99x716tUr9c/o3bs3\ngUCAvn37cswxx/Dggw+W+meISOlQaRCR/XLOcfPNN/Pjjz/yySefcNppp5XZZ/Xp04eNGzcycOBA\nWrRoQbt27crss0QkdCGdPSEi0W/EiBFkZGQwcuRIGjVqVOaf98ADD9CuXTuuvfZa1qxZU+afJyLB\nU2kQkT9YsmQJt912G71796Zr167l8pnx8fGMGzeO+Ph40tLSKCgoOPSbRKRcqTSIyF62bdtGly5d\naNy4Mc8++2y5fnbNmjXJyMhgwYIFPPzww+X62SJyaCoNIrKXW2+9lXXr1jFp0iSOPPLIcv/8iy++\nmEcffZTHH3+cefPmlfvni8iBqTSIyP/MnTuXsWPH8txzz1G/fn1vOe69914uvPBCevfuTX6+riYv\nEi5UGkQEgF27dnHLLbfQsmVLbrjhBq9Z4uLiGDZsGN999x2DBg3ymkVE/o9Kg4gA8K9//Ytly5Yx\nbNgw4uL8/2g4++yzueOOO3jkkUdYsWKF7zgigkqDiADLly/nscceo1+/fiW+AVV5ePjhh6lRowa3\n3nqrbmwlEgZUGkRinHOOW2+9leOPP56HHnrId5y9VKlSheeff54333yT7Oxs33FEYp5Kg0iMmzZt\nGjNmzOCFF16gSpUqvuP8QVJSEh06dOC2225jx44dvuOIxDSVBpEYVlhYyH333Ue7du3o1KmT7zj7\nZWY8//zzrFmzhqFDh/qOIxLTVBpEYtj48eNZunQpTzzxRFjfXbJ+/fr06NGDJ598km3btvmOIxKz\nVBpEYlR+fj4DBw4kKSmJ888/33ecQ3rwwQf59ddfGTx4sO8oIjFLpUEkRo0aNYqVK1fy6KOP+o5S\nInXr1qVPnz4MGjSIjRs3+o4jEpNUGkRiUF5eHo8++ijp6emcccYZvuOU2D/+8Q+cczz11FO+o4jE\nJJUGkRg0ZMgQNmzYEHE3hapRowb9+/fnpZde4qeffvIdRyTmqDSIxJht27bxz3/+k7///e+ceuqp\nvuME7c477yQhIYHHHnvMdxSRmKPSIBJjRowYwfbt27nvvvt8RwlJ1apVueuuuxgzZgxr1671HUck\npqg0iMSQ/Px8Bg8eTHp6OnXr1vUdJ2S9e/emYsWKvPjii76jiMQUlQaRGDJ+/Hh++ukn7rrrLt9R\nDkv16tW5+eabGTp0KNu3b/cdRyRmqDSIxIhAIMAzzzxDx44dady4se84h+2OO+7g119/ZeTIkb6j\niMQMlQaRGDFjxgyWLl3KgAEDfEcpFXXr1uXaa6/l2WefZffu3b7jiMQElQaRGPH000/TokUL/vrX\nv/qOUmruuusuVq9ezYQJE3xHEYkJIZUGM+tjZivMbIeZLTSzA16D1sySzOwTM/vFzH41s8Vmlr7P\nmDFmFtjnMSOUbCLyRx9++CELFixgwIABYX2PiWCdeeaZXHHFFTz99NM453zHEYl6QZcGM+sKDAIG\nAucCnwEzzazGAd6yCXgMuAA4CxgDjDGzS/cZ9xZQC6hd/EgLNpuI7N8zzzxDw4YNueqqq3xHKXUD\nBgzgyy+/5K233vIdRSTqhbKnoR/wsnNurHPuG6AXkAd0399g59x851yOc+5b59wK59wLwOdAy32G\n7nLObXDOrS9+bA0hm4js44cffiAnJ4c777yTuLjoW5G86KKLOO+883T6pUg5COoniJlVBJoCc37f\n5or2Cc4GWpRwjrZAQ2DePi+1NrN1ZvaNmQ01s2ODySYi+zd8+HCqVKnCtdde6ztKmTAz+vTpw9tv\nv83333/vO45IVAv2z44aQDywbp/t6yhaUtgvM6tqZtvNLB+YDtzqnJu7x5C3gOuANsAA4GJghkXT\n4quIB7t27WLkyJHccMMNVKlSxXecMtO1a1eOPfZYhg0b5juKSFSrUErzGHCwo5C2A38BqgBtgcFm\nttw5Nx/AOTdpj7FfmdkXwDKgNfDugSbt168f1apV22tbWloaaWk6HEIEYPLkyWzcuJFbbrnFd5Qy\nddRRR9GjRw9GjhzJo48+SkJCgu9IImEhIyODjIyMvbZt3Rr66r8Fc8Rx8fJEHtDZOTdtj+2vAtWc\nc0klnGcEUNc51/4gY9YD9zvnRuzntSbAokWLFtGkSZMS5xeJNRdeeCEJCQnMnj3bd5Qyt3z5curX\nr8/IkSPp3n2/h1iJCJCbm0vTpk0BmjrncoN5b1DLE8653cAiivYWAFC8hNAW+CDIzz3iQC+aWV3g\nOGBNMPlE5P8sXryYDz/8kD59+viOUi5OPfVU2rdvz5AhQ3T6pUgZCeVQ6meBnmZ2nZk1AoYDCcCr\nAGY21sye+H2wmd1rZu3MrJ6ZNTKz/kA68Hrx65XN7Gkza25mJxcfKJkNfAfMPKxvJxLDhgwZQt26\ndenYsaPvKOWmT58+5Obm8vHHH/uOIhKVgj6mwTk3qfiaDI9QdF2FJcDlzrkNxUPqAgV7vKUyMKR4\n+w7gG+Ba51xm8euFwNkUHQhZHfiZorLwUPGeDREJ0i+//ML48eO57777qFChtA5dCn+XX3459erV\nY8iQITRv3tx3HJGoE9JPE+fcUGDoAV5rs8/zB4EHDzLXTuBvoeQQkf177bXXKCgo4O9//7vvKOUq\nPj6e3r1788ADDzBo0CCOP/5435FEokr0XelFJMY55xgxYgRJSUnUqlXLd5xyd+ONNwIwbtw4z0lE\noo9Kg0iU+fjjj1m6dCk9evTwHcWLGjVq0KlTJ0aNGqUDIkVKmUqDSJQZPXo0J554Im3btj304CjV\nvXt3vvrqKz799FPfUUSiikqDSBTJy8sjIyODG264gfj4eN9xvLn00kv505/+xOjRo31HEYkqKg0i\nUSQzM5Pt27f/b10/VsXHx3PDDTcwfvx48vLyfMcRiRoqDSJRZPTo0bRp04Z69er5juLdjTfeyLZt\n25g6darvKCJRQ6VBJEp8//33zJs3T5dQLnbaaafRunVrLVGIlCKVBpEoMWbMGKpVq0ZycrLvKGGj\ne/fuvPvuuyxbtsx3FJGooNIgEgUKCwt59dVXueaaazjqqKN8xwkbnTt35uijj+bVV1/1HUUkKqg0\niESBd955h59//llLE/tISEggLS2NV199lUAg4DuOSMRTaRCJAq+//jqNGzf+/Xa3sofrr7+e1atX\nM2/ePN9RRCKeSoNIhNu+fTtZWVmkp6dTdKd62VOLFi2oV6+eListUgpUGkQiXHZ2Njt27OCaa67x\nHSUsmRnp6elkZmayY8cO33FEIppKg0iEGzduHK1ateLkk0/2HSVspaens23bNt544w3fUUQimkqD\nSARbs2YNs2fPJj093XeUsNawYUOaNWumJQqRw6TSIBLBJkyYQIUKFUhJSfEdJeylp6czY8YMNm7c\n6DuKSMRSaRCJYOPGjePKK6/kmGOO8R0l7HXt2hXnHJMnT/YdRSRiqTSIRKilS5eSm5urpYkSqlmz\nJpdffrmWKEQOg0qDSIQaN24c1atXp0OHDr6jRIz09HQ++OADli9f7juKSERSaRCJQIFAgH//+9+k\npqZyxBFH+I4TMTp16kSVKlW0t0EkRCoNIhHoww8/5Mcff9S1GYKUkJBAUlISEyZMwDnnO45IxFFp\nEIlAEydO5IQTTuCiiy7yHSXidO3ala+//povv/zSdxSRiKPSIBJhCgsLmTx5MqmpqcTF6f/Cwbr0\n0ks55phjmDBhgu8oIhFHP3FEIsz8+fNZu3YtV199te8oEalSpUokJyczceJELVGIBEmlQSTCTJgw\ngVNOOYVmzZr5jhKxrr76apYtW8aiRYt8RxGJKCoNIhFk9+7dTJkyha5du+qOloehdevWHH/88Uyc\nONF3FJGIotIgEkHmzJnDpk2b6Nq1q+8oEa1ChQp06dKFiRMnEggEfMcRiRghlQYz62NmK8xsh5kt\nNLPzDzI2ycw+MbNfzOxXM1tsZn+4hJ2ZPWJmP5tZnpm9Y2b1Q8kmEs0mTpxIw4YNOeecc3xHiXhd\nu3Zl1apVLFy40HcUkYgRdGkws67AIGAgcC7wGTDTzGoc4C2bgMeAC4CzgDHAGDO7dI857wH6AjcD\nzYDfiuesFGw+kWi1a9cusrKytDRRSlq2bMkJJ5ygsyhEghDKnoZ+wMvOubHOuW+AXkAe0H1/g51z\n851zOc65b51zK5xzLwCfAy33GHY78Khzbrpz7kvgOuAEIDGEfCJRaebMmWzdulVnTZSSuLg4UlNT\nmTx5MoWFhb7jiESEoEqDmVUEmgJzft/mis5Zmg20KOEcbYGGwLzi5/WA2vvMuQ34qKRzisSCCRMm\ncOaZZ9K4cWPfUaJG165dWbt2LfPnz/cdRSQiBLunoQYQD6zbZ/s6in7x75eZVTWz7WaWD0wHbnXO\nzS1+uTbggp1TJJbs3LmT6dOnk5qa6jtKVGnevDknnXQSmZmZvqOIRITSOnvCKPrFfyDbgb8A5wH3\nA4PNrNVhzikSM2bOnMmvv/5Kly5dfEeJKmZGSkoKU6ZM0RKFSAlUCHL8RqAQqLXP9pr8cU/B/xQv\nYfx+L9rPzawx8A9gPrCWooJQa585agKLDxamX79+VKtWba9taWlppKWlHfKLiESSzMxMzjjjDBo1\nauQ7StRJSUnh2Wef5T//+Q+tWh3qbxmRyJKRkUFGRsZe27Zu3RryfEGVBufcbjNbBLQFpgFY0WHc\nbYEXgpgqDjiieM4VZra2eI7Pi+esCjQHhhxsksGDB9OkSZNgvoJIxNm1axfTpk2jX79+vqNEpebN\nm1O3bl0yMzNVGiTq7O8P6dzcXJo2bRrSfKEsTzwL9DSz68ysETAcSABeBTCzsWb2xO+DzexeM2tn\nZvXMrJGZ9QfSgdf3mPM54AEz62hmZwFjgdVATkjfSiSKzJ49m23btpGSkuI7SlSKi4ujc+fOTJky\nRRd6EjmEoEuDc24S0B94hKLlg7OBy51zG4qH1GXvAxgrU7TH4EvgfSAJuNY5N2aPOZ8GXgRepuis\niaOA9s65/GDziUSbzMxMGjVqxBlnnOE7StRKSUnh559/1oWeRA4h2GMaAHDODQWGHuC1Nvs8fxB4\nsARzPgw8HEoekWiVn59PdnY2ffv21QWdytCFF15InTp1mDx5MhdeeKHvOCJhS/eeEAljc+fOZcuW\nLVqaKGNxcXEkJyeTmZmpJQqRg1BpEAljmZmZ1K9fn7PPPtt3lKjXpUsXVq9ezSeffOI7ikjYUmkQ\nCVO7d+8mKyuLlJQULU2Ug5YtW1KzZk1d6EnkIFQaRMLUvHnz2Lx5s5Ymykl8fPz/liiKLi0jIvtS\naRAJU1OmTOGUU07RtUjKUUpKCitXriQ3N9d3FJGwpNIgEoYKCwvJysoiOTlZSxPlqFWrVhx77LFk\nZWX5jiISllQaRMLQwoULWbduHcnJyb6jxJSKFSty1VVXMXXqVN9RRMKSSoNIGJo6dSq1a9emRQvd\nHb68JScn8/XXX/P111/7jiISdlQaRMKMc46pU6eSmJhIXJz+L1reLr30UipXrqwlCpH90E8kkTCz\nZMkSVq5cqaUJT4488kiuuOIKLVGI7IdKg0iYycrKonr16rRu3dp3lJiVnJzMokWL+OGHH3xHEQkr\nKg0iYWbq1Kl07NiRihUr+o4Ss9q3b0+lSpW0RCGyD5UGkTDy7bff8tVXX2lpwrOqVaty6aWXaolC\nZB8qDSJhJCsri4SEBC677DLfUWJecnIy77//PuvWrfMdRSRsqDSIhJGpU6fSvn17EhISfEeJeVdd\ndRVmxrRp03xHEQkbKg0iYWLVqlV88sknWpoIEzVq1ODiiy9mypQpvqOIhA2VBpEwkZOTQ8WKFbni\niit8R5FiSUlJzJ07l61bt/qOIhIWVBpEwkRWVhZt2rShWrVqvqNIscTERHbv3s2MGTN8RxEJCyoN\nImFg8+bNzJs3j8TERN9RZA8nnngiTZs2JTs723cUkbCg0iASBt544w0KCwvp1KmT7yiyj6SkJGbM\nmMHOnTt9RxHxTqVBJAxkZWVxwQUXUKdOHd9RZB+JiYn8+uuvzJ0713cUEe9UGkQ8y8vLY+bMmSQl\nJfmOIvvRuHFjGjRooKtDiqDSIOLdrFmz2LFjh0pDmDIzEhMTmTZtGoWFhb7jiHil0iDiWXZ29v/+\nmpXwlJSUxPr161m4cKHvKCJeqTSIeFRQUMD06dO1lyHMNW/enFq1ammJQmKeSoOIRwsWLGDz5s06\n1TLMxcXF0alTJ7Kzs3HO+Y4j4o1Kg4hHWVlZ1K1bl6ZNm/qOIoeQlJTEsmXL+PLLL31HEfFGpUHE\nE+cc2dnZJCYmYma+48ghXHLJJRx99NFaopCYFlJpMLM+ZrbCzHaY2UIzO/8gY28ys/lmtrn48c6+\n481sjJkF9nnouq0S1RYvXsyqVau0NBEhjjjiCK644gpycnJ8RxHxJujSYGZdgUHAQOBc4DNgppnV\nOMBbLgbGA62BC4BVwCwz2/cqNm8BtYDaxY+0YLOJRJLs7GyqV69Oq1atfEeREkpMTCQ3N5cff/zR\ndxQRL0LZ09APeNk5N9Y59w3QC8gDuu9vsHOum3NuuHPuc+fcd8BNxZ/bdp+hu5xzG5xz64sfuq2c\nRLXs7GyuvPJKKlas6DuKlFD79u2pWLGi9jZIzAqqNJhZRaApMOf3ba7oUOLZQIsSTlMZqAhs3md7\nazNbZ2bfmNlQMzs2mGwikWT58uV88cUXWpqIMFWrVqVNmza6gZXErGD3NNQA4oF1+2xfR9GSQkk8\nBfxEUdH43VvAdUAbYABFSxozTEeHSZTKycnhiCOO4PLLL/cdRYKUmJjIvHnz2Lx53797RKJfaZ09\nYcAhT142s3uBVCDROZf/+3bn3CTn3BvOua+cc9OAK4FmFB0HIRJ1srOzufTSS6lSpYrvKBKkq666\nisLCQmbM0LHaEnsqBDl+I1BI0QGLe6rJH/c+7MXM7qJoL0Jb59xXBxvrnFthZhuB+sC7BxrXr18/\nqlWrtte2tLQ00tJ0DKWErw0bNvD+++/zyiuv+I4iITjhhBNo3rw52dnZpKen+44jclAZGRlkZGTs\ntW3r1tAPGQyqNDjndpvZIooOYpwGULyE0BZ44UDvM7O7gfuAy5xziw/1OWZWFzgOWHOwcYMHD6ZJ\nkyYl/wIiYeCNN97AOceVV17pO4qEqFOnTjz++OPs2LGDo446yncckQPa3x/Subm5IV9QLpTliWeB\nnmZ2nZk1AoYDCcCrAGY21sye+H2wmQ0AHqXo7IofzaxW8aNy8euVzexpM2tuZiebWVsgG/gOmBnS\ntxIJYzk5OVx44YXUqrXvDjuJFImJifz222/MmTPn0INFokjQpcE5NwnoDzwCLAbOBi53zm0oHlKX\nvQ+K7E3R2RKZwM97PPoXv15YPEcO8C0wAvgEaOWc2x1sPpFwlpeXx6xZs3TWRIRr1KgRDRs21FkU\nEnOCPaYBAOfcUGDoAV5rs8/zeoeYayfwt1ByiESaWbNmsWPHDjp16uQ7ihwGMyMxMZExY8ZQWFhI\nfHy870gi5UL3nhApR9nZ2TRu3JgGDRr4jiKHKTExkQ0bNvDBBx/4jiJSblQaRMpJQUEB06dP19JE\nlGjevDm1atXS1SElpqg0iJST999/n82bN6s0RIm4uDiuuuoqsrOzKbowrkj0U2kQKSc5OTn86U9/\nCvlUJwk/iYmJLFu2jKVLl/qOIlIuVBpEyoFzjuzsbDp16kRcnP5vFy3atGlDlSpVdBaFxAz99BIp\nB59//jkrV67U0kSUOfLII2nfvr1Kg8QMlQaRcpCdnU21atW4+OKLfUeRUpaYmMinn37KqlWrfEcR\nKXMqDSLlIDs7mw4dOlCpUiXfUaSUdejQgQoVKjBt2jTfUUTKnEqDSBlbuXIlS5Ys0dJElKpevTqX\nXHKJligkJqg0iJSxnJwcKlWqxN/+pgufRqvExETee+89tmzZ4juKSJlSaRApYzk5ObRt25aqVav6\njiJl5KqrrqKgoIAZM2b4jiJSplQaRMrQpk2bmD9/vpYmolzdunU5//zztUQhUU+lQaQMvfnmmxQW\nFtKxY0ffUaSMJSYm8tZbb7Fz507fUUTKjEqDSBnKysqiRYsW1KlTx3cUKWOJiYn8+uuvzJkzx3cU\nkTKj0iBSRvLy8pg5c6aWJmLE6aefToMGDbREIVFNpUGkjMyaNYsdO3aQlJTkO4qUAzMjKSmJnJwc\nCgsLfccRKRMqDSJlJCsrizPOOIMGDRr4jiLlJDExkQ0bNvDhhx/6jiJSJlQaRMpAQUEB06dP19JE\njGnevDm1a9cmKyvLdxSRMqHSIFIG5s+fzy+//KKliRgTFxdHp06dyMrKwjnnO45IqVNpECkDWVlZ\nnHjiiTRp0sR3FClnSUlJrFixgi+++MJ3FJFSp9IgUsqcc2RnZ5OYmIiZ+Y4j5eySSy6hatWqWqKQ\nqKTSIFLKFi1axOrVq7U0EaMqVarEFVdcoVMvJSqpNIiUsuzsbI499lguuugi31HEk8TERJYsWcKK\nFSt8RxEpVSoNIqUsKyuLjh07UqFCBd9RxJP27dtTqVIlcnJyfEcRKVUqDSKl6LvvvmPp0qU61TLG\nHX300bRr146pU6f6jiJSqlQaRErR1KlTSUhI4LLLLvMdRTxLTk7m/fffZ/369b6jiJQalQaRUpSV\nlUX79u1JSEjwHUU8u+qqqzAzpk2b5juKSKlRaRApJatWreLjjz8mOTnZdxQJA8cffzytWrXSEoVE\nlZBKg5n1MbMVZrbDzBaa2fkHGXuTmc03s83Fj3f2N97MHjGzn80sr3hM/VCyifiSnZ1NxYoVueKK\nK3xHkTCRnJzM7Nmz2bp1q+8oIqUi6NJgZl2BQcBA4FzgM2CmmdU4wFsuBsYDrYELgFXALDOrs8ec\n9wB9gZuBZsBvxXNWCjafiC9Tp06lbdu2VKtWzXcUCROJiYns3r2bN99803cUkVIRyp6GfsDLzrmx\nzrlvgF5AHtB9f4Odc92cc8Odc587574Dbir+3LZ7DLsdeNQ5N9059yVwHXACoEPQJSJs2LCB+fPn\na2lC9nLiiSfSrFkzLVFI1AiqNJhZRaApMOf3ba7oriyzgRYlnKYyUBHYXDxnPaD2PnNuAz4KYk4R\nr6ZNm4Zzjk6dOvmOImEmKSmJt956i7y8PN9RRA5bsHsaagDxwLp9tq+j6Bd/STwF/ERR0aD4fe4w\n5xTxaupAOBxlAAAgAElEQVTUqVx00UXUrFnTdxQJM8nJyeTl5TFr1izfUUQOW2ldss4o+sV/8EFm\n9wKpwMXOufzDnbNfv35/WD9OS0sjLS3tUFFESs22bduYPXs2Tz31lO8oEoYaNmzIGWecwdSpU3XR\nLyl3GRkZZGRk7LXtcA7MDbY0bAQKgVr7bK/JH/cU7MXM7gIGAG2dc1/t8dJaigpCrX3mqAksPtic\ngwcP1q2HxbsZM2aQn5+vG1TJASUnJ/Piiy+ye/duKlas6DuOxJD9/SGdm5tL06ZNQ5ovqOUJ59xu\nYBF7HMRoRff+bQt8cKD3mdndwP3A5c65vYqAc24FRcVhzzmrAs0PNqdIuJg6dSpNmzbl5JNP9h1F\nwlRycjJbtmzh3Xff9R1F5LCEcvbEs0BPM7vOzBoBw4EE4FUAMxtrZk/8PtjMBgCPUnR2xY9mVqv4\nUXmPOZ8DHjCzjmZ2FjAWWA3obi8S1vLy8pgxY4b2MshB/eUvf6FevXo6i0IiXtClwTk3CegPPELR\n8sHZFO1B2FA8pC57H8DYm6KzJTKBn/d49N9jzqeBF4GXKTpr4iigfQmOexDxaubMmfz222906dLF\ndxQJY2ZGSkoKU6dOpbCw0HcckZCFdEVI59xQ59wpzrmjnHMtnHOf7vFaG+dc9z2e13POxe/n8cg+\ncz7snDvBOZfgnLvcOfd96F9LpHxkZmZy1lln0bBhQ99RJMx17tyZDRs2sGDBAt9RREKme0+IhGjX\nrl1Mnz6dzp07+44iEaBZs2aceOKJZGZm+o4iEjKVBpEQvfPOO2zfvp2UlBTfUSQCmBmdO3dm6tSp\nBAIB33FEQqLSIBKizMxMGjVqROPGjX1HkQiRkpLCmjVr+PDDD31HEQmJSoNICPLz88nJySElJYWi\ns45FDq1FixbUqVNHSxQSsVQaRELw7rvvsmXLFi1NSFDi4uJITk5mypQpFN22RySyqDSIhCAzM5PT\nTjuNs88+23cUiTApKSmsWrWKTz75xHcUkaCpNIgEqaCggOzsbC1NSEguuugijj/+eC1RSERSaRAJ\n0vz589m4caOWJiQk8fHxJCUlkZmZqSUKiTgqDSJByszM5OSTTw75hi8iKSkprFixgtzcXN9RRIKi\n0iAShIKCAqZMmUKXLl20NCEha926NccddxyTJ0/2HUUkKCoNIkGYN28e69evp2vXrr6jSASrWLEi\nnTt3ZuLEiVqikIii0iAShEmTJlGvXj0tTchhS01NZeXKlXz66aeHHiwSJlQaREpo9+7dTJkyhdTU\nVC1NyGG7+OKLOf7445k4caLvKCIlptIgUkLvvvsumzZt0tKElIoKFSqQkpLCpEmTtEQhEUOlQaSE\nJk2aRP369TnnnHN8R5EokZqayqpVq/joo498RxEpEZUGkRLIz89n6tSpWpqQUnXRRRdRu3ZtLVFI\nxFBpECmBOXPm8Msvv2hpQkpVfHw8KSkpTJ48WbfLloig0iBSApMmTeLPf/4zZ511lu8oEmVSU1P5\n6aefdLtsiQgqDSKHsGvXLrKysrQ0IWXir3/9KyeccIKWKCQiqDSIHMKsWbPYunUrqampvqNIFIqL\ni6NLly5MnjyZwsJC33FEDkqlQeQQMjIyOPPMMznzzDN9R5EodfXVV7N27VrmzZvnO4rIQak0iBzE\nb7/9Rk5ODmlpab6jSBRr3rw59erVIyMjw3cUkYNSaRA5iGnTppGXl6fSIGXKzEhLSyMzM5Ndu3b5\njiNyQCoNIgcxfvx4WrRoQb169XxHkSh3zTXXsGXLFmbOnOk7isgBqTSIHMCmTZt4++23tZdBysUZ\nZ5zBWWedxfjx431HETkglQaRA5gyZQqBQEBnTUi5ueaaa5g2bRq//vqr7ygi+6XSIHIAGRkZtG3b\nllq1avmOIjHi6quvZseOHeTk5PiOIrJfKg0i+7F69WrmzZvHNddc4zuKxJBTTjmFCy+8UGdRSNgK\nqTSYWR8zW2FmO8xsoZmdf5Cxjc0ss3h8wMxu28+YgcWv7flYGko2kdIwceJEKlWqRFJSku8oEmPS\n0tKYOXMmmzZt8h1F5A+CLg1m1hUYBAwEzgU+A2aaWY0DvCUBWAbcA6w5yNRfArWA2sWPlsFmEykt\nGRkZXHHFFVSrVs13FIkxXbp0wTlHZmam7ygifxDKnoZ+wMvOubHOuW+AXkAe0H1/g51znzrn7nHO\nTQLyDzJvgXNug3NuffFjcwjZRA7bN998w6JFi3TWhHhRq1Yt2rVrx7hx43xHEfmDoEqDmVUEmgJz\nft/mnHPAbKDFYWZpYGY/mdkyMxtnZice5nwiIXn99depXr06V155pe8oEqO6devG+++/z/Lly31H\nEdlLsHsaagDxwLp9tq+jaEkhVAuBG4DLKdpzUQ+Yb2aVD2NOkaAFAgHGjRtHamoqRx55pO84EqMS\nExOpXLmy9jZI2KlQSvMY4EJ9s3Nuz0ugfWlmHwM/AKnAmAO9r1+/fn9Yc05LS9NuZQnZ/Pnz+fHH\nH7nuuut8R5EYVrlyZVJSUnj99dd58MEHdUt2CVlGRsYfzsbZunVryPMFWxo2AoUUHbC4p5r8ce9D\nyJxzW83sO6D+wcYNHjyYJk2alNbHivD6669z6qmncuGFF/qOIjGuW7duvPbaayxcuJAWLQ539Vdi\n1f7+kM7NzaVp06YhzRfU8oRzbjewCGj7+zYrqsBtgQ9CSrAfZlYFOI2Dn20hUqry8vKYPHky6enp\n+stOvGvdujV169bl9ddf9x1F5H9COXviWaCnmV1nZo2A4RSdVvkqgJmNNbMnfh9sZhXN7C9mdg5Q\nCfhT8fPT9hjzjJm1MrOTzexCIAsoAHSFEyk306ZNY/v27XTr1s13FBHi4+NJT09nwoQJuvOlhI2g\nS0PxqZP9gUeAxcDZwOXOuQ3FQ+qy90GRJxSPW1S8/S4gFxixx5i6wHjgG2ACsAG4wDmnq5tIuXn9\n9ddp0aIF9esfdFVMpNx069aNX375hRkzZviOIgKEeCCkc24oMPQAr7XZ5/kPHKKcOOd05KJ4tW7d\nOmbOnMlLL73kO4rI/zRu3JimTZsyduxYXZ1UwoLuPSFC0RHG8fHxuqOlhJ1u3brx5ptv6rLSEhZU\nGkSA1157jSuuuIJjjz3WdxSRvaSlpREIBJgwYYLvKCIqDSKLFy9myZIldO++3yuhi3hVs2ZNrrzy\nSkaPHu07iohKg8jo0aOpXbs2f/vb33xHEdmv7t27k5uby5IlS3xHkRin0iAxbefOnfz73//m+uuv\np0KF0rpAqkjpat++PbVq1WLMmANeIFekXKg0SEzLycnhl19+0dKEhLWKFSty3XXXMW7cOF2zQbxS\naZCYNnr0aFq2bEnDhg19RxE5qBtvvJHNmzczbdo031Ekhqk0SMz68ccfeeedd7SXQSLC6aefTosW\nLXRApHil0iAx67XXXiMhIYEuXbr4jiJSIj169GDmzJmsWrXKdxSJUSoNEpMCgQCjR4+ma9euVKlS\nxXcckRJJTU3lqKOO4rXXXvMdRWKUSoPEpPfee4+VK1fSo0cP31FESuzoo48mNTWVMWPGEAgEfMeR\nGKTSIDFpxIgR/PnPf6ZFixa+o4gEpXv37ixfvpx3333XdxSJQSoNEnPWr1/PlClTuPnmmzEz33FE\ngtKyZUtOP/10Xn75Zd9RJAapNEjMefXVV4mLi+P666/3HUUkaGZGr169yMrKYu3atb7jSIxRaZCY\nEggEePnll0lNTdXNqSRidevWjYoVK+r0Syl3Kg0SU+bMmcPy5cvp1auX7ygiITvmmGO4+uqrGTFi\nBIWFhb7jSAxRaZCYMnz4cM466ywdACkR7+abb2blypXMmjXLdxSJISoNEjN+/vlncnJydACkRIVm\nzZpxzjnnMHz4cN9RJIaoNEjMGDVqFEcccQTp6em+o4gctt8PiHzjjTd0hUgpNyoNEhMKCwsZMWIE\naWlpVKtWzXcckVJxzTXXkJCQwKhRo3xHkRih0iAx4c0332TVqlU6AFKiytFHH821117LK6+8wu7d\nu33HkRig0iAx4YUXXuCCCy7gvPPO8x1FpFT17duXNWvWMGXKFN9RJAaoNEjU++qrr5gzZw633Xab\n7ygipe7MM8+kTZs2vPDCC76jSAxQaZCo9+KLL1KnTh06d+7sO4pImbjtttv48MMP+eSTT3xHkSin\n0iBRbfPmzYwdO5bevXtTqVIl33FEysSVV17JKaecwosvvug7ikQ5lQaJaqNGjaKwsJCePXv6jiJS\nZuLj4+nbty8TJkzQ/SikTKk0SNQqKCjgpZdeIi0tjVq1avmOI1KmevToQcWKFXnllVd8R5EoptIg\nUWv69On8+OOP3Hrrrb6jiJS56tWrc/311zNs2DDy8/N9x5EoFVJpMLM+ZrbCzHaY2UIzO/8gYxub\nWWbx+ICZ7fcQ9mDmFCmJ559/nr/+9a80bdrUdxSRctG3b1/Wrl3L5MmTfUeRKBV0aTCzrsAgYCBw\nLvAZMNPMahzgLQnAMuAeYE0pzSlyUIsWLWLevHncfvvtvqOIlJvGjRtz2WWXMWjQIJxzvuNIFApl\nT0M/4GXn3Fjn3DdALyAP6L6/wc65T51z9zjnJgEH2mcW1Jwih/LMM89w6qmnkpyc7DuKSLm6++67\nWbx4MXPnzvUdRaJQUKXBzCoCTYE5v29zRXV2NhDSvYbLYk6JbcuXL2fy5Mn079+f+Ph433FEylXb\ntm0599xzefrpp31HkSgU7J6GGkA8sG6f7euA2iFmKIs5JYYNHjyYY489lhtuuMF3FJFyZ2YMGDCA\nWbNmsWTJEt9xJMpUKKV5DCjtBbRDztmvX78/3LEwLS2NtLS0Uo4ikWLjxo2MGjWKe+65h4SEBN9x\nRLxISUnhH//4B//6178YN26c7zjiUUZGBhkZGXtt27p1a8jzBVsaNgKFwL4nvdfkj3sKynzOwYMH\n06RJkxA/VqLRkCFDAOjTp4/nJCL+VKhQgTvvvJN+/frx+OOPc/LJJ/uOJJ7s7w/p3NzckM8qC2p5\nwjm3G1gEtP19m5lZ8fMPQglQFnNKbMrLy+Oll16ie/fu1KihE28ktnXv3p1q1aoxePBg31EkioRy\n9sSzQE8zu87MGgHDKTqt8lUAMxtrZk/8PtjMKprZX8zsHKAS8Kfi56eVdE6Rknj11VfZvHkzd955\np+8oIt5VrlyZPn36MGLECDZv3uw7jkSJoEtD8amT/YFHgMXA2cDlzrkNxUPqsvcBjCcUj1tUvP0u\nIBcYEcScIge1e/dunnjiCRISEnRjKpFiffv2xTmn22ZLqQnpipDOuaHOuVOcc0c551o45z7d47U2\nzrnuezz/wTkX55yL3+fRpqRzihzK2LFj+emnn/j111/56aeffMcRCQs1a9akV69ePPfcc2zZssV3\nHIkCuveERLzdu3fz8MMP+44hEpbuvvtudu7cqdtmS6lQaZCIN378eFavXk3R5T5EZE916tShZ8+e\nDB48mG3btvmOIxFOpUEiWkFBAQMHDix+dqPXLCLh6p577uG3337jpZde8h1FIpxKg0S0CRMm8MMP\nPxAffxzwd99xRMLSn/70J2666SYGDRrE9u3bfceRCKbSIBGrsLCweC+DUVh4P3CU70giYeuee+5h\n+/btDBs2zHcUiWAqDRKxJk6cyPLly4mPrw7c7DuOSFg76aSTuPHGG3nmmWe0t0FCptIgESk/P597\n772Xor0M91F0LTAROZj777+fbdu28dxzz/mOIhFKpUEi0siRI1m1ahXx8TUA3WdCpCROOukk+vTp\nwzPPPMOGDbp2ngRPpUEizm+//cZDDz0EQGHh4+hYBpGSu++++wB48sknPSeRSKTSIBHnueeeY/Pm\nzcTH10OnWYoEp0aNGtx9990MGTKEH3/80XcciTAqDRJRNm3axJNPPolzjsLCpwn+7u4i0q9fP6pX\nr77HNU5ESkalQSLKE088wY4dO4iL+wvQ2XcckYhUpUoVHnzwQcaOHctXX33lO45EEJUGiRg//PAD\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "n = 100\n", "df = n-1\n", "x = np.linspace(stats.t.ppf(0.001, df), stats.t.ppf(0.999, df), n)\n", "p = stats.t.pdf(x, df)\n", "\n", "plt.plot(x, p, 'k')\n", "plt.fill_between(x, 0, p, interpolate=True,\n", " where=(x<=stats.t.ppf(0.05, df)))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Two-tailed test**: Form hypothesis H1: *The mean maximum grain size is different in the two samples*. There are two possible ways it can be different - higher than *or* lower than. Two-tailed test has two *significance regions* - one in each tail - each half size of one-tailed significance region." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAg0AAAFkCAYAAACjCwibAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xl0ldXd9vHvLyGoAUEpk4gFFC0yVYlCQ0WRoBRBSBiC\nAZxwFodGLbY+9dWltk+rRVQURVQUkTAEkoCCIKAgVSsSqAM4lEFBZpHJACHJfv84oQ9EhpxDkn2G\n67PWWYvcZ5+d6ywguc6978Gcc4iIiIgcS5zvACIiIhIZVBpERESkXFQaREREpFxUGkRERKRcVBpE\nRESkXFQaREREpFxUGkRERKRcVBpERESkXFQaREREpFxUGkRERKRcQioNZjbUzFab2R4z+8jMLizn\n664ysxIzm3aY5x4xs/VmVmBm75hZ81CyiYiISOUIujSY2QBgOPAQcD7wb2C2mdU9xuuaAE8ACw/z\n3P3AHcAtQHvgp9I5qwebT0RERCqHBXvDKjP7CPiXc+7u0q8NWAs845x7/AiviQMWAK8AFwO1nXN9\nDnp+PfCEc25E6de1gE3Atc65yUG/KxEREalwQe1pMLMEIAmYd2CbC7SOuUDyUV76ELDZOTf2MHM2\nAxqWmXMn8K9jzCkiIiJVqFqQ4+sC8QT2AhxsE/Crw73AzH4LXA/8+ghzNgTcEeZseIQ5fwF0A9YA\ne8uRW0RERAJOBJoCs51zPwTzwmBLw5EYgV/8h240qwm8DtzknPuxIuYs1Q14I8j5RERE5P8MAiYE\n84JgS8NWoBhoUGZ7fX6+pwDgLKAJMKP02AcoXRIxs0ICeyc2EigIDcrMUR9YeoQcawDGjx/Pueee\nG+RbiCyZmZmMGDHCd4wqESvvNVrf586dO3nvvffYuHEjAG+//TZXXHEF559/Pueddx7x8fGeE1aO\naP37LEvvM3qsWLGCwYMHQ+nv0mAEVRqcc/vNbAmQAkyH/x4ImQI8c7hsQJsy2/4C1ATuAtY654rM\nbGPpHJ+WzlkL6AA8d4QoewHOPfdc2rVrF8xbiDi1a9eO+vd4QKy812h6n3v37mXq1KlMmjSJt99+\nm6KiIho0aICZsW3bNiZOnMjzzz/PaaedRnp6OoMGDeLCC8t1hnbEiKa/z6PR+4xKQS/vh3KdhieB\nm83sGjNrAbwAJAKvApjZODP7K4BzrtA5t/zgB7Ad2OWcW+GcKyqd8yngz2Z2pZm1AcYB64C8EPKJ\nSBX4+OOPOe+88xg8eDBbt27lH//4B+vWrWPDhg2sX7+eyy+/nB9++IEPPviA/v37M2nSJNq3b88N\nN9zAzp07fccXkRAEXRpKT4G8F3iEwPJBW6Cbc25L6ZDGHOEAxqPM+TgwEhhN4KyJk4DuzrnCYPOJ\nSOUqLCzkwQcfpGPHjpx88sl89tlnfPDBB9x11100atTokLFmRnJyMk8//TTr1q1j9OjRTJ48mbZt\n2/Luu+96egciEqqQrgjpnBvlnGvqnDvJOZfsnPvkoOe6OOeGHOW11x98jYaDtj/snGvknEt0znVz\nzv0nlGwiUnnWrl1Lhw4d+Nvf/sZDDz3EBx98QOvWrcv12vj4eG6++WY+/fRTmjZtSpcuXfjjH/9I\nsNeKERF/KursCakkGRkZviNUmVh5r5H6PtetW8ell15KUVER//rXv4657nuk99msWTPmz5/P8OHD\nGTZsGAUFBTz99NP837HSkSVS/z6DpfcpEMIVIcOBmbUDlixZsiSWDlgR8eb777+nc+fOFBYWsmDB\nApo2bVoh87744ovccsst3H333YwYMSJii4NIJMnPzycpKQkgyTmXH8xrtadBRI5qw4YNdOnShX37\n9lVoYQC4+eabKS4u5vbbbycuLo7hw4erOIiEMZUGETmiXbt20bVrVwoKCnjvvfdo1qxZhX+P2267\njZKSEu644w5OPfVUHnzwwQr/HiJSMVQaROSwnHPccsstfPfddyxevJizzjqr0r7X0KFD2bp1Kw89\n9BDJycl07dq10r6XiIQupLMnRCT6jRkzhqysLF566SVatGhR6d/vz3/+M127dmXQoEFs2LCh0r+f\niARPpUFEfmbZsmXcdddd3HbbbQwYMKBKvmd8fDzjx48nPj6ejIwMioqKjv0iEalSKg0icoidO3fS\nv39/WrZsyZNPPlml37t+/fpkZWXx/vvv8/DDD1fp9xaRY1NpEJFD3HnnnWzatInJkydz4oknVvn3\nv+SSS3j00Uf5y1/+woIFC6r8+4vIkak0iMh/zZ8/n3HjxvHUU0/RvHlzbzn++Mc/0rFjR2677TYK\nC3U1eZFwodIgIgDs27eP22+/nYsuuojrrrvOa5a4uDief/55vv76a4YPH+41i4j8H5UGEQHgH//4\nBytXruT5558nLs7/j4a2bdvy+9//nkceeYTVq1f7jiMiqDSICLBq1Soee+wxMjMzy30Dqqrw8MMP\n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\nxw6dNVFB4uLiSE9PZ8qUKRQXF/uOIxIRgioNZpYAJAHzDmxzgXOW5gLJ5ZwjBTgHWFD6dTOgYZk5\ndwL/Ku+cIrFg4sSJtG7dmpYtW/qOEjUGDBjAxo0bWbhwoe8oIhEh2D0NdYF4YFOZ7ZsI/OI/LDOr\nZWa7zKwQmAHc6ZybX/p0Q8AFO6dILNm7dy8zZswgPT3dd5So0qFDB375y1+SnZ3tO4pIRKiosyeM\nwC/+I9kF/Bq4APgfYISZXXycc4rEjNmzZ7N792769+/vO0pUMTP69evH1KlTtUQhUg7Vghy/FSgG\nGpTZXp+f7yn4r9IljAP3ov3UzFoCfwIWAhsJFIQGZeaoDyw9WpjMzExq1659yLaMjAwyMjKO+UZE\nIkl2djatWrWiRYsWvqNEnX79+vHkk0/yz3/+k4svPtZnGZHIkpWVRVZW1iHbduzYEfJ8QZUG59x+\nM1sCpADTASxwGHcK8EwQU8UBJ5TOudrMNpbO8WnpnLWADsBzR5tkxIgRtGvXLpi3IBJx9u3bx/Tp\n08nMzPQdJSp16NCBxo0bk52drdIgUedwH6Tz8/NJSkoKab5QlieeBG42s2vMrAXwApAIvApgZuPM\n7K8HBpvZH82sq5k1M7MWZnYvMBh4/aA5nwL+bGZXmlkbYBywDsgL6V2JRJG5c+eyc+dO+vXr5ztK\nVIqLi6Nv375MnTpVF3oSOYagS4NzbjJwL/AIgeWDtkA359yW0iGNOfQAxhoE9hh8DiwC0oBBzrmx\nB835ODASGE3grImTgO7OucJg84lEm+zsbFq0aEGrVq18R4la/fr1Y/369brQk8gxBHtMAwDOuVHA\nqCM816XM1w8CD5ZjzoeBh0PJIxKtCgsLyc3N5Y477tAFnSpRx44dOe2005gyZQodO3b0HUckbOne\nEyJhbP78+Wzfvl1LE5UsLi6OPn36kJ2drSUKkaNQaRAJY9nZ2TRv3py2bdv6jhL1+vfvz7p161i8\neLHvKCJhS6VBJEzt37+fnJwc+vXrp6WJKnDRRRdRv359XehJ5ChUGkTC1IIFC9i2bZuWJqpIfHz8\nf5coApeWEZGyVBpEwtTUqVNp2rSprkVShfr168eaNWvIz8/3HUUkLKk0iISh4uJicnJy6NOnj5Ym\nqtDFF19MnTp1yMnJ8R1FJCypNIiEoY8++ohNmzbRp08f31FiSkJCAr169WLatGm+o4iEJZUGkTA0\nbdo0GjZsSHKy7g5f1fr06cOKFStYsWKF7ygiYUelQSTMOOeYNm0aqampxMXpv2hVu+yyy6hRo4aW\nKEQOQz+RRMLMsmXLWLNmjZYmPDnxxBPp0aOHlihEDkOlQSTM5OTkcMopp9C5c2ffUWJWnz59WLJk\nCd9++63vKCJhRaVBJMxMmzaNK6+8koSEBN9RYlb37t2pXr26lihEylBpEAkjX331FV988YWWJjyr\nVasWl112mZYoRMpQaRAJIzk5OSQmJnL55Zf7jhLz+vTpw6JFi9i0aZPvKCJhQ6VBJIxMmzaN7t27\nk5iY6DtKzOvVqxdmxvTp031HEQkbKg0iYWLt2rUsXrxYSxNhom7dulxyySVMnTrVdxSRsKHSIBIm\n8vLySEhIoEePHr6jSKm0tDTmz5/Pjh07fEcRCQsqDSJhIicnhy5dulC7dm3fUaRUamoq+/fvZ+bM\nmb6jiIQFlQaRMLBt2zYWLFhAamqq7yhykDPOOIOkpCRyc3N9RxEJCyoNImHgzTffpLi4mN69e/uO\nImWkpaUxc+ZM9u7d6zuKiHcqDSJhICcnh9/85jecdtppvqNIGampqezevZv58+f7jiLinUqDiGcF\nBQXMnj2btLQ031HkMFq2bMnZZ5+tq0OKoNIg4t2cOXPYs2ePSkOYMjNSU1OZPn06xcXFvuOIeKXS\nIOJZbm7ufz/NSnhKS0tj8+bNfPTRR76jiHil0iDiUVFRETNmzNBehjDXoUMHGjRooCUKiXkqDSIe\nvf/++2zbtk2nWoa5uLg4evfuTW5uLs4533FEvFFpEPEoJyeHxo0bk5SU5DuKHENaWhorV67k888/\n9x1FxBuVBhFPnHPk5uaSmpqKmfmOI8dw6aWXcvLJJ2uJQmJaSKXBzIaa2Woz22NmH5nZhUcZe6OZ\nLTSzbaWPd8qON7OxZlZS5qHrtkpUW7p0KWvXrtXSRIQ44YQT6NGjB3l5eb6jiHgTdGkwswHAcOAh\n4Hzg38BsM6t7hJdcAkwAOgO/AdYCc8ys7FVsZgENgIalj4xgs4lEktzcXE455RQuvvhi31GknFJT\nU8nPz+e7777zHUXEi1D2NGQCo51z45xzXwK3AgXAkMMNds5d7Zx7wTn3qXPua+DG0u+bUmboPufc\nFufc5tKHbisnUS03N5eePXuSkJDgO4qUU/fu3UlISNDeBolZQZUGM0sAkoB5B7a5wKHEc4Hkck5T\nA0gAtpXZ3tnMNpnZl2Y2yszqBJNNJJKsWrWKzz77TEsTEaZWrVp06dJFN7CSmBXsnoa6QDywqcz2\nTQSWFMrj78D3BIrGAbOAa4AuwDACSxozTUeHSZTKy8vjhBNOoFu3br6jSJBSU1NZsGAB27aV/dwj\nEv0q6uwJA4558rKZ/RFIB1Kdc4UHtjvnJjvn3nTOfeGcmw70BNoTOA5CJOrk5uZy2WWXUbNmTd9R\nJEi9evWiuLiYmTN1rLbEnmpBjt8KFBM4YPFg9fn53odDmNl9BPYipDjnvjjaWOfcajPbCjQH3j3S\nuMzMTGrXrn3ItoyMDDIydAylhK8tW7awaNEiXnzxRd9RJASNGjWiQ4cO5ObmMnjwYN9xRI4qKyuL\nrKysQ7bt2BH6IYNBlQbn3H4zW0LgIMbpAKVLCCnAM0d6nZn9AXgAuNw5t/RY38fMGgO/ADYcbdyI\nESNo165d+d+ASBh48803cc7Rs2dP31EkRL179+Yvf/kLe/bs4aSTTvIdR+SIDvdBOj8/P+QLyoWy\nPPEkcLOZXWNmLYAXgETgVQAzG2dmfz0w2MyGAY8SOLviOzNrUPqoUfp8DTN73Mw6mFkTM0sBcoGv\ngdkhvSuRMJaXl0fHjh1p0KDsDjuJFKmpqfz000/Mmzfv2INFokjQpcE5Nxm4F3gEWAq0Bbo557aU\nDmnMoQdF3kbgbIlsYP1Bj3tLny8unSMP+AoYAywGLnbO7Q82n0g4KygoYM6cOTprIsK1aNGCc845\nR2dRSMwJ9pgGAJxzo4BRR3iuS5mvmx1jrr3A70LJIRJp5syZw549e+jdu7fvKHIczIzU1FTGjh1L\ncXEx8fHxviOJVAnde0KkCuXm5tKyZUvOPvts31HkOKWmprJlyxY++OAD31FEqoxKg0gVKSoqYsaM\nGVqaiBIdOnSgQYMGujqkxBSVBpEqsmjRIrZt26bSECXi4uLo1asXubm5BC6MKxL9VBpEqkheXh6n\nn356yKc6SfhJTU1l5cqVLF++3HcUkSqh0iBSBZxz5Obm0rt3b+Li9N8uWnTp0oWaNWvqLAqJGfrp\nJVIFPv30U9asWaOliShz4okn0r17d5UGiRkqDSJVIDc3l9q1a3PJJZf4jiIVLDU1lU8++YS1a9f6\njiJS6VQaRKpAbm4uV1xxBdWrV/cdRSrYFVdcQbVq1Zg+fbrvKCKVTqVBpJKtWbOGZcuWaWkiSp1y\nyilceumlWqKQmKDSIFLJ8vLyqF69Or/7nS58Gq1SU1N577332L59u+8oIpVKpUGkkuXl5ZGSkkKt\nWrV8R5FK0qtXL4qKipg5c6bvKCKVSqVBpBL98MMPLFy4UEsTUa5x48ZceOGFWqKQqKfSIFKJ3nrr\nLYqLi7nyyit9R5FKlpqayqxZs9i7d6/vKCKVRqVBpBLl5OSQnJzMaaed5juKVLLU1FR2797NvHnz\nfEcRqTQqDSKVpKCggNmzZ2tpIkace+65nH322VqikKim0iBSSebMmcOePXtIS0vzHUWqgJmRlpZG\nXl4excXFvuOIVAqVBpFKkpOTQ6tWrTj77LN9R5EqkpqaypYtW/jwww99RxGpFCoNIpWgqKiIGTNm\naGkixnTo0IGGDRuSk5PjO4pIpVBpEKkECxcu5Mcff9TSRIyJi4ujd+/e5OTk4JzzHUekwqk0iFSC\nnJwczjjjDNq1a+c7ilSxtLQ0Vq9ezWeffeY7ikiFU2kQqWDOOXJzc0lNTcXMfMeRKnbppZdSq1Yt\nLVFIVFJpEKlgS5YsYd26dVqaiFHVq1enR48eOvVSopJKg0gFy83NpU6dOnTq1Ml3FPEkNTWVZcuW\nsXr1at9RRCqUSoNIBcvJyeHKK6+kWrVqvqOIJ927d6d69erk5eX5jiJSoVQaRCrQ119/zfLly3Wq\nZYw7+eST6dq1K9OmTfMdRaRCqTSIVKBp06aRmJjI5Zdf7juKeNanTx8WLVrE5s2bfUcRqTAqDSIV\nKCcnh+7du5OYmOg7injWq1cvzIzp06f7jiJSYVQaRCrI2rVr+fjjj+nTp4/vKBIG6tWrx8UXX6wl\nCokqIZUGMxtqZqvNbI+ZfWRmFx5l7I1mttDMtpU+3jnceDN7xMzWm1lB6ZjmoWQT8SU3N5eEhAR6\n9OjhO4qEiT59+jB37lx27NjhO4pIhQi6NJjZAGA48BBwPvBvYLaZ1T3CSy4BJgCdgd8Aa4E5Znba\nQXPeD9wB3AK0B34qnbN6sPlEfJk2bRopKSnUrl3bdxQJE6mpqezfv5+33nrLdxSRChHKnoZMYLRz\nbpxz7kvgVqAAGHK4wc65q51zLzjnPnXOfQ3cWPp9Uw4adjfwqHNuhnPuc+AaoBGgQ9AlImzZsoWF\nCxdqaUIOccYZZ9C+fXstUUjUCKo0mFkCkATMO7DNBe7KMhdILuc0NYAEYFvpnM2AhmXm3An8K4g5\nRbyaPn06zjl69+7tO4qEmbS0NGbNmkVBQYHvKCLHLdg9DXWBeGBTme2bCPziL4+/A98TKBqUvs4d\n55wiXk1+JD0kAAAgAElEQVSbNo1OnTpRv35931EkzPTp04eCggLmzJnjO4rIcauoS9YZgV/8Rx9k\n9kcgHbjEOVd4vHNmZmb+bP04IyODjIyMY0URqTA7d+5k7ty5/P3vf/cdRcLQOeecQ6tWrZg2bZou\n+iVVLisri6ysrEO2Hc+BucGWhq1AMdCgzPb6/HxPwSHM7D5gGJDinPvioKc2EigIDcrMUR9YerQ5\nR4wYoVsPi3czZ86ksLBQN6iSI+rTpw8jR45k//79JCQk+I4jMeRwH6Tz8/NJSkoKab6gliecc/uB\nJRx0EKMF7v2bAnxwpNeZ2R+A/wG6OecOKQLOudUEisPBc9YCOhxtTpFwMW3aNJKSkmjSpInvKBKm\n+vTpw/bt23n33Xd9RxE5LqGcPfEkcLOZXWNmLYAXgETgVQAzG2dmfz0w2MyGAY8SOLviOzNrUPqo\ncdCcTwF/NrMrzawNMA5YB+huLxLWCgoKmDlzpvYyyFH9+te/plmzZjqLQiJe0KXBOTcZuBd4hMDy\nQVsCexC2lA5pzKEHMN5G4GyJbGD9QY97D5rzcWAkMJrAWRMnAd3LcdyDiFezZ8/mp59+on///r6j\nSBgzM/r168e0adMoLi72HUckZCFdEdI5N8o519Q5d5JzLtk598lBz3Vxzg056Otmzrn4wzweKTPn\nw865Rs65ROdcN+fcf0J/WyJVIzs7mzZt2nDOOef4jiJhrm/fvmzZsoX333/fdxSRkOneEyIh2rdv\nHzNmzKBv376+o0gEaN++PWeccQbZ2dm+o4iETKVBJETvvPMOu3btol+/fr6jSAQwM/r27cu0adMo\nKSnxHUckJCoNIiHKzs6mRYsWtGzZ0ncUiRD9+vVjw4YNfPjhh76jiIREpUEkBIWFheTl5dGvXz8C\nZx2LHFtycjKnnXaaligkYqk0iITg3XffZfv27VqakKDExcXRp08fpk6dSuC2PSKRRaVBJATZ2dmc\nddZZtG3b1ncUiTD9+vVj7dq1LF682HcUkaCpNIgEqaioiNzcXC1NSEg6depEvXr1tEQhEUmlQSRI\nCxcuZOvWrVqakJDEx8eTlpZGdna2ligk4qg0iAQpOzubJk2ahHzDF5F+/fqxevVq8vPzfUcRCYpK\ng0gQioqKmDp1Kv3799fShISsc+fO/OIXv2DKlCm+o4gERaVBJAgLFixg8+bNDBgwwHcUiWAJCQn0\n7duXSZMmaYlCIopKg0gQJk+eTLNmzbQ0IcctPT2dNWvW8Mknnxx7sEiYUGkQKaf9+/czdepU0tPT\ntTQhx+2SSy6hXr16TJo0yXcUkXJTaRApp3fffZcffvhBSxNSIapVq0a/fv2YPHmyligkYqg0iJTT\n5MmTad68Oeedd57vKBIl0tPTWbt2Lf/61798RxEpF5UGkXIoLCxk2rRpWpqQCtWpUycaNmyoJQqJ\nGCoNIuUwb948fvzxRy1NSIWKj4+nX79+TJkyRbfLloig0iBSDpMnT+ZXv/oVbdq08R1Fokx6ejrf\nf/+9bpctEUGlQeQY9u3bR05OjpYmpFL89re/pVGjRlqikIig0iByDHPmzGHHjh2kp6f7jiJRKC4u\njv79+zNlyhSKi4t9xxE5KpUGkWPIysqidevWtG7d2ncUiVJXXXUVGzduZMGCBb6jiByVSoPIUfz0\n00/k5eWRkZHhO4pEsQ4dOtCsWTOysrJ8RxE5KpUGkaOYPn06BQUFKg1SqcyMjIwMsrOz2bdvn+84\nIkek0iByFBMmTCA5OZlmzZr5jiJRbuDAgWzfvp3Zs2f7jiJyRCoNIkfwww8/8Pbbb2svg1SJVq1a\n0aZNGyZMmOA7isgRqTSIHMHUqVMpKSnRWRNSZQYOHMj06dPZvXu37ygih6XSIHIEWVlZpKSk0KBB\nA99RJEZcddVV7Nmzh7y8PN9RRA5LpUHkMNatW8eCBQsYOHCg7ygSQ5o2bUrHjh11FoWErZBKg5kN\nNbPVZrbHzD4yswuPMralmWWXji8xs7sOM+ah0ucOfiwPJZtIRZg0aRLVq1cnLS3NdxSJMRkZGcye\nPZsffvjBdxSRnwm6NJjZAGA48BBwPvBvYLaZ1T3CSxKBlcD9wIajTP050ABoWPq4KNhsIhUlKyuL\nHj16ULt2bd9RJMb0798f5xzZ2dm+o4j8TCh7GjKB0c65cc65L4FbgQJgyOEGO+c+cc7d75ybDBQe\nZd4i59wW59zm0se2ELKJHLcvv/ySJUuW6KwJ8aJBgwZ07dqV8ePH+44i8jNBlQYzSwCSgHkHtjnn\nHDAXSD7OLGeb2fdmttLMxpvZGcc5n0hIXn/9dU455RR69uzpO4rEqKuvvppFixaxatUq31FEDhHs\nnoa6QDywqcz2TQSWFEL1EXAd0I3AnotmwEIzq3Ecc4oEraSkhPHjx5Oens6JJ57oO47EqNTUVGrU\nqKG9DRJ2qlXQPAa4UF/snDv4Emifm9nHwLdAOjD2SK/LzMz82ZpzRkaGditLyBYuXMh3333HNddc\n4zuKxLAaNWrQr18/Xn/9dR588EHdkl1ClpWV9bOzcXbs2BHyfMGWhq1AMYEDFg9Wn5/vfQiZc26H\nmX0NND/auBEjRtCuXbuK+rYivP7665x55pl07NjRdxSJcVdffTWvvfYaH330EcnJx7v6K7HqcB+k\n8/PzSUpKCmm+oJYnnHP7gSVAyoFtFqjAKcAHISU4DDOrCZzF0c+2EKlQBQUFTJkyhcGDB+uTnXjX\nuXNnGjduzOuvv+47ish/hXL2xJPAzWZ2jZm1AF4gcFrlqwBmNs7M/npgsJklmNmvzew8oDpweunX\nZx005gkzu9jMmphZRyAHKAJ0hROpMtOnT2fXrl1cffXVvqOIEB8fz+DBg5k4caLufClhI+jSUHrq\n5L3AI8BSoC3QzTm3pXRIYw49KLJR6bglpdvvA/KBMQeNaQxMAL4EJgJbgN8453R1E6kyr7/+OsnJ\nyTRvftRVMZEqc/XVV/Pjjz8yc+ZM31FEgBAPhHTOjQJGHeG5LmW+/pZjlBPnnI5cFK82bdrE7Nmz\nefbZZ31HEfmvli1bkpSUxLhx43R1UgkLuveECIEjjOPj43VHSwk7V199NW+99ZYuKy1hQaVBBHjt\ntdfo0aMHderU8R1F5BAZGRmUlJQwceJE31FEVBpEli5dyrJlyxgy5LBXQhfxqn79+vTs2ZNXXnnF\ndxQRlQaRV155hYYNG/K73/3OdxSRwxoyZAj5+fksW7bMdxSJcSoNEtP27t3LG2+8wbXXXku1ahV1\ngVSRitW9e3caNGjA2LFHvECuSJVQaZCYlpeXx48//qilCQlrCQkJXHPNNYwfP17XbBCvVBokpr3y\nyitcdNFFnHPOOb6jiBzV9ddfz7Zt25g+fbrvKBLDVBokZn333Xe888472ssgEeHcc88lOTlZB0SK\nVyoNErNee+01EhMT6d+/v+8oIuVyww03MHv2bNauXes7isQolQaJSSUlJbzyyisMGDCAmjVr+o4j\nUi7p6emcdNJJvPbaa76jSIxSaZCY9N5777FmzRpuuOEG31FEyu3kk08mPT2dsWPHUlJS4juOxCCV\nBolJY8aM4Ve/+hXJycm+o4gEZciQIaxatYp3333XdxSJQSoNEnM2b97M1KlTueWWWzAz33FEgnLR\nRRdx7rnnMnr0aN9RJAapNEjMefXVV4mLi+Paa6/1HUUkaGbGrbfeSk5ODhs3bvQdR2KMSoPElJKS\nEkaPHk16erpuTiUR6+qrryYhIUGnX0qVU2mQmDJv3jxWrVrFrbfe6juKSMhOPfVUrrrqKsaMGUNx\ncbHvOBJDVBokprzwwgu0adNGB0BKxLvllltYs2YNc+bM8R1FYohKg8SM9evXk5eXpwMgJSq0b9+e\n8847jxdeeMF3FIkhKg0SM15++WVOOOEEBg8e7DuKyHE7cEDkm2++qStESpVRaZCYUFxczJgxY8jI\nyKB27dq+44hUiIEDB5KYmMjLL7/sO4rECJUGiQlvvfUWa9eu1QGQElVOPvlkBg0axIsvvsj+/ft9\nx5EYoNIgMeGZZ57hN7/5DRdccIHvKCIV6o477mDDhg1MnTrVdxSJASoNEvW++OIL5s2bx1133eU7\nikiFa926NV26dOGZZ57xHUVigEqDRL2RI0dy2mmn0bdvX99RRCrFXXfdxYcffsjixYt9R5Eop9Ig\nUW3btm2MGzeO2267jerVq/uOI1IpevbsSdOmTRk5cqTvKBLlVBokqr388ssUFxdz8803+44iUmni\n4+O54447mDhxou5HIZVKpUGiVlFREc8++ywZGRk0aNDAdxyRSnXDDTeQkJDAiy++6DuKRDGVBola\nM2bM4LvvvuPOO+/0HUWk0p1yyilce+21PP/88xQWFvqOI1EqpNJgZkPNbLWZ7TGzj8zswqOMbWlm\n2aXjS8zssIewBzOnSHk8/fTT/Pa3vyUpKcl3FJEqcccdd7Bx40amTJniO4pEqaBLg5kNAIYDDwHn\nA/8GZptZ3SO8JBFYCdwPbKigOUWOasmSJSxYsIC7777bdxSRKtOyZUsuv/xyhg8fjnPOdxyJQqHs\nacgERjvnxjnnvgRuBQqAIYcb7Jz7xDl3v3NuMnCkfWZBzSlyLE888QRnnnkmffr08R1FpEr94Q9/\nYOnSpcyfP993FIlCQZUGM0sAkoB5B7a5QJ2dC4R0r+HKmFNi26pVq5gyZQr33nsv8fHxvuOIVKmU\nlBTOP/98Hn/8cd9RJAoFu6ehLhAPbCqzfRPQMMQMlTGnxLARI0ZQp04drrvuOt9RRKqcmTFs2DDm\nzJnDsmXLfMeRKFOtguYxoKIX0I45Z2Zm5s/uWJiRkUFGRkYFR5FIsXXrVl5++WXuv/9+EhMTfccR\n8aJfv3786U9/4h//+Afjx4/3HUc8ysrKIisr65BtO3bsCHm+YEvDVqAYKHvSe31+vqeg0uccMWIE\n7dq1C/HbSjR67rnnABg6dKjnJCL+VKtWjXvuuYfMzEz+8pe/0KRJE9+RxJPDfZDOz88P+ayyoJYn\nnHP7gSVAyoFtZmalX38QSoDKmFNiU0FBAc8++yxDhgyhbl2deCOxbciQIdSuXZsRI0b4jiJRJJSz\nJ54Ebjaza8ysBfACgdMqXwUws3Fm9tcDg80swcx+bWbnAdWB00u/Pqu8c4qUx2OPPca2bdu45557\nfEcR8a5GjRoMHTqUF154gXXr1vmOI1Ei6NJQeurkvcAjwFKgLdDNObeldEhjDj2AsVHpuCWl2+8D\n8oExQcwpclQFBQU8/vjjNGjQgDPPPNN3HJGwkJ6ezr59+xg8eLDvKBIlQjoQ0jk3Chh1hOe6lPn6\nW8pRTo42p8ix3H777RQXF9OsmQqDyAF16tQBYMGCBXz77bc6tkGOm+49IRGvoKCA8ePfAODkk0/2\nnEYkPA0ZomvlyfFTaZCId/fdd1NcXAToU5TI4Z3C/Pnv6tgGOW4qDRLR9u7dy6uvvgacRuDCoiLy\ncw8ATnsb5LipNEhEy8zMpKhoP/AP31FEwlhroDVz585l/fr1vsNIBFNpkIhVWFjIyy+/QuC6YAN9\nxxEJcy/inOPGG2/0HUQimEqDRKzMzEz27y8EdGMekWNLBlrw9ttva2+DhEylQSLS7t27efHFFwns\nZbjGdxyRCPEKzjmuvvpq30EkQqk0SES68cYbKSoqAp73HUUkgiQD7Zg/fz4rVqzwHUYikEqDRJzN\nmzczefIU4CwgzXcckQgzAUBXiZSQqDRIxBk0aBDOlaBbk4iE4ldAF/Lz8/nwww99h5EIo9IgEeWb\nb75h7ty5wHnARb7jiESoNwDj6qt1PJAER6VBIsr/3Rd+gtccIpGtIdCXlSv/Q15enu8wEkFUGiRi\n/POf/2TJkiVAZ+Bcz2lEIt1YoBo333yL7yASQVQaJGJcdVUGgX+yb/iOIhIFagK3s3nzJv72t7/5\nDiMRQqVBIsLIkSNZt24tcAPQyHcckSgxAqjFQw89zN69e32HkQig0iBhr7CwkGHD7gdqAKN8xxGJ\nInHAKAoL9+mCT1IuKg0S9m688Ub27t0DPAVU8x1HJMoMAn5FdvZUvvnmG99hJMypNEhY+/bbbxk/\nfjxwJqAb7YhUjmzA0bdvX99BJMypNEhY69u3L845YJLvKCJRrDXQk88++4ypU6f6DiNhTKVBwtbk\nyZNLT7G8HLjAdxyRKJcFVOf6668vva+LyM+pNEhYKiws5PrrhwAnAPrkI1L5agJ/Z9euXVx33XW+\nw0iYUmmQsDRo0CAKCn4Cnibww0xEKt/vgbN54403WLZsme8wEoZUGiTsLF68mOzsbKAloKvViVSt\nWYBx5ZW9fAeRMKTSIGGnV6/eBP5pzvQdRSQGnQXcxrp1a3n44Yd9h5Ewo9IgYeX+++9n48YNBHaT\nNvEdRyRGjQR+wWOPPcb69et9h5EwotIgYWPFihU88cQTBO7A94TvOCIxLA7Ipri4mC5dUnyHkTCi\n0iBhoaSkhJSUFJwDeAf90xTxrTMwkK+++lLLFPJfIf1kNrOhZrbazPaY2UdmduExxvc3sxWl4/9t\nZt3LPD/WzErKPLSgHUNuueUWNmzYAPyBwIVmRMS/14F6PPLIo3z11Ve+w0gYCLo0mNkAYDjwEHA+\n8G9gtpnVPcL4ZGACMAY4D8gFcs2sZZmhs4AGBPZNNwQygs0mkemf//wnL730EoFLRf/ddxwR+a84\nYA7OObp0SaGkpMR3IPEslD0NmcBo59w459yXwK1AATDkCOPvBmY55550zn3lnHsIyAfuKDNun3Nu\ni3Nuc+ljRwjZJMIUFRXRo0dPIB5413ccEfmZ84BM1q//nttvv913GPEsqNJgZglAEjDvwDYXuDHA\nXCD5CC9LLn3+YLMPM76zmW0ysy/NbJSZ1Qkmm0SmHj16sGPHduBx4Je+44jIYQ0HmjF69GjmzZt3\nzNESvYLd01CXwEfCTWW2byKwpHA4DcsxfhZwDdAFGAZcAsw0Mwsyn0SQp556ijlz5gC/Be7xHUdE\njmohkEDPnj3Ztm2b7zDiSUUdom6AC3W8c26yc+5N59wXzrnpQE+gPYHDdyUKffrpp9xzz73AKcB8\n33FE5JgaA+PZu3cvHTv+1ncY8aRakOO3AsUEDlg8WH1+vjfhgI1Bjsc5t9rMtgLNOcpCd2ZmJrVr\n1z5kW0ZGBhkZOoYynO3du5eLL76k9PTKBUB1z4lEpHzSgZl89dVr3Hrrrbzwwgu+A8kxZGVlkZWV\ndci2HTtCP2QwqNLgnNtvZkuAFGA6QOkSQgrwzBFe9uFhnr+sdPthmVlj4BfAhqPlGTFiBO3atSt3\nfgkPKSkppccxPAW09R1HRILyCrCI0aNH061bN9LS0nwHkqM43Afp/Px8kpKSQpovlOWJJ4Gbzewa\nM2sBvAAkAq8CmNk4M/vrQeOfBrqb2T1m9isze5jAwZTPlo6vYWaPm1kHM2tiZikETsv8msABkxJF\n7r33Xj744AOgG4ETa0QkssQBHwEnkJ4+gG+++cZ3IKlCQZcG59xk4F7gEWApgY+K3ZxzW0qHNOag\ngxydcx8SuObCzcAyoA/Q2zm3vHRIcekcecBXBK7nsBi42Dm3P4T3JGFq3LhxPPnkkwTOktC1u0Qi\nV13gbYqKirjgggvZvXu370BSRYI9pgEA59woYNQRnutymG1TgalHGL8X+F0oOSRyLF68mOuvvx6o\nQaBr6jLRIpGtM/AsO3cOJSkpiRUrVhAXp//X0U5/w1LpNm/ezMUXX0JJiQEfALoEh0h0uB24ia+/\n/prevXv7DiNVQKVBKtXevXtp2/bX7N27B5iIDnwUiTYvAr/hzTffZNiwYb7DSCVTaZBKU1RURKtW\nrdi0aSPwMNDPcyIRqRzvA2fwxBNP8Le//c13GKlEKg1SKUpKSkhKSmLVqlUEbjPykO9IIlJpqgHL\ngXr86U9/4sUXX/QdSCqJSoNUiksvvZRPP/0UGAiM9B1HRCpdTQLFoRa33HIr2dnZvgNJJVBpkArX\nvXt3Fi5cSOCkmDd8xxGRKlMX+Aw4kfT0AeTl5fkOJBVMpUEqTElJCZdccglvv/020InAfchEJLb8\nEliCc9VJS0v72SWMJbKpNEiFKCkpoX379qV7GLoRuCOeiMSmc4HPcS6RgQMH8tJLL/kOJBVEpUGO\nW1FREW3atGXJkiVAX+Bt35FExLuzgC+BWtx000089dRTvgNJBVBpkOOydetWfvnLJixf/gVwLaCD\nn0TkgMbAN0AdMjMzGTp0qO9AcpxUGiRky5Yto0mTJmzYsB54gNJ7lomIHKQ+8C1wFqNGjeLSSy+l\npKTEdygJkUqDhCQ7O5ukpAsoKNgLjAf+4juSiIStmgRuXNyV9957j7POOovt27f7DiUhUGmQoA0d\nOpT+/ftTUlKdwC1yB/mOJCJhLw54B7iLNWvWcPrpjVm0aJHvUBIklQYpt+3bt9OqVStGjRoFNAFW\nARd6TiUikeVp4FUKCvbRqdPFPPjgg74DSRBUGqRc5s+fz2mnNWL58uUE9iysAhp6TiUikelaAssV\n9Xnsscdo3749BQUFvkNJOag0yFEVFRWRnp5OSkoKe/fuByYQOIZB/3RE5Hg0A9YDPVm8eDG/+EVd\nXXo6AugnvxzRokWLqFu3HlOmTAFaEjgCOsNzKhGJHnHADOA19u4toX///nTt2lV7HcKYSoP8TEFB\nAampqXTq1IkdO3YBjwNfAI08JxOR6HQNsBlIZt68efziF3V5+eWXfYeSw1BpkEM8/vjjnHrqqaU3\nmmkNrAH+4DeUiMSAWsAHwKvs3Qs33ngjzZufzeeff+47mBxEpUEAmDVrFo0anc79999PYeGJwEQC\nd6tr7DmZiMSWa4HtQAYrV66kTZs29OjRg23btvkOJqg0xLyFCxfSvPnZXHHFFWzYsAm4HfgRGOA5\nmYjEruoEDrr+CmjNzJkzqVevHunp6ezcudNzttim0hCjZs+ezbnnnssll1zCypWrgD7AVuA59M9C\nRMLD2QT2eM6jpKQpU6ZMoU6dOmRkZLB161bf4WKSfjvEkJKSEp599lkaNjyN3/3ud3z55VfA74AN\nwFTgFL8BRUQOqwuwEsijuLgREydOpH79+nTq1EnHPFQxlYYY8O2333LVVVdRo0ZN7rzzTjZt2kZg\n3XAbMIvADWVERMJdL+A7YAHO/ZpFixbRpk0bmjRpwhNPPEFRUZHvgFFPpSFK7d27l//93//lrLPO\nomnTpkyaNIm9e2sDDwM/EbgjpfYsiEgkuhhYSuDKtD357ruNDBs2jJNOOomuXbsyb948z/mil0pD\nFCkoKGD48OG0bNmSxMREHnjgAVatWgtcTuA/2AbgIaCa15wiIhWjGYGLQ+0BnqOo6JfMmzePrl27\nkpiYyBVXXMH8+fM9Z4wuKg0R7vPPP+emm27ijDPOoEaNGtx3332sWPE1zl0AvA7sBWYD5/kNKiJS\naeIInPm1EtgCZLJnTx1mzZpFSkoK1aufwAUXXMDw4cN19sVxUmkIc1lZWYd8nZ+fT2ZmJq1bt6Z6\n9RNo06YNL730EuvW/Qh0Bl4DCoGPgcFE1l9x1rGHRIGyf6fRSu8z2kTK+6wLPAmsI7B3dRj79zdl\nyZKl3HfffdSuXZtTT61DSkoKI0eO/NlZGLHz9xmakH6jmNlQM1ttZnvM7CMzO+r9kc2sv5mtKB3/\nbzPrfpgxj5jZejMrMLN3zKx5KNmiyYoVK3j00Ufp0aMHp5/emPj4aiQlJfHUU0/xxRdfs3//mcAd\nBE5J2g28S+ByrJFUFA4WG/9ZY+WHkt5ntInE99kQ+DuB6z3sJ3DRul5s316d+fPnc9ddd1GvXj0S\nExNp3bo1Q4YM4YknnmD79u1eU4ezoBe3zWwAMBy4mcDH2Uxgtpmd45z72YmzZpZM4Cod9wNvAQOB\nXDM73zm3vHTM/QR++10LrAYeK53zXOdcYUjvLEIUFRWxbNkyFi1axMcff8yKFStYu3YtP/74IyUl\nJUCgPEBtoB1wCYGbRrXzF1pEJOLEEbho3YEL1xUSONV8Bnv2LOaLL77hiy++AODUU0+levUTaNCg\nPmeeeSZt27YlOTmZTp060bhxbF8lN5Qj4jKB0c65cQBmdivQAxhC4M5GZd0NzHLOPVn69UNmdjmB\nknD7QWMedc7NKJ3zGmATkApMDiFjWBszZgz/8z9/Zvv27ezfX7YTVQfqAMlAewLXYl9Yul1ERCpG\ndQIfwA6+c+9GAteuaUVh4b9Zu/Z71q59nwULFjBy5EgAzIyTTkrk9NMbkZ+fT82aNas+ukdBlQYz\nSwCSgL8e2Oacc2Y2l8BvucNJJrBn4mCzgd6lc55JYB/Sf8+Rcc7tNLN/lb426krD0qVL2bJlM4GD\nE88EWhEoCJ2Bsv8Ae6HCICJSFRoCvwTeKLP9W2AusAznvqSg4Au++eYbEhISqjyhb8HuaagLxBPY\nC3CwTcCvjvCahkcY37D0zw0Ad4wxZZ0IB3bbR55atWoR2FV220Fb1xNYxSnrW+DFqogVBo73va5m\n584Tyc/Pr6hAlWLHjh1hn7Ei6H36t2XLltI/zQLWHudssfKz6Gjvs03p4wxgLMuWLYvI4nDQ784T\ng36xc67cD+A0oAToUGb748AHR3jNPmBAmW23A+tL/5wMFAMNyoyZDEw4wpwDCRQNPfTQQw899NAj\ntMfAYDqAcy7oPQ1bKf0FX2Z7fX6+p+CAjccYvxGw0jGbyoxZeoQ5ZwODgDUELkQgIiIi5XMi0JTA\n79KgBFUanHP7/397dxoqVRnHcfz761KRrVgUWRFUSEUrRdELi6isoLKFwkgKA8GICiKCNopCMmlf\nrCBajF5UUGjvKmwzbaHNFykoSmkraFiZQem/F89zYRLHe2bumfvMHH8fOFzm3HOG32HunfnPOc95\n/pK+AM4CFgBIUn78eJvdlmzj9+fk9UTEakk/522W5ufcCziV1HJxWznWse1z+WZmZjayxd3s1M3d\nEyQIzQMAAAVgSURBVA8DL+XiYfiWy3GkZgZImgesjYjb8/aPAR9Iupl0y+WVpMGUM1qe81HgTkkr\nSWcP7iPNzDG/i3xmZmbWAx0XDRHxmqT9gHtJlxS+Bs6NiOERNwcD/7Zsv0TSlcCsvKwApgzP0ZC3\nmSNpHPAsqYvSR8D5TZ+jwczMbJAoDyw0MzMz265BnW/YzMzMxpiLBjMzM6ukUUWDpF0kfS1pi6Tj\nSuepm6T5kr7Ljb9+lDRP0oGlc9VJ0qGSnpO0KjcvWyHpnjwbaaNIul3Sx5I2SlpfOk9dOm1oN4gk\nTZK0QNIP+f3motKZekHSbZI+k/S7pF8kvSlpYulcdZM0MzdT3JCXxZLOK52r1/Lru0XSwyNvnTSq\naCBNMrWWNGlFEy0ELgcmApcChwOvF01UvyNJ83bMAI4m3Z0zkzSItml2Jk1i9nTpIHVpaWh3N3Ai\n8A2p+dx+RYPVb3fSIPDrae77DcAk4AnSLfBnk/5m35a0W9FU9VtDaqp4Ul4WAvMlHVU0VQ/lYn4G\n6X+0+n5NGQiZ220/CFwGfAucEBFLy6bqLUkXAm8Cu0bE5tJ5ekXSLcDMiGhku3RJ1wCPRMT40llG\nS9InwKcRcVN+LNIb8uMRsa2GdgNP0hbg4ohYUDpLr+Xi71fg9IhYVDpPL0laB9wSES+UzlI3SXsA\nX5B6GdwFfBURN1fZtxFnGiQdQJosfBqwqXCcMSFpPGlWzI+bXDBk+wCNOX3fVC0N7VqbzwWp00+7\nhnY2WPYhnVlp7P+jpJ0kTSXNP7SkdJ4eeQp4KyIWdrpjI4oG4AVgbkS0m3a6MSTNlvQnaUrvQ0jt\nwxtL0hGkNurPlM5iI9peQ7t2zedsQOSzRo8Ci1rn2WkKScdI+oPUL2kucElELC8cq3a5IDoBuK2b\n/fu2aJB0fx6g0W7ZLGmipBuBPYEHhnctGLtjVY+zZZc5pBf8HFIfkJeLBO9QF8eJpINI7flejYjn\nyyTvTDfHuQMQzb7uv6OYSxpnNLV0kB5ZDhxPGr/xNDBP0pFlI9VL0sGkwm9aRPzT1XP065gGSfsC\n+46w2WrSQLILtlo/RJqV8pWImN6DeLWpeJyrIuLfrVfmD9U1wGkR8Wkv8tWl0+OUNAF4j9Q9ta9f\nw1bdvJ5NGdOQL0/8BVzWen1f0ovA3hFxSalsvbQjjGmQ9CRwITApIr4vnWcsSHoHWBkR15XOUhdJ\nU4A3SF84h79gD5GK+s2k8XHbLQq66T0xJnJTqnUjbSfpBuCOllUTSJ27riD1xuhrVY+zjaH8c9ea\n4vRMJ8eZi6GFwOfAtb3MVbdRvp4DrcuGdtbncsEwBThjRykYsp0YgPfWDr0LHLvVuheBZcDskQoG\n6OOioaqIWNv6WNJGUgW1KiJ+LJOqfvn2mFOARcBvwBGk/h8raNBgHaV5J94nNS67Fdg/fe5ARLRr\nvz6QJB0CjAcOBYYkHZ9/tTIiNpZLNirbbWjXFJJ2J/0PDn9bOyy/fusjYk25ZPWSNJfUZPAiYGMe\ndA6wISL+LpesXpJmkS6FriFd7r4KOAOYXDJX3fL7yv/Go+TPzHURsazKcwx80dBGf15zGZ1NpLkZ\n7iHdI/4T6Y98VrfXpvrUZOCwvAy/+Q5fEx9qt9OAuhe4uuXxl/nnmcCHYx9n9Co0tGuKk0mXzyIv\nD+X1LzFgZ8dGMJN0fO9vtX46MG/M0/TOAaTjORDYACwFJndzd8EA6ujzsm/HNJiZmVl/6du7J8zM\nzKy/uGgwMzOzSlw0mJmZWSUuGszMzKwSFw1mZmZWiYsGMzMzq8RFg5mZmVXiosHMzMwqcdFgZmZm\nlbhoMDMzs0pcNJiZmVkl/wEFTN1FsUYpHgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x, p, 'k')\n", "plt.fill_between(x, 0, p, interpolate=True,\n", " where=((x<=stats.t.ppf(0.05, df)) | (x>=stats.t.ppf(0.95, df))))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Tails in practice\n", "\n", "1. Decide if your test is one or two-tailed BEFORE doing it!\n", "2. Values returned by [scipy.stats](http://docs.scipy.org/doc/scipy/reference/stats.html) functions (e.g. [ttest_ind](http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html#scipy.stats.ttest_ind)) are for two-tailed tests (mostly!)\n", " 1. If your test is two-tailed, there is no issue\n", " 2. If test is one-tailed, halve the p-value before interpreting it.\n", "In the example above the p-value was 0.28, but this is a two-tailed value while the test was one-tailed. The actual value for the test was 0.14. In this case it is still not significant (>0.05) but halving could easily make all the difference." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More on the t-test.\n", "\n", "The T-test is the most widely used statistical test, but not always appropriate. It makes several assumptions.\n", "\n", "* Sensible results need reasonably large sample sizes.\n", " * This applies to other tests too.\n", "* Assumes data in samples is normally distributed:\n", " * May or may not really be true.\n", " * If not, consider using non-parametric tests. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Non-parametric equivalents\n", "\n", "The most commonly used non-parametric test is the [Mann-Whitney U test](http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mannwhitneyu.html#scipy.stats.mannwhitneyu).\n", "\n", "* Uses ranks of data (like Spearman’s correlation).\n", "* Does not require distributions of data to be normal.\n", "* Less powerful test (more false negatives) if distributions are normal (as all non-parametric tests).\n", "\n", "When a mathematical model is available the [Kolmorogov-Smirnov (K-S) test](http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kstest.html#scipy.stats.kstest) is commonly used.\n", "\n", "* K-S test is for ‘goodness of fit’ – how well a distribution fits a mathematic model.\n", "* ‘Two-sample’ K-S test variant can be used as a non-parametric alternative to a t-test.\n", "* Tests more than just difference in means - tests other aspects of distribution shape.\n", "* Use to answer questions like 'do these two samples seem to come from the same underlying population'?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Correlation hypothesis tests\n", "\n", "We have already seen that that p-values can be obtained for correlations (Pearson or Spearman). We can test hypotheses of correlation with these.\n", "\n", "* H0 : ‘Dorset mark and end-of-year mark are not related’\n", "* H1 : ‘There is a correlation between Dorset mark and end-of-year Mark’\n", "\n", "This is a two-tailed test and we will use a 5% significance level.\n", "\n", "* Pearson R is 0.27, p=0.014 --- significant, therefore reject H0 in favor of H1.\n", "* Spearman R is 0.19, p=0.087 --- not significant, therefore accept H0.\n", "\n", "So, if we can use Pearson we can accept H1, but with Spearman we cannot - not enough evidence. We need to do a better job of deciding which to use!\n", "\t\t\t" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Tests of normality\n", "\n", "Rather than guessing whether a distribution is normal, can we test for it instead?\n", "\n", "Yes - it just becomes another hypothesis test:\n", "\n", "* $H_0$ : 'Underlying distribution is normal.'\n", "* $H_1$ : 'Underlying distribution is not normal.'\n", "\n", "Many different tests of normality exist - no universal agreement on which is best. A good solution is *D’Agostino & Pearson combined test*, provided by Python via the method [scipy.stats.normaltest](http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.normaltest.html). This function tests the null hypothesis that a sample comes from a normal distribution.\n", "\n", "This is also a good opportunity to clearly illustrate the use of the p-value using two very clear test cases. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python2.7/site-packages/IPython/core/magics/pylab.py:161: UserWarning: pylab import has clobbered these variables: ['pylab']\n", "`%matplotlib` prevents importing * from pylab and numpy\n", " \"\\n`%matplotlib` prevents importing * from pylab and numpy\"\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhIAAAFkCAYAAAB1rtL+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3Xl8XVW9///Xp4VSitACuS1FKWWQUpWpKQgqg4BlFBG4\nQLSPS50ucBWwXKSgAgXFHwJSLpOiyFjMDy6T3itSBBlEeq02KFMoKmCA0kqAplgondb3j71TTg5t\nkrOTcE7D6/l4nEc4e6+98tmkSd5Ze+21I6WEJElSEQOqXYAkSVpzGSQkSVJhBglJklSYQUKSJBVm\nkJAkSYUZJCRJUmEGCUmSVJhBQpIkFWaQkCRJhRkkJElSYRUFiYg4LiL+HBFt+evhiNi/ZP/9EbGi\n5LU8Iq4o62OziPhlRCyKiHkRcX5EDChrs1dEzI6IxRHxdEQc07PTlCRJfWGtCts/D0wB/pq/nwT8\nPCJ2TCk1Awn4MXAGEHmbN9oPzgPDncBcYFdgU+AGYAnw7bzNaOB/gSuAzwH7AldFxNyU0q8rrFeS\nJPWh6OlDuyLiFeCUlNI1EXEf8EhK6eTVtD0A+AUwMqXUmm87FjgP+JeU0rKI+D5wQEpp+5LjGoGh\nKaUDe1SsJEnqVYXnSETEgIg4GhgCPFyy6/MR8XJEPBYR34uIdUv27Qo81h4icjOAocCHS9rcU/bp\nZgC7Fa1VkiT1jUovbRARHwFmAoOB14HPppTm5LtvBP5Odulie+B8YBvgiHz/JsD8si7nl+z7cydt\nNoiIdVJKb62mro2B/YDngMWVnpckSe9hg4HRwIyU0iuVHFhxkACeAnYAhgGHA9dHxB4ppadSSleV\ntHsiIuYB90bEFimlZ7vot7NrLNGNNvuRBRlJklTM54GfVXJAxUEipbQMeCZ/2xQRuwAnAcevovnv\n849bA88C84Cdy9qMyD/OK/k4oqzNcGBhSmlJJ6U9BzB9+nTGjh3bxVnUvsmTJzNt2rRql9FrPJ/a\n1Z/OBTyfWtafzgX61/k0NzczceJEyH+XVqLIiES5AcA6q9m3E9kowkv5+5nANyOirmSexASgDWgu\naXNAWT8T8u2dWQwwduxYxo0b1/3qa9TQoUP7xXm083xqV386F/B8all/Ohfof+eTq3hqQEVBIiLO\nBX5Fdhvo+mRDIHsCEyJiS7LbNe8EXiG7/HER8EBK6fG8i7uBJ4EbImIKMBL4DnBZSmlp3uZHwNfy\nuzeuBvYhm2PhHRuSJNWYSkckRgDXkwWANuBRYEJK6TcR8QGyNR9OAtYjCxv/DZzbfnBKaUVEHAz8\nkOxOj0XAtcBZJW2ei4iDyELIicALwJdSSuV3ckiSpCqrKEiklL7cyb4XgL260cfzwMFdtHkAqK+k\nNkmS9O7zWRs1qqGhodol9CrPp3b1p3MBz6eW9adzgf53PkX1eGXLWhER44DZs2fP7o+TXyRJ6jNN\nTU3U19cD1KeUmio5tjfu2pCk95yWlhZaW1u7bijVgLq6OkaNGtUnfRskJKlCLS0tjB07ljfeeKPr\nxlINGDJkCM3NzX0SJgwSklSh1tZW3njjjX6zAJ76t/bFplpbWw0SklRL+ssCeFJPeNeGJEkqzCAh\nSZIKM0hIkqTCDBKSJKkwg4QkqaYNGDCAc845p9plaDW8a0OSelktLFbVlwsQqaOnnnqKr3/96/zu\nd79j0KBBHHTQQVx00UXU1dV16/h//vOfnHPOOdxyyy3MnTuXuro6dtttN2644QYGDx4MwLx587j4\n4ouZNWsWf/zjH/nnP//J/fffzx577NGXp9YtBglJ6kUtLS2MGTOWxYuru1jV4MFDmDOnbxYg0tte\nfPFFdt99dzbccEPOO+88Xn/9dS644AIef/xxZs2axVprdf5rduHCheyxxx7MnTuXf//3f2frrbfm\n5Zdf5re//S1vvfXWyiAxZ84cLrjgAj74wQ+y/fbbM3PmzHfj9LrFICFJvai1tTUPEdOBai1W1czi\nxX23AJHedu655/Lmm2/ypz/9ife///0A7LzzznzqU5/i2muv5ctfXu1DswE47bTTeP7553nkkUc6\nfK2+8Y1vdGg3fvx4XnnlFYYNG8att95aU0HCORKS1CfGAuOq9OpZgJk6dSoDBgxgzpw5HHnkkQwd\nOpS6ujq+/vWv89Zbb632uKVLl7Lxxhuv8pfn66+/zrrrrsuUKVNWtj3zzDMZP348w4YN433vex97\n7LEH999/f5f1TZo0iS222GK1dZebPn0648ePZ8iQIWy88cY0NDTwwgsvdPl5uuO2227j4IMPXhki\nAPbZZx+22WYbbr755k6PbWtr49prr+XYY49l1KhRLF26lCVLlqyy7XrrrcewYcN6pebeZpCQJHUQ\nEQAceeSRLFmyhPPOO4+DDjqISy65hGOPPXa1x6299tp89rOf5fbbb2fZsmUd9t1+++0sWbKEo48+\nGsiG9K+++mo++clPcv7553P22WfT2trK/vvvz6OPPtplfe01drX93HPP5ZhjjmHMmDFMmzaNyZMn\nc++997LnnnuycOHCle3efPNNXnnllS5fCxYsWHnM3Llz+cc//sH48ePfUcsuu+zCI4880ul5PPTQ\nQ7z11ltstdVWHHHEEQwZMoR1112XT3ziE13+P6glXtqQJK3SVlttxW233QbA8ccfz/rrr88Pf/hD\nTjnlFD7ykY+s8pijjjqKq6++mrvvvpsDDzxw5fabbrqJLbfckp122gmAjTbaiOeee67DHIKvfOUr\njBkzhksvvZSf/OQnPa6/paWFqVOn8r3vfW/lSAjAYYcdxo477sgVV1zBaaedBrAyzHRl9OjRPPPM\nMwC89NJLAIwcOfId7UaOHMmrr77K0qVLWXvttVfZ11/+8hdSSpx22mlsvfXWTJ8+nQULFjB16lT2\n3ntvnnjiCUaMGFHxeb/bDBKSpHeICL761a922HbCCSdwxRVXcOedd642SOy9997U1dVx0003rQwS\nCxYs4J577uHUU0/t0H97iEgpsWDBApYvX8748eNpamrqlXO49dZbSSnxr//6r7zyyisrtw8fPpwP\nfvCD3HfffSuDxDHHHMPuu+/eZZ/rrrvuyv9+8803AVhnnXXe0a59kuSbb7652iDxz3/+E8hub/3N\nb36zsu+ddtqJXXfdlcsvv3yNuO3VICFJWqWtt976He8HDBjA3//+d1577bUO1/PXXXddNthgAwYO\nHMjhhx9OY2MjS5YsYdCgQdx6660sW7aMI488skN/1113HRdddBFPPfUUS5cuXbl9yy237JX6//rX\nv7JixYp3nAdkQWbQoEEr348ePZrRo0dX1H/7L/5VzRtZvHhxhzadHf/pT3+6Q7tddtmFLbbYgocf\nfriieqrFICFJqthhhx3GAw88AGS/lI855hiuvvpqILu8ceWVV3LXXXdxyCGHcPPNN7Ptttuy3Xbb\nrTx++vTpfOELX+Cwww7j1FNPZfjw4QwcOJDvfe97Ky8drM6q5kcALF++vMP7FStWMGDAAO66665V\nTsJ83/vet/K/Fy1atHKEoDMDBw5cuT5E+yWN9kscpV566SU22mij1Y5GAGy66aYAq7x8MXz4cF57\n7bUu66kFBglJ0ir95S9/YfPNN1/5vv0v/M0335wvf/nLHX7Rtf9SBNhzzz0ZOXIkN910Ex//+Me5\n7777OOOMMzr0feutt7LVVltxyy23dNh+5plndlnXhhtu2GHSY7vnnnuuw/utttqKlBKjR49e5ahE\nqQsvvLDiORKbbrop//Iv/8If//jHd7SbNWsWO+64Y6d91dfXA9laFOXmzp3L2LHVun24MgYJSVVX\nCytBdsd7abXIlBKXX345++6778ptl1xyCRHBAQcc0GF0oVxEcMQRR3DNNdew8847s3z58ndc1hg4\ncOA7RhZ+//vfM3PmzA7hZVW22mor2traePzxx1fO1XjppZe44447OrQ77LDDOP300zn77LO54YYb\n3tHPq6++ykYbbQQUmyMBcPjhh3P99dfz4osvrrwF9N577+Xpp5/mP//zP1e2W7ZsGX/7298YOnQo\nm2yyCQDbbLMNO+ywAz//+c871HL33Xfz/PPPc9JJJ3VZTy0wSEiqqlpZCbI72leL7J7utusLvfO5\nn332WT7zmc+w//77M3PmTKZPn87EiRM7DRHtjjrqKC699FLOOusstttuO8aMGdNh/8EHH8xtt93G\noYceykEHHcQzzzzDlVdeyYc//OEuLzE0NDQwZcoUDj30UE488UQWLVrEj370I8aMGdNhouaWW27J\nd7/7Xb75zW/y7LPPcuihh7L++uvzzDPPcMcdd3Dsscdy8sknA8XmSAB885vf5JZbbmGvvfbipJNO\n4vXXX+fCCy9khx12YNKkSSvbvfjii4wdO5ZJkyatvAQEMG3aNCZMmMDHP/5xjj32WBYsWMC0adPY\ndtttOe644zp8ru9+97tEBE888QQpJa6//np++9vfAvCtb32r4tp7i0FCUlXVxkqQ3fH2apGdqaur\nY/DgISxePPFdqmvVBg8e0u1nPaxKRHDTTTdxxhlncPrpp7PWWmtx4okncv7553fr+I997GNsttlm\nvPDCCyvXjig1adIk5s+fz5VXXsndd9/Nhz70IW688UZuvvlmHnzwwXfUUjp6seGGG3LHHXdw8skn\nM2XKFLbYYgvOO+88nn766Xfc8TFlypSVa0i03wGx2Wabsf/++3PIIYdU+r/lHT7wgQ/wwAMPcPLJ\nJ3P66aczaNAgDj74YC688MJ3zI9Y1ToXe+21F3fddRdnnHEG3/rWtxgyZAiHHXYY3//+9xkyZEiH\ntmeeeebK4yOCa665ZuV/VzNIREqpap+8N0XEOGD27NmzGTduXLXLkdRNTU1N+bXi2WSrMtaqJqCe\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "from scipy import stats\n", "import pylab\n", "%pylab inline\n", "\n", "# Create a normal distribution.\n", "values = stats.norm.rvs(size=10000)\n", "statistic, pvalue = stats.normaltest(values)\n", "pylab.hist(values)\n", "pylab.legend((\"p-value=%.2g\"%pvalue, ))\n", "pylab.show()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 p-value = 0.96125158648\n", "1 p-value = 0.445257247942\n", "2 p-value = 0.443626353466\n", "3 p-value = 0.0664135688229\n", "4 p-value = 0.781638737621\n", "5 p-value = 0.344073208626\n", "6 p-value = 0.419831007883\n", "7 p-value = 0.19799418806\n", "8 p-value = 0.365709909305\n", "9 p-value = 0.175158687506\n" ] } ], "source": [ "# However, notice how it varies for different sets of data.\n", "# Even with perfect data you can get false positives!\n", "for i in range(10):\n", " values = stats.norm.rvs(size=1000)\n", " statistic, pvalue = stats.normaltest(values)\n", " print i, \"p-value = \", pvalue" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nfPTRR5xyyilA4U3rhhtuoKamhrPOOoulS5dy/fXXc8QRR/DEE0+w5557rrO+5hrX1/7973+fSy65\nhFNOOYWvfvWrvP3221x99dUceOCBPP3002yxxRYAfPjhhx06396vXz+23HLL9fYr1eLFi1m1ahUv\nvPACF1xwAf379+cLX/hCy/IPP/yQ8ePH88Ybb/D1r3+d4cOH8+ijj3LhhReycOFCrrzyynVuf6+9\n9mKzzTbj4osvZquttmL06NG8+OKLTJkyhb333ptDDz20Tf+UEiNGjOD9999ns802Y8KECfz4xz9e\nK2RsdCmlHv+gENUTzE2QesFjaqqs/HSS1DXmzp2bgDR37tyPXZbv/x8+vr6OuPTSS1NEpOOOO65N\n++TJk1NZWVl67rnnPnbdBx54IEVEuvfee9u0H3XUUWmnnXZqed7U1JRWrlzZpk9jY2MaOnRoOvPM\nM9u0R0SaNm1ay/NJkyalHXfcMbPusrKylufz589P/fv3T9OnT2/T73/+53/SgAED0g9/+MO19nl9\nj6zXbfaNb3yjzet31MKFC9u8RlVVVZo1a1abPpdffnkaPHhweumll9q0X3jhhWnAgAHp9ddfX+/r\nzJ49O2233XZtXuvII49My5Yta9PvX//1X9O5556bamtr0x133JHOP//8NGDAgDR69Oi0dOnS9b7O\nuv4+Wi8HxqYS338dSZCkHiAi1pqcfc455zBjxgxmz57N7rvvnrnewQcfTEVFBbfeeitHHXUUAO+9\n9x5z5szhO9/5TpvtN480pOLQ+urVq9lrr72oq6vrkn24/fbbSSlx4okntrkSrbKykp133pmHHnqI\nCy64AIDTTjuNAw44YL3b7KqJhK196lOfYs6cOSxfvpynn36aO+64Y61h/lmzZnHAAQcwZMiQNvty\nyCGHMH36dH77299SU1OzztepqKhg7Nix7L///uy6664888wz/PM//zOTJk3itttua+l37rnntlnv\nuOOOY9y4cZx66qnMmDGjzX/Hjc2QIEk9xE477bTW87KyMubPn8+7777LRx991LJs0003ZYsttqBf\nv36ccMIJ1NbW8tFHH7HJJptw++23s2rVqrUm4f3yl7/kyiuv5Pnnn2flypUt7SNGjOiS+v/yl7/Q\n1NS01n5AIaRssskmLc932GEHdthhhy553VINGDCAgw8+GICjjjqKgw8+mP3224/KysqWoPXiiy/y\n3HPPsc0226y1fkTw1ltvAYWJs60vwdx8883ZbLPNePnllznooIOYOXMmEyZMAOBLX/oS22+/PZMm\nTeL+++/n8MMP/9gaa2pq+Pa3v71W2NvYDAmS1Ascf/zx/OY3vwEKb1KnnXYaN9xwAwAnn3wy1113\nHffddx9f/vKXue2229hll13YY481V4PNnDmT008/neOPP57vfOc7VFZW0q9fP37wgx/w8ssvr/O1\ns+YjAGvdn6CpqYmysjLuu+++zAmNm2++ecu/ly1bxvvvv7/e/e7Xr1+X37+gvX333Zdhw4Zx8803\nt4SEpqYmvvjFLzJlypTMiYqjRo0CYNy4ccyfPx8oHKepU6dyySWXcOONN7JixQqOPvroNut96Utf\nAuCRRx5ZZ0gAGD58OO+8884G79+GMCRIUg/x4osvsv3227c8b/5kvv3223PmmWfy7rvvtizbbrvt\nWv594IEHMmzYMG699Vb2228/HnroIS6++OI227799tsZOXLkWpcAXnLJJeuta6uttlpr5j/Aq6++\n2ub5yJEjSSmxww47ZI4mtPajH/0o8wZC7e2www7rDTFdYfny5TQ2NrY8HzlyJO+//z4HHXTQOte7\n5ZZb+PDDD1ueN4/KvPXWW6SUWL16NQMGDGhZvmrVqjY/1+XVV1/N/avRDQmS1AOklLjmmmvazHq/\n+uqriQiOPPLINqMC7UUEf/M3f8MvfvELxo0bx+rVq9c61dCvX7+1RgT+8Ic/8Nhjj7UJJllGjhxJ\nY2Mjf/rTn1rmRrz55pvcddddbfodf/zxXHjhhUybNo2bbrppre288847LfcB2BhzEubNm8egQYNa\n7m74wQcfEBFrbfP222/n3XffZdy4cS1tJ510EtOmTeOBBx7gsMMOa9O/sbGRzTffnH79+rHvvvtm\nvvaoUaNoamritttu4ytf+UpL+y233EJEtHnzb2hoWGu0ZMaMGbz99tsceeSRndv5LmJIkPQJUd/r\nX/uVV17h2GOP5YgjjuCxxx5j5syZTJw4cZ0BodnJJ5/MT3/6U6ZOncoee+zB6NGj2yw/5phjuOOO\nO5gwYQJHH300L7/8Mtdddx277bbbeof9a2pqmDJlChMmTODcc89l2bJlXHvttYwePbrNpMcRI0bw\nve99j4suuohXXnmFCRMmMHjwYF5++WXuuusuvva1r/Gtb30L6PychAULFrQEkKeeegooXHYJhfsd\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# However, the degree of varability for the p-value is put into context\n", "# when you compare it with other kinds of distributions - e.g. the exponential distribution.\n", "values = stats.expon.rvs(size=1000)\n", "statistic, pvalue = stats.normaltest(values)\n", "pylab.hist(values)\n", "pylab.legend((\"p-value=%.2g\"%pvalue, ))\n", "pylab.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Demo - are the marks distributions normal in first year marks example?" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('field_mark', 'overall_year')\n" ] } ], "source": [ "# Read in the records.\n", "record = np.recfromcsv(\"./first_year_marks.csv\") \n", "\n", "print record.dtype.names" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Skew = 11.9087181796\n", "H0 - field marks come from a normal distribution: Reject in favor of H1.\n" ] }, { "data": { "image/png": "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\npjaur/zcc8/l+OOPZ/To0cycOZOamhruuusu9tlnH958883meu+88w6vvvrqeqc33nijeZnnn3+e\nl19+mbFjx67Tlr322ouHHnqo07/joYceIiKoqqpqVT506FDe9773tVr+oYceaveumHvttRfLli3j\n8ccf73RbL7zwAkCrcQ133XUXgwYN4p///Ce77bYbAwYMYNCgQXz1q1/tNPiVgqcMJKmERo4cyY03\n3ghkh50HDhzIT3/6U7797W+zxx57tLvMF7/4Ra644gruuOMODj744Oby6667jhEjRjQPgNtmm214\n5plnWp1jP/nkkxk9ejSXXHIJP//5z7vd/sWLFzN16lTOO++85iMTAEceeSRjxoxhzpw5fPe73wVo\nDiXrs/POOzf/ym76kh06dOg69YYOHcprr73GqlWr2GKLLdpd1/qWf/7551vV3WeffdqtB1k4+cAH\nPtDudl5//XUuv/xyxo0bx/bbb99c/sQTT7Bq1SoOO+wwTj75ZGbMmME999zDrFmzaGxs5Nprr213\nfaVgIJCkEokITjvttFZlX/va15gzZw633nprh4Fgv/32Y/DgwVx33XXNgeCNN97gzjvv5Iwzzmi1\n/qYwkFLijTfeYM2aNYwdO5a6urqC/A3z588npcQxxxzDq6++2lw+ZMgQdt11V+6+++7mQHD88cez\n9957r3edTeffITuqANCnT5916vXt27e5TkeBYH3LL126tFXdjuqllJrX1VZKiWOPPZbGxkYuueSS\nVvPeeust3nnnHU499VRmzpwJ/OvUwmWXXcb06dObByuWmoFAkkpol112Wed1WVkZzz77LK+//jor\nV65sntevXz8GDRpEr169OOqoo6itrWXlypVsueWWzJ8/n9WrV69z2dtVV13FRRddxKJFi5rPgQOM\nGDGiIO3/xz/+wdq1a9f5OyALJFtuuWXz65133pmdd945r/U3hYP2Dq8vX768VZ2uLN9y2X79+nVY\nLyI63M7pp5/OHXfcwTXXXLNOiGtapuk0TpNjjz2WSy+9lAULFhgIJEmdO/LII7n33nuB7Mv1+OOP\n54orrgCy0waXXnopt912G4ceeijXX389u+22Gx/84Aebl587dy4nnHACRx55JGeccQZDhgyhV69e\nnHfeea0GvrWnvfEDAGvWrGn1eu3atZSVlXHbbbe1O9hwwIABzf/99ttv89Zbb6337+7Vq1fzefim\nw/VNh/5beuGFF9hmm206PDrQdvmWgxKbyj760Y+2qtvRdgB23HHHdeZNmzaNn/3sZ/zwhz/k2GOP\nXWf+jjvuyKOPPtrqNAJkR1AgO9WwsTAQSFIJPfHEE+y0007Nr5t+ce+0006cdNJJrb4wWn4h7bPP\nPgwdOpTrrruOT37yk9x9991Mnjy51brnz5/PyJEjW42kB9a5Tr4973nPe1oN7mvyzDPPtHo9cuRI\nUkrsvPPO7R4laOnCCy/MewzBjjvuyHbbbceDDz64Tr0HHniAMWPGdLquMWPGkFLiwQcfbDUw8YUX\nXuC5555rNYBzzJgx3Hfffeus449//CP9+/dvvjyxyezZs5k2bRrf/OY3+fa3v93u9quqqrjzzjtZ\nsmQJu+66a3N509iF7bbbrtP2b0gGAkkqkZQSs2fP5oADDmgumzVrFhHB5z73uVa/9tuKCI4++miu\nvPJKPvKRj7BmzZp1Thf06tVrnV/6f/rTn1iwYEGrENKekSNH0tjYyCOPPNJ8GPyFF17g5ptvblXv\nyCOP5KyzzmLatGlcc80166zntddeY5tttgG6NoYA4KijjuLqq69myZIlzb/y77rrLh5//HG+9a1v\nNddbvXo1Tz75JOXl5eywww4A7L777uy2225cdtllnHLKKc39MWfOHMrKyjjqqKOalz/66KOZP38+\nN954I0ceeSSQ3fNi3rx5HHrooa2ORFx33XVMmjSJf/u3f+PCCy/s8G8ZP348M2bM4PLLL2ffffdt\nLv/FL37BFlts0aqs1AwEknqw+h6/7aeffprDDjuMgw46iAULFjB37lyOO+64TsNAky9+8Ytccskl\nTJkyhQ9+8IOMHj261fzPf/7z3HjjjRx++OEccsghPPXUU1x66aV84AMfWO+h++rqas4880wOP/xw\nvv71r/P222/zs5/9jNGjR7cakDhixAh+8IMfcPbZZ/P0009z+OGHM3DgQJ566iluvvlmTjnlFL75\nzW8CXRtDAHD22Wczb9489t13XyZNmsTSpUu58MIL2XPPPZk4cWJzvSVLllBRUcHEiRObT60AXHDB\nBRx22GEceOCBTJgwgYcffpjZs2dz8skns9tuuzXXO/roo7n44os54YQT+Pvf/87gwYOZM2cOa9as\nYerUqc31/vznP/PlL3+ZwYMH8+lPf3qdKwU+8YlPNN/DYcyYMZx44olceeWVrFq1in322Ye7776b\n+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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "field_mark = np.array(record[\"field_mark\"], dtype=float)\n", "\n", "k2, p = stats.normaltest(field_mark)\n", "print \"Skew = \", k2\n", "print \"H0 - field marks come from a normal distribution: \",\n", "if p<0.05:\n", " print \"Reject in favor of H1.\"\n", "else:\n", " print \"Accept.\"\n", "\n", "pylab.hist(field_mark, bins=5)\n", "pylab.legend((\"p-value=%.2g\"%p, ))\n", "pylab.show()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Skew = 0.0402331177378\n", "H0 - overall year marks come from a normal distribution: Accept.\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAFkCAYAAABfHiNRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3XucVXW9//HXZ0AEFMcLAXo6iIBwqBRlyDJTUbuQ+jOv\n6Cgq+vCapnE8Py+dTKUwf1bS8YKaHTUj56eB2q9HeD9qaaSPGCsvg2ncEhFB5SKCCHx/f6w908ww\nwzAze8+e2byej8d+yF7ru9f+fFks93t/13evFSklJEnS1q2s2AVIkqTiMxBIkiQDgSRJMhBIkiQM\nBJIkCQOBJEnCQCBJkjAQSJIkDASSJAkDgSRJopWBICLOi4i/RMSK3OMPETG23vqnI2JjvceGiJia\n/7IlSVI+RWvuZRARRwAbgDdyiyYA/xvYJ6VUExFPAa8BVwKRa/NhSumDvFUsSZLyrntrGqeUftto\n0Xci4nzg80BNbtmHKaWl+ShOkiR1jDbPIYiIsog4CegN/KHeqlMiYmlEvBQR10ZEr3ZXKUmSCqpV\nIwQAEfEZYBbQE1gFHJNSei23+pfAAuAtYG/gemAYcPxmtrcL8FVgPrC2tfVIkrQV6wkMAh5NKb3b\nng21ag4BQER0BwYCOwLHAWcDB6WU5jTR9hDgCWBoSmleM9s7mSxISJKktjklpXRvezbQ6hGClNJ6\nYG7uaXVE7AdcDJzfRPPnySYXDgWaDARkIwNMmzaNESNGtLacLmXixIlMmTKl2GUU3NbST9h6+mo/\nS4v9LB01NTWMHz8ecp+l7dHqQNCEMmDbZtbtCyRg8WZevxZgxIgRjBo1Kg/ldF7l5eUl30fYevoJ\nW09f7WdpsZ8lqd2n3FsVCCJiMvAw8A+gD3AKcDDwlYgYDJwMzATeBUYCNwDPpJRebm+hkiSpcFo7\nQtAfuAfYFVgB/BX4SkrpfyLik8CXyE4fbEcWGn4FTM5fuZIkqRBaex2Cszaz7k1gTHsLkiRJHc97\nGXSgysrKYpfQIbaWfsLW01f7WVrsp5rS6p8d5r2AiFHA7NmzZ29Nkz8kSWq36upqKioqACpSStXt\n2VY+fmUgqRNZuHAhy5YtK3YZndbixYtZvnz5FrXdcccd2XXXXQtckbR5ffv2ZeDAgQV/HwOBVEIW\nLlzI8OEjWLv2w2KX0mmVlZWxcePGYpchbbHevXtTU1NT8FBgIJBKyLJly3JhYBpQ2hf6apsaNm4c\nv1VcCE2lofbCQ8uWLTMQSGqLEYBzcpqzNVwITWotf2UgSZIMBJIkyUAgSZIwEEiSJAwEkqQCKSsr\nY9KkScUuQ1vIXxlIUk5nuKhTR12ERjBnzhy+9a1v8dxzz9GjRw+OOOIIbrjhBvr27dvia1evXs1/\n/ud/MmPGDJYuXcrgwYO56KKLOO+88zZpO3v2bK666ipmz57NBx98wODBgznrrLO44IILKCvrPN/L\nDQSSROe5qFPPnr157bXCX4Rma7do0SIOPPBAdtppJ6677jpWrVrFD3/4Q15++WVeeOEFundv/uNx\n48aNfOUrX6G6upoLL7yQoUOH8uijj/KNb3yD5cuXc/nll9e1ra6u5oADDmDYsGFcfvnl9O7dm4cf\nfpiLL76YuXPnMmXKlI7o7hYxEEgSneWiTjWsXdsxF6HZ2k2ePJk1a9bw5z//mX/5l38B4LOf/Sxf\n/vKXufvuuznrrGZv7suMGTOYNWsWd911F6effjoA5557LieccALf+973OOuss+pGGW677TYigt//\n/veUl5cDcPbZZzNmzBjuvvvuThUIOs9YhSR1CrUXdSrGo31B5Oqrr6asrIzXXnuNcePGUV5eTt++\nffnWt77FRx991OzrPv74Y3bZZZcmPwRXrVpFr169uOyyy+rafve732X06NHsuOOObL/99hx00EE8\n/fTTLdY3YcIE9thjj2brbmzatGmMHj2a3r17s8suu1BZWcmbb77Z4vtsiQceeIAjjzyyLgwAHHbY\nYQwbNoz7779/s6999tlniQjGjRvXYPlJJ53EmjVr+PWvf123bNWqVfTs2bMuDNQaMGAAvXr1ykNP\n8sdAIEklIiIAGDduHOvWreO6667jiCOO4MYbb+Tcc89t9nXbbLMNxxxzDA8++CDr169vsO7BBx9k\n3bp1nHTSSQCsXLmSO++8k0MOOYTrr7+ea665hmXLljF27Fj++te/tlhfbY0tLZ88eTKnn346w4cP\nZ8qUKUycOJEnn3ySgw8+mJUrV9a1W7NmDe+++26Lj/o3tHrrrbd45513GD169Ca17Lfffrz44oub\n7cdHH31Et27d2HbbbRss7927N5DNGag1ZswYVq5cyTnnnMOcOXNYuHAht912Gw899BBXXHHFZt+n\no3nKQJJKzJAhQ3jggQcAOP/88+nTpw+33nor//Ef/8FnPvOZJl9z4okncuedd/LYY49x+OGH1y2/\n7777GDx4MPvuuy8AO++8M/Pnz29wjv3ss89m+PDh3HTTTdxxxx3trn/hwoVcffXVXHvttXUjEwDH\nHnss++yzD1OnTq07T18bSloyaNAg5s6dC2R3vASavJPlrrvuynvvvcfHH3/MNtts0+S2hg8fzoYN\nG/jjH//IF77whbrlv/vd74BsfkKts88+m1deeYXbb7+dn/3sZwB0796dm2++mXPOOafFujuSgUCS\nSkhEcMEFFzRY9s1vfpOpU6cyc+bMZgPBoYceSt++fbnvvvvqAsHy5ct54oknuPTSSxtsvzYMpJRY\nvnw5GzZsYPTo0VRXV+elDzNmzCClxAknnMC7775bt7xfv37sueeePPXUU3WB4PTTT+fAAw9scZv1\nh+fXrFkDsMk3fICePXvWtWkuEJx88slMmjSJM844g1tuuYU999yTRx99lFtvvZWIqNs+ZD+9HDJk\nCGPHjmXcuHFsu+22VFVVceGFFzJgwACOOuqoLfgb6RgGAkkqMUOHDt3keVlZGQsWLOD9999n3bp1\ndet69erFDjvsQLdu3TjuuOOoqqpi3bp19OjRgxkzZrB+/fpNzpX//Oc/54YbbmDOnDl8/PHHdcsH\nDx6cl/rfeOMNNm7cuEk/IAskPXr0qHs+aNAgBg0a1Krt14aDpuZVrF27tkGbpvTv35/f/OY3nHrq\nqXz1q18lpUR5eTk333wzp512Gttvv31d2+uuu46bbrqJ119/ve6UwvHHH8+hhx7KBRdcwJFHHtlp\nfnpoIJCkrcixxx7LM888A2Qfrqeffjp33nknkJ02uP3223nkkUc46qijuP/++/m3f/s39tprr7rX\nT5s2jTPOOINjjz2WSy+9lH79+tGtWzeuvfbauiH55jQ1fwBgw4YNDZ5v3LiRsrIyHnnkkSY/LOt/\n4K5evZoPPvigxX5369atbuZ/7amC2lMH9S1evJidd9652dGBWl/84heZO3cuL730EqtXr2bkyJF1\npwqGDRtW1+7WW2/l0EMPrQsDtY466iguueQS5s+fn7cg1V4GAkkqMa+//jq777573fPab9y77747\nZ511Fu+//37dut12263uzwcffDC77ror9913HwcccABPPfUUV155ZYNtz5gxgyFDhjB9+vQGy7/7\n3e+2WNdOO+3UYHJfrfnz5zd4PmTIEFJKDBo0qMlRgvp+9KMftXoOwW677cYnPvEJ/vSnP23S7oUX\nXmCfffZpcXuQBZy999677vnjjz9ORPClL32pbtmSJUs2CTxA3chK40mcxWQgkKQSklLilltuafCh\ndOONNxIRfO1rX2vwbb+xiOD444/nrrvu4rOf/SwbNmzY5HRBt27dNvmm//zzzzNr1qwGIaQpQ4YM\nYcWKFbz88st1cxkWL17MQw891KDdscceyxVXXME111zDL37xi022895777HzzjsDbZtDAHDcccdx\nzz33sGjRorqfHj755JP87W9/45JLLqlrt379ev7+979TXl7OgAEDmt3+0qVLuf766xk5cmSDv/th\nw4bx+OOP8/7777PTTjsB2QjIfffdR58+fRgyZEiLtXcUA4EkNVDT5d973rx5fP3rX2fs2LHMmjWL\nadOmMX78+M2GgVonnngiN910E1dddRV77bUXw4cPb7D+yCOP5IEHHuDoo4/miCOOYO7cudx+++18\n+tOfbnHovrKykssuu4yjjz6aiy66iNWrV3PbbbcxfPjwBhMSBw8ezPe//32+/e1vM2/ePI4++mj6\n9OnD3Llzeeihhzj33HP593//d6BtcwgAvv3tbzN9+nTGjBnDxRdfzKpVq/jRj37EyJEjmTBhQl27\nRYsWMWLECCZMmFB3agWynxPuv//+DB06lMWLF3PHHXewevVqZs6c2eB9Lr/8ck499VT2228/zjnn\nHHr16sW9997Liy++yOTJk+nWrVuray+YlFJRH2RX40izZ89Oktpn9uzZCUgwO0Hysckj+/tp6v83\nCxYsSD179s79/RXv0bNn77RgwYI27f+rr746lZWVpTlz5qQTTjghlZeXp1122SVdfPHF6aOPPtri\n7QwcODCVlZWlH/zgB02uv+6669Iee+yRevXqlSoqKtLMmTPThAkT0uDBgxu0KysrS5MmTWqw7Ikn\nnkh777136tmzZxoxYkS699576+pu7MEHH0wHHXRQ6tOnT+rTp0/61Kc+lS666KL0+uuvb3FfNufV\nV19NY8eOTdtvv33aeeed02mnnZbeeeedBm3mz5+fysrK0plnntlg+SWXXJKGDh2aevXqlfr3759O\nPfXUNG/evCbf57HHHkuHHHJI6tevX+rZs2caOXJk+ulPf7pFNdYe0819Rv7zmGdUaufncaTsQ7lo\nImIUMHv27NmMGjWqqLVIXV11dTUVFRXAbLKsrYaqgQqa+/9NV7+50TXXXMOkSZNYunRp3ZC6urba\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "overall_year = np.array(record[\"overall_year\"], dtype=float)\n", "\n", "k2, p = stats.normaltest(overall_year)\n", "print \"Skew = \", k2\n", "print \"H0 - overall year marks come from a normal distribution: \",\n", "if p<0.05:\n", " print \"Reject in favor of H1.\"\n", "else:\n", " print \"Accept.\"\n", "\n", "pylab.hist(overall_year, bins=5)\n", "pylab.legend((\"p-value=%.2g\"%p, ))\n", "pylab.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As at least one of these datasets does not have a normal distribution we should use Spearman's correlation test." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise 7.1: Hypothesis Testing\n", "\n", "1. I have two sets of trilobite fossils from different localities. I think they are from the same species but want some quantitative confirmation – on the basis of their mean length:width ratio ([triloshape1.csv](https://raw.githubusercontent.com/ggorman/Introduction-to-stats-for-geoscientists/gh-pages/data/triloshape1.csv), [triloshape2.csv](https://raw.githubusercontent.com/ggorman/Introduction-to-stats-for-geoscientists/gh-pages/data/triloshape2.csv)) is there evidence that they are different?\n", "2. I have measured mica percentages in samples of igneous rocks from two different localities ([micapercent1.csv](https://raw.githubusercontent.com/ggorman/Introduction-to-stats-for-geoscientists/gh-pages/data/micapercent1.csv), [micapercent2.csv](https://raw.githubusercontent.com/ggorman/Introduction-to-stats-for-geoscientists/gh-pages/data/micapercent2.csv)). The mean mica percentage is lower in the second locality and I have a geological theory that may explain this, but I first need to rule out the possibility that the lower mica content is just due to chance.\n", "\n", "In each case construct (i.e. actually write down) your two hypotheses, decide from how they are worded whether they are one-tailed or two-tailed, then use your program to assess which you should accept.\n", "\n", "Hints:\n", "\n", "* Test data sets for normality (i.e. do they have normal distribution). Use the D’Agostino & Pearson test to provide probabilities of normality.\n", "* Test whether their means differ significantly. When testing if the means are different you should use use either a two-tailed Mann-Whitney p value, or a two-tailed T-test p value depending on the result of the normality test. Remember that the scipy.stats Mann-Whitney function returns a one-tailed p-value.\n", "\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Practical 7.2: Kolmogorov-Smirnov Test\n", "\n", "* Use the triolbite data above and perform a two-sided Kolmogorov-Smirnov test (two samples) on whether they come from the same distribution, or not.\n", "* Test whether each trilobite data comes from an exponential distribution or not. (You will need to generate an exponential distribution for this question, and normalise all the distributions first)\n", "\n", "**NB** : The necessary function CAN be found in scipy.stats [here](http://docs.scipy.org/doc/scipy-0.15.1/reference/generated/scipy.stats.ks_2samp.html)\n", "\n", "## BONUS (Harder)\n", "\n", "* Plot the cumulative distribution functions (CDF) for the trilobite data in one figure as linegraphs.\n", "* Plot an exponential CDF on top of this as well (with a dashed line)\n", "* Was there ever any suspicion the data might be exponential?\n", "\n", "**HINT** histograms have a cumulative argument which you can make use of." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 0 }