Skip to content

Instantly share code, notes, and snippets.

@p16i
Created December 15, 2019 13:00
Show Gist options
  • Save p16i/622beb58d06c649e082a173993998c0e to your computer and use it in GitHub Desktop.
Save p16i/622beb58d06c649e082a173993998c0e to your computer and use it in GitHub Desktop.
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Stats-W6-Hypothesis-Testing",
"provenance": [],
"collapsed_sections": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "code",
"metadata": {
"id": "WOKdiZY_AwLT",
"colab_type": "code",
"colab": {}
},
"source": [
"import numpy as np\n",
"from scipy.stats import hypergeom\n",
"from matplotlib import pyplot as plt"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "v7TvEOTIA6uZ",
"colab_type": "text"
},
"source": [
"# Fisher's Exact Test\n",
"\n",
"Consider the lady drinking tea situation. The lady claims that she can distinguish whether tea is made by pouring milk first or vice versa.\n",
" \n",
"Consider the contingency table $T$ below.\n",
"\n",
"|Predicted / Actual | Tea first | Milk first | # |\n",
"|-------------------:|:-----------:|:------------:|:----:|\n",
"| Tea first | a | b | a + b |\n",
"| Milk first | c | d | c + d |\n",
"| | a + c | b + d | \n",
"\n",
"We would like to test whether the true positive prediction of Tea happens by chance. This test can be done by using Fisher's Exact Test. The test is based on the foundation that the true positive prediction variable $X$ is hypergeometrically distributed. Let $r=a+c$, $m=a+b$, and $N=a+b+c+d$. We can show that there are:\n",
"- $r \\choose a$ possibilities to have **correct** predictions when predicting tea (True Positive);\n",
"- $N - r \\choose m - a$ possibilities to have **wrong** predictions when predicting tea (False Positive);\n",
"- $N \\choose m$ possibiles for any predictions.\n",
"\n",
"Therefore, the probability that we observe $T$ is \n",
"\n",
"$$\n",
"P( T ) = P(X=a) = \\frac{ {r \\choose a} {N - r \\choose m- a}}{N \\choose m}, \n",
"$$\n",
"where $a$ is the number of observed successes and $N, r, m$ are the parameters of the hypergeometric distribution:\n",
"- $N$ is the populatino size;\n",
"- $r$ is the number of success states in the population;\n",
"- $m$ is the number of draws.\n",
"\n",
"To get the significant value of the test, we need to look at the probablity that we observe the table and other equally extreme tables by consider all the tables that have the same marginal distributions, which are $a+b$, $c+d$, $a+c$, and $c+d$ respectively. For two-sided test, the significant value is the sum of probablities of all configurations that are equal or below the one of the observed data."
]
},
{
"cell_type": "code",
"metadata": {
"id": "fQhm9Pj9dYO9",
"colab_type": "code",
"outputId": "0421bd6a-b63a-47eb-fa03-46a7985f388a",
"cellView": "form",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 706
}
},
"source": [
"#@title Contingency Table { run: \"auto\" }\n",
"\n",
"a = 7 #@param {type: \"slider\", min: 1, max: 20}\n",
"b = 10 #@param {type: \"slider\", min: 1, max: 20}\n",
"c = 12 #@param {type: \"slider\", min: 1, max: 20}\n",
"d = 14 #@param {type: \"slider\", min: 1, max: 20}\n",
"\n",
"tab = [\n",
" [18, 2],\n",
" [11, 9]\n",
"]\n",
"def fisher_exact_test_two_sided(tab):\n",
" a = tab[0][0]\n",
" b = tab[0][1]\n",
" c = tab[1][0]\n",
" d = tab[1][1]\n",
"\n",
" print(\"| %2d | %2d |\" % (a, b))\n",
" print(\"-----+-----\")\n",
" print(\"| %2d | %2d |\" % (c, d))\n",
"\n",
" N = a + b + c + d\n",
" r = a + c\n",
" m = a + b\n",
"\n",
" print('r: ', r)\n",
" print('m: ', m)\n",
" print('N: ', N)\n",
"\n",
" rv = hypergeom(N, r, m)\n",
" threshold = rv.pmf(a)\n",
"\n",
" p_value = 0\n",
" print(\"Equally or more extreme configurations\")\n",
" print(\"a, b, c, d \\t Probability\")\n",
" for i in range(m):\n",
" aa = m - i\n",
" cc = r - aa\n",
" dd = N - (aa + i + cc)\n",
"\n",
" tt = rv.pmf(aa)\n",
" if tt <= threshold:\n",
" print(aa, i, cc, dd, \"\\t\", tt)\n",
" p_value += tt\n",
"\n",
" if dd == 0:\n",
" break\n",
"\n",
" print(\"Two-sided p-value: %.4f\" % p_value)\n",
" return rv, (N, r, m, a, p_value)\n",
"\n",
"rv, (N, r, m, a, p_value) = fisher_exact_test_two_sided([\n",
" [a, b],\n",
" [c, d] \n",
"]);\n",
"\n",
"probs = []\n",
"x = np.array(list(range(min(m, r)+1)))\n",
"for i in x:\n",
" probs.append(rv.pmf(i))\n",
"probs = np.array(probs)\n",
"abv_ix = np.argwhere(probs > rv.pmf(a))\n",
"blw_ix = np.argwhere(probs <= rv.pmf(a))\n",
"\n",
"if len(abv_ix) > 0:\n",
" plt.bar(x[abv_ix].reshape(-1), probs[abv_ix].reshape(-1), label=\"Non-extreme settings\")\n",
"\n",
"if len(blw_ix) > 0:\n",
" plt.bar(x[blw_ix].reshape(-1), probs[blw_ix].reshape(-1), color=\"red\", label=\"Equally ore more extreme settings\")\n",
"plt.vlines(a, 0, max(probs), color=\"red\", label=\"Observed data\", linestyles=\"dotted\")\n",
"plt.title(\"Fisher's 2-sided Exact Test: p=%.4f\" % p_value)\n",
"plt.legend();"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"| 7 | 10 |\n",
"-----+-----\n",
"| 12 | 14 |\n",
"r: 19\n",
"m: 17\n",
"N: 43\n",
"Equally or more extreme configurations\n",
"a, b, c, d \t Probability\n",
"17 0 2 24 \t 4.060102347920716e-10\n",
"16 1 3 23 \t 5.521739193172201e-08\n",
"15 2 4 22 \t 2.5400000288592035e-06\n",
"14 3 5 21 \t 5.5880000634902585e-05\n",
"13 4 6 20 \t 0.0006845300077775567\n",
"12 5 7 19 \t 0.005085080057776125\n",
"11 6 8 18 \t 0.02415413027443666\n",
"10 7 9 17 \t 0.07591298086251508\n",
"9 8 10 16 \t 0.16131508433284467\n",
"7 10 12 14 \t 0.23464012266595552\n",
"6 11 13 13 \t 0.1608023218270186\n",
"5 12 14 12 \t 0.0746582208482587\n",
"4 13 15 11 \t 0.02297176026100261\n",
"3 14 16 10 \t 0.004512310051268394\n",
"2 15 17 9 \t 0.0005308600060315754\n",
"1 16 18 8 \t 3.317875037697345e-05\n",
"Two-sided p-value: 0.7654\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "vNYoS_1W3thv",
"colab_type": "text"
},
"source": [
"## One-sample T-Test and Bayesian T-test\n",
"\n",
"Using data from : https://drive.google.com/drive/folders/111KtiKFTMPOy1_kQOWx_OSXQtmPMLmB4. \n",
"\n",
"**Question**:\n",
"\n",
"Use the one-sample t-test data set from the JASP library (also available here: ) to perform a Frequentist and Bayesian t-test (two-tailed). H_0 (Null hypothesis): The sample mean is not significantly different from the population mean of 178cm. What is the p-value and the Bayes factor? In the Bayesian approach use the default value for the scale parameter (= 0.707). To change this value collapse the 'Prior' field. What happens with the Bayes factor if you increase/decrease this value? Have a look at the respective plots. In our lectures we have not yet discussed the role of priors we will do so in the Monday session.\n",
"\n",
"**T-Test**\n",
"![](https://i.imgur.com/vyYNYuW.png)\n",
"\n",
"**Bayes Factor**\n",
"![](https://i.imgur.com/nsXq739.png)\n",
"\n",
"**Influence of Cauchy Prior's scale**\n",
"![](https://i.imgur.com/l3QuVzl.png)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "vVIfPQ9M5D_9",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment