{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# $t$-Tests\n", "\n", "***\n", "\n", "$t$-tests are among the most common statistical tests performed in world.\n", "\n", "This notebook focuses on the practicalities of performing $t$-tests in Python.\n", "\n", "For information about the $t$-test itself, I recommend reading [Laerd Statistics's Independent t-test using SPSS Statistics](https://statistics.laerd.com/spss-tutorials/independent-t-test-using-spss-statistics.php)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Packages\n", "***\n", "\n", "One of Python's strengths is the quality of numerical packages available.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Efficient numerical arrays.\n", "import numpy as np\n", "\n", "# Data frames.\n", "import pandas as pd\n", "\n", "# Alternative statistics package.\n", "import statsmodels.stats.weightstats as stat\n", "\n", "# Mains statistics package.\n", "import scipy.stats as ss\n", "\n", "# Plotting.\n", "import matplotlib.pyplot as plt\n", "\n", "# Fancier plotting.\n", "import seaborn as sns\n", "\n", "# Better sized plots.\n", "plt.rcParams['figure.figsize'] = (12, 8)\n", "\n", "# Nicer colours and styles for plots.\n", "plt.style.use(\"ggplot\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Fake data values\n", "\n", "***\n", "\n", "We can create fake data sets with specific properties to investigate numerical methods.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CategoryValue
0A0.662941
1A0.818880
2A1.193747
3A1.034787
4A1.344861
.........
75B1.665915
76B2.123273
77B2.244104
78B2.113169
79B2.364569
\n", "

80 rows × 2 columns

\n", "
" ], "text/plain": [ " Category Value\n", "0 A 0.662941\n", "1 A 0.818880\n", "2 A 1.193747\n", "3 A 1.034787\n", "4 A 1.344861\n", ".. ... ...\n", "75 B 1.665915\n", "76 B 2.123273\n", "77 B 2.244104\n", "78 B 2.113169\n", "79 B 2.364569\n", "\n", "[80 rows x 2 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Parameters for two different lists of numbers.\n", "m_a, s_a, m_b, s_b = 1.0, 0.4, 2.0, 0.4\n", "# Sample size.\n", "N = 40\n", "\n", "# Create two lists of numbers based on bell-shaped probability curves.\n", "a = np.random.normal(loc=m_a, scale=s_a, size=N)\n", "b = np.random.normal(loc=m_b, scale=s_b, size=N)\n", "\n", "# Stick both samples in one data frame.\n", "df = pd.DataFrame({'Category': ['A'] * len(a) + ['B'] * len(b), 'Value': np.hstack([a,b])})\n", "\n", "# We can look directly at the list of numbers, but it's not very illuminating.\n", "df" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Plot the data\n", "\n", "***\n", "\n", "A good plot can quickly show us what the numbers look like." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# One type of plot available in seaborn.\n", "sns.catplot(x='Category', y='Value', jitter=False, data=df);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### $t$-Test\n", "\n", "***\n", "\n", "Running a t-test in Python is done with a single function call. You can use scipy or statsmodels, amongst others.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t-value: -10.583695835843947\tp-value: 9.650495413963631e-17\n", "P_scipy: 0.00\n" ] } ], "source": [ "# The scipy.stats version.\n", "t_ss, p_ss = ss.ttest_ind(a, b)\n", "print(f\"t-value: {t_ss}\\tp-value: {p_ss}\")\n", "print(f\"P_scipy: {p_ss:0.2f}\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t-value: -10.583695835843946\tp-value: 9.650495413963699e-17\tDeg Free: 78.0\n", "P_statsmodels: 0.00\n" ] } ], "source": [ "# The statsmodels version.\n", "t_sm, p_sm, d_sm = stat.ttest_ind(a, b)\n", "print(f\"t-value: {t_sm}\\tp-value: {p_sm}\\tDeg Free: {d_sm}\")\n", "print(f\"P_statsmodels: {p_sm:0.2f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Visualisation of populations\n", "\n", "***\n", "\n", "$t$-tests perform calculations on samples from two populations to test whether the populations are likely similar.\n", "\n", "In the real world, we only see the samples and we cannot see the populations.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's create a plot with the following x values.\n", "x = np.linspace(-2.0, 4.0, 1000)\n", "\n", "# We'll have plots of two different populations on one set of axes.\n", "y_a = ss.norm.pdf(x, m_a, s_a)\n", "y_b = ss.norm.pdf(x, m_b, s_b)\n", "\n", "fig, ax = plt.subplots(figsize=(10,6))\n", "\n", "ax.plot(x, y_a)\n", "ax.plot(x, y_b)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Critical values\n", "\n", "***\n", "\n", "The critical value is used to make a decision regarding the calculation of the $t$ statistic from the samples.\n", "\n", "If the probability of seeing such a $t$ value given the hypothesis that there is no difference between the means is low, then data is suggesting that you should reject that hypothesis.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# This code just builds the plot below.\n", "\n", "x_t = np.linspace(-4.0, 4.0, 1000)\n", "t = ss.t.pdf(x_t, d_sm)\n", "tf = pd.DataFrame({'x': x_t, 't': t})\n", "\n", "tcrit = abs(ss.t.ppf(0.025, d_sm))\n", "one = tf[tf['x'] >= tcrit]\n", "two = tf[tf['x'] <= -tcrit]\n", "\n", "fig, ax = plt.subplots(figsize=(10,6))\n", "\n", "ax.plot(x_t, t)\n", "ax.fill_between(one['x'], one['t'], 0, facecolor=\"red\")\n", "ax.fill_between(two['x'], two['t'], 0, facecolor=\"red\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Type I errors - False Positives\n", "\n", "***" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5.32%\n" ] } ], "source": [ "# Let's run 10000 t-tests where the means are equal.\n", "# We should make the wrong decision (reject the hypothesis) (100 * critical) percent of the time.\n", "\n", "trials = 10000\n", "N = 100\n", "m_a, m_b, s = 2.0, 2.0, 0.3\n", "rejects = 0\n", "critical = 0.05\n", "\n", "for i in range(trials):\n", " a = np.random.normal(loc=m_a, scale=s, size=N)\n", " b = np.random.normal(loc=m_b, scale=s, size=N)\n", " if ss.ttest_ind(a, b)[1] <= critical:\n", " rejects = rejects + 1\n", "\n", "typei = 100.0 * (rejects / trials)\n", "print(f\"{typei:0.2f}%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Type II errors - False Negatives\n", "\n", "***\n", "\n", "The chance of a false negative is harder to quantify - it depends on how close the means are." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "35.62%\n" ] } ], "source": [ "trials = 10000\n", "N = 100\n", "m_a, m_b, s = 2.0, 2.1, 0.3\n", "dont = 0\n", "\n", "for i in range(trials):\n", " a = np.random.normal(loc=m_a, scale=s, size=N)\n", " b = np.random.normal(loc=m_b, scale=s, size=N)\n", " if ss.ttest_ind(a, b)[1] > 0.05:\n", " dont = dont + 1\n", "\n", "typeii = 100.0 * (dont / trials)\n", "print(f\"{typeii:0.2f}%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Paired samples\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we try a slightly different $t$ test - one based on repeated measures.\n", "\n", "*References for this section:*\n", "***\n", "\n", "[Vincent Arel-Bundock's R datasets list](https://vincentarelbundock.github.io/Rdatasets/articles/data.html)\n", "\n", "[t-test: Comparing Group Means](https://uc-r.github.io/t_test)\n", "\n", "***" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Unnamed: 0extragroupID
010.711
12-1.612
23-0.213
34-1.214
45-0.115
563.416
673.717
780.818
890.019
9102.0110
10111.921
11120.822
12131.123
13140.124
1415-0.125
15164.426
16175.527
17181.628
18194.629
19203.4210
\n", "
" ], "text/plain": [ " Unnamed: 0 extra group ID\n", "0 1 0.7 1 1\n", "1 2 -1.6 1 2\n", "2 3 -0.2 1 3\n", "3 4 -1.2 1 4\n", "4 5 -0.1 1 5\n", "5 6 3.4 1 6\n", "6 7 3.7 1 7\n", "7 8 0.8 1 8\n", "8 9 0.0 1 9\n", "9 10 2.0 1 10\n", "10 11 1.9 2 1\n", "11 12 0.8 2 2\n", "12 13 1.1 2 3\n", "13 14 0.1 2 4\n", "14 15 -0.1 2 5\n", "15 16 4.4 2 6\n", "16 17 5.5 2 7\n", "17 18 1.6 2 8\n", "18 19 4.6 2 9\n", "19 20 3.4 2 10" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfsleep = pd.read_csv(\"https://vincentarelbundock.github.io/Rdatasets/csv/datasets/sleep.csv\")\n", "dfsleep" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.7, -1.6, -0.2, -1.2, -0.1, 3.4, 3.7, 0.8, 0. , 2. ])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "drugA = dfsleep[dfsleep[\"group\"] == 1]\n", "drugA = drugA.sort_values(\"ID\")\n", "drugA = drugA[\"extra\"].to_numpy()\n", "drugA" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1.9, 0.8, 1.1, 0.1, -0.1, 4.4, 5.5, 1.6, 4.6, 3.4])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "drugB = dfsleep[dfsleep[\"group\"] == 2]\n", "drugB = drugB.sort_values(\"ID\")\n", "drugB = drugB[\"extra\"].to_numpy()\n", "drugB" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Ttest_relResult(statistic=-4.062127683382037, pvalue=0.00283289019738427)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ss.ttest_rel(drugA, drugB)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Ttest_1sampResult(statistic=4.062127683382037, pvalue=0.00283289019738427)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ss.ttest_1samp(drugB - drugA, 0)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4.062127683382037, 0.00283289019738427, 9.0)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stat.DescrStatsW(drugB - drugA).ttest_mean(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Samples and populations\n", "\n", "***" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArkAAAHSCAYAAADohdOwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABWIElEQVR4nO3deZSddZ3n8c+z3K2KpEKSgZiEICAMCoqACh1obLAQURRboXtww8Z962Zg1LhM23OO9kQlB2FGRhq30dOeo7QOio041oGjo0HCTogBslSqKrXfulV3355l/rhUSSWp1JJ767n3ue/XOXVSVfep535TTz3P87m/+1sM3/d9AQAAACFiBl0AAAAAUG+EXAAAAIQOIRcAAAChQ8gFAABA6BByAQAAEDqEXAAAAIQOIRcAAAChYzdqx0NDQ43aNZrA2rVrlUwmgy4DDcZxbg8c5/bAcQ6/djzG69evn/MxWnIBAAAQOoRcAAAAhA4hFwAAAKHTsD65AAAAYeD7vkqlkjzPk2EYQZczp9HRUZXL5aDLqDvf92WapuLx+KJ+/4RcAACAoyiVSopEIrLt5o5Ntm3Lsqygy2gIx3FUKpWUSCQW/DN0VwAAADgKz/OaPuCGnW3b8jxvUT9DyAUAADiKZu6i0E4WexwIuQAAAE3utttu06WXXqru7m5dfvnlevzxxxv6fNdcc42eeuqpRf2M4zg6++yz9d//+39vUFWLQ9s7AADAImwf2l7X/W1ev/mojz/66KPq6enR/fffr1gsplQqpUqlUtca6uG3v/2tTjvtNN17773asmVL4C3gtOQCAAA0sbGxMa1evVqxWEyStHr1aq1bt06SdOutt+rNb36zLrvsMt18883yfV9SrSX2S1/6kt7xjnfo9a9/vZ588kl98IMf1EUXXaSvfvWrkqSBgQFdcskl+od/+Ad1d3frQx/6kIrF4mHP/9vf/lZvfetbdcUVV+jDH/6w8vn8Eeu855579IEPfEDr16/XY4891ohfxaIQcgEAAJrY61//eg0NDeniiy/W5z73OT300EMzj73//e/XfffdpwceeEClUkm/+c1vZh6LRqP62c9+pve+97264YYb9JWvfEUPPPCAfvKTnyiVSkmS9u3bp/e85z3q6enRihUr9L//9/+e9dypVEq33XabfvzjH+vXv/61zjnnHP3Lv/zLYTUWi0X9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b9++o+7TcRw98cQTOvnkkxddTz0taJqEl770pdq6dWujawEAAMAhCoWCvvjFLyqTyci2bb30pS/V1772NXV1deld73qXuru7tXHjRp177rmL3vfpp5+uu+++W1u2bNEpp5yi66+/ftbja9as0a233qpPfOITMzM6fOYzn9Fpp5122L6+/OUv67bbblO1WtXFF1+sN7/5zUv7D9eJ4fu+34gdDw0NNWK3aBL07WouDVvWd54+uSzrGw6cz+2B47x0hUIh8JkCFsK27Xn7977YwMCArr/+ej3wwAMNrKp+jnQcjtYnl2V9AQAAEDqEXAAAgDZ00kkntUwr7lIQcgEAABA6hFwAAACEDiEXAAAAoUPIBQAAQOgQcgEAAJrcSSedpMsvv1yXXXaZPvzhD6tYLNZ1/9dcc42eeuqpo25z1113zXre9773vXVdVr67u1sf//jH67a/BS0GAQAAgJrdE7uVqWTqtr+V0ZV6+ZqXH3WbeDyu3/zmN5KkT37yk/rBD36gj3zkI3WrYSG+/e1v653vfKcSiYQk6Yc//GHd9r1nzx75vq+HH364bvMS05ILAACwCJlKRq7v1u1jsYH5da97nQ4cOKDJyUndcMMN6u7u1lVXXaVdu3ZJkrZt26ZPfepTuvbaa3XRRRfpX//1XyVJ27dv1/ve976Z/XzhC1/Qj3/848P2v2XLFl155ZW69NJLdcstt0iSvvOd72h0dFTXXnutrrnmGknSBRdcoFQqJUm68847ddlll+myyy7TXXfdJam22MTrX/96ffrTn9all16q6667bs4W6P/zf/6P3vnOd+qSSy7R//2//3dRv4+5EHIBAABahOM4evDBB3XmmWdq27ZtOvvss9XT06MtW7boU5/61Mx2u3fv1g9+8APde++9uvXWWzUyMrLg5/jsZz+rX/3qV+rp6dEf//hH/elPf9IHPvABnXjiibr77rv1b//2b7O2f/rpp/WTn/xEv/zlL3XvvffqRz/6kZ555hlJUm9vr66//no9+OCDWrlype67774jPucvfvELve1tb9Pb3/523XPPPYv/xRwBIRcAAKDJlUolXX755bryyiu1YcMGXXfdddqxY4fe+c53SpIuvvhiTU5OKpOptQpfccUVSiQSWr16tTZv3qwnn3xywc9177336oorrtAVV1yh5557Tnv27Dnq9jt27NCb3vQmdXR0qLOzU1deeaUefvhhSbW+xGeffbYk6VWvepUGBgYO+/knn3xSa9as0caNG3XxxRdr586dmpqaWnC9c6FPLgAAQJN7cZ/cab7vH7adYRiz/n3x923bnvUz5XL5sJ/v7+/XnXfeqX//93/XqlWrdOONN6pUKh21tiPVMS0Wi818blnWEfd1zz33aO/evbrgggskSblcTvfdd5/e9a53HfV550NLLgAAQAu68MIL9bOf/UxSrb/t6tWrtWLFCknSr3/9a5VKJaVSKT300EM655xztGHDBj3//PMql8vKZDL6/e9/f9g+s9msEomEVq5cqfHxcT344IMzjx133HHK5XJHrOPXv/61isWiCoWC7r///pnAOh/P8/TLX/5SPT09evjhh/Xwww/ru9/9bl26LNCSCwAA0IJuuukm3XTTTeru7lY8Htftt98+89i5556r973vfRocHNSNN96odevWSZLe+ta3qru7W6eccspMN4IXO+uss3T22Wfr0ksv1aZNm/Ta17525rF3v/vdes973qMTTjhhVr/cV77ylbr22mv1lre8RZJ03XXX6eyzzz5i14RD/fGPf9S6dev0kpe8ZOZ7F154oT75yU9qdHRUJ5544uJ/MS8w/KO1MR+DoaGhRuwWTWLt2rVKJpNBl4EXbB/a3pD9dnV1HXUOxM3rNzfkebG8OJ/bA8d56Q6d0iqIKcQWwrZtOY6jbdu2qbOzUx/96EfrUF3zONLUYuvXr59ze1pyAQAAFqEegRSNR8gFAAAIkZtvvjnoEpoCA88AAAAQOoRcAAAAhA4hFwAAAKFDyAUAAEDoEHIBAACa3EknnaTLL79cl112mT784Q+rWCzWdf/XXHONnnrqqaNuc9ddd8163ve+971HnWZyobZt26bzzz9fl19+uS655BJt2bJFnucd836ZXQEAAGARdu+2lMnUr51w5UpPL3+5e9RtXrys7yc/+Un94Ac/0Ec+8pG61bAQ3/72t/XOd75TiURCkvTDH/6wbvv+0Ic+pI9+9KPyPE/veMc79NBDD+miiy46pn3SkgsAALAImYwp1zXq9rHYwPy6171OBw4c0OTkpG644QZ1d3frqquu0q5duyTVWkY/9alP6dprr9VFF12kf/3Xf5VUW/r3fe9738x+vvCFL+jHP/7xYfvfsmWLrrzySl166aW65ZZbJEnf+c53NDo6qmuvvVbXXHONJOmCCy5QKpWSJN1555267LLLdNlll+muu+6SJA0MDOj1r3+9Pv3pT+vSSy/VddddN28LdKVSUblcVldX16J+J0dCyAUAAGgRjuPowQcf1Jlnnqlt27bp7LPPVk9Pj7Zs2aJPfepTM9vt3r1bP/jBD3Tvvffq1ltv1cjIyIKf47Of/ax+9atfqaenR3/84x/1pz/9SR/4wAd04okn6u677561pK8kPf300/rJT36iX/7yl7r33nv1ox/9SM8884wkqbe3V9dff70efPBBrVy5Uvfdd98Rn/Ouu+7S5ZdfrvPOO0+nnnrqEZccXixCLgAAQJMrlUq6/PLLdeWVV2rDhg267rrrtGPHDr3zne+UJF188cWanJxUJlNbbviKK65QIpHQ6tWrtXnzZj355JMLfq57771XV1xxha644go999xz2rNnz1G337Fjh970pjepo6NDnZ2duvLKK/Xwww9LqvUlng6sr3rVqzQwMHDEfXzoQx/Sb37zGz311FMqFAr6+c9/vuB650KfXAAAgCb34j6503zfP2w7wzBm/fvi79u2PetnyuXyYT/f39+vO++8U//+7/+uVatW6cYbb1SpVDpqbUeqY1osFpv53LKsefcViUT0V3/1V/rjH/+oq6+++qjbzoeWXAAAgBZ04YUX6mc/+5mkWn/b1atXa8WKFZKkX//61yqVSkqlUnrooYd0zjnnaMOGDXr++edVLpeVyWT0+9///rB9ZrNZJRIJrVy5UuPj43rwwQdnHjvuuOOUy+WOWMevf/1rFYtFFQoF3X///brggguW9H/yfV+PPvqoTj755CX9/IvRkgsAANCCbrrpJt10003q7u5WPB7X7bffPvPYueeeq/e9730aHBzUjTfeqHXr1kmS3vrWt6q7u1unnHLKEfu9nnXWWTr77LN16aWXatOmTXrta18789i73/1uvec979EJJ5wwq1/uK1/5Sl177bV6y1veIkm67rrrdPbZZ8/ZNeFI7rrrLv30pz+V4zh6+ctfruuvv37Rv49DGf7R2piPwdDQUCN2iyaxdu1aJZPJoMvAC7YPbW/Ifru6uo46B+Lm9Zsb8rxYXpzP7YHjvHSFQkEdHR0zXwcxhdhC2LYtx3G0bds2dXZ26qMf/Wgdqmsehx4HSVq/fv2c29OSCwAAsAi1QHrsoRSNRcgFAAAIkZtv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vMVZr+V/zlZxja4JugQAQODar8Gm3Zx0Ello2rwN72vWrNHExMTM1xMTEzr++OMP2667u1tbt27V1q1btWXLlvpWiabDMW4PHOf2wHFuDxzn8OMYzzZvyD3ttNM0PDyssbExOY6j7du36zWvec1y1AYAAAAsybzdFSzL0g033KCvfOUr8jxPl156qU466aTlqA0AAABYkgXNk3veeefpvPPOW/BOu7u7l1wQWgPHuD1wnNsDx7k9cJzDj2M8m+EfbaglAAAA0IKY8Q0AAAChs+TVnu+44w49/vjj6urq0rZt2w57/P/9v/+nn//855KkeDyuD37wg3rpS1+65EKx/OY7xtP27t2rL3zhC/rP//k/68ILL1zGClEPCznOu3bt0ve//325rqsVK1bov/23/7bMVeJYzXecC4WCbr/9dk1MTMh1Xb31rW/VpZdeGkClWKpkMqlvfvObmpqakmEY6u7u1pvf/OZZ2/i+r+9973t64oknFIvF9PGPf1ynnnpqQBVjKRZynMlgL/CXaNeuXf6+ffv8m2666YiPP/vss342m/V93/cff/xx/3Of+9xSnwoBme8Y+77vu67r/9M//ZP/z//8z/5DDz20jNWhXuY7zrlczr/xxhv98fFx3/d9f2pqajnLQ53Md5x/+tOf+j/84Q993/f9dDrtv//97/er1epylohjlEql/H379vm+7/uFQsH/+7//e39gYGDWNo899pj/la98xfc8z3/uuee4N7eghRxnMljNkrsrvOIVr9Bxxx035+P/8T/+x5nHTz/99Flz7aI1zHeMJelXv/qVLrjgAq1cuXKZqkK9zXecf//73+uCCy7Q2rVrJUldXV3LVRrqaL7jbBiGSqWSfN9XqVTScccdJ5M1TFvK8ccfP9Mqm0gktGHDBqVSqVnbPProo7rkkktkGIbOOOMM5fN5TU5OBlEulmghx5kMVrMsV7AHHnhA55577nI8FZZRKpXSjh079MY3vjHoUtBAw8PDyuVy+qd/+id99rOf1W9/+9ugS0IDvOlNb9Lg4KA+8pGP6Oabb9bf/d3fEXJb2NjYmHp7e/Wyl71s1vdTqdTMC1aptuDToQEJrWOu4/xi7ZzBGn4Fe+aZZ/Tggw/q3e9+d6OfCsvs+9//vt797ndzIww513XV29urLVu26Atf+IJ++tOfamhoKOiyUGdPPfWUTj75ZN155536+te/ru985zsqFApBl4UlKJVK2rZtm97//vero6Nj1mP+ESZUMgxjuUpDHR3tOE9r9wy25IFnC9HX16c777xTn/vc57RixYpGPhUCsG/fPt12222SpEwmoyeeeEKmaep1r3tdwJWhntasWaMVK1YoHo8rHo/r5S9/ufr6+rR+Peujh8mDDz6ot7/97TIMQ+vWrdMJJ5ygoaGho7YQofk4jqNt27bpL//yL3XBBRcc9viaNWuUTCZnvp6YmNDxxx+/nCWiDuY7zhIZTGpgyE0mk7rlllv0yU9+kpthSH3zm9+c9fn5559PwA2h17zmNfrud78r13XlOI727t2rt7zlLUGXhTpbu3atdu7cqZe//OWamprS0NCQTjjhhKDLwiL4vq9vfetb2rBhg6666qojbvOa17xG999/vy666CLt2bNHHR0dhNwWs5DjTAarWfJiEN/4xjf0pz/9SdlsVl1dXfqbv/kbOY4jSXrjG9+ob33rW3r44Ydn+v5YlqWtW7fWr3I03HzH+MWmQy5TiLWehRznX/ziF3rwwQdlmqYuu+wyQm4Lmu84p1Ip3XHHHTODkK6++mpdcsklQZaMRXr22Wf1j//4j9q0adNMF4TrrrtupuX2jW98o3zf13e+8x099dRTikaj+vjHP67TTjstyLKxSAs5zmSwGlY8AwAAQOgwYggAAAChQ8gFAABA6BByAQAAEDqEXAAAAIQOIRcAAAChQ8gFAABA6BByAQAAEDqEXAAAAITO/wdh36Lq10sxxgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Set parameters for two populations.\n", "popA = {'m': 1.6, 's': 0.1}\n", "popB = {'m': 1.8, 's': 0.1}\n", "\n", "# Create two samples, one from each population.\n", "sampA = np.random.normal(popA['m'], popA['s'], 100)\n", "sampB = np.random.normal(popB['m'], popB['s'], 100)\n", "\n", "# x values for plotting.\n", "x = np.linspace(1.25, 2.25, 1000)\n", "\n", "# The probability density functions (PDFs) for the two populations.\n", "pdfA = ss.norm.pdf(x, popA['m'], popA['s'])\n", "pdfB = ss.norm.pdf(x, popB['m'], popB['s'])\n", "\n", "# Plot the population PDFs as shaded regions.\n", "plt.fill_between(x, pdfA, color='g', alpha=0.25, label=\"Population A\")\n", "plt.fill_between(x, pdfB, color='b', alpha=0.25, label=\"Population B\")\n", "\n", "# Plot histograms of the two samples.\n", "plt.hist(sampA, density=True, color='g', alpha=0.25, label=\"Sample A\")\n", "plt.hist(sampB, density=True, color='b', alpha=0.25, label=\"Sample B\")\n", "\n", "# Display a legend.\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Problems with multiple $t$-tests\n", "\n", "***\n", "\n", "Suppose we want to compare three groups. Can three $t$ tests be run in parallel?\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Size of each sample.\n", "N = 100\n", "\n", "# Create three samples.\n", "sampA = np.random.normal(1.0, 0.2, N)\n", "sampB = np.random.normal(1.0, 0.2, N)\n", "sampC = np.random.normal(2.0, 0.2, N)\n", "\n", "# Put samples in a single data frame.\n", "sample = ['A'] * N + ['B'] * N + ['C'] * N\n", "values = np.hstack([sampA, sampB, sampC])\n", "dfsamps = pd.DataFrame({'Sample': sample, 'Value': values})\n", "\n", "# Visualise samples.\n", "sns.catplot(x='Sample', y='Value', jitter=False, data=dfsamps);" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "p_AB: 0.17\tp_AC: 0.00\tp_BC: 0.00\n" ] } ], "source": [ "# t-Tests\n", "t_AB, p_AB = ss.ttest_ind(sampA, sampB)\n", "t_AC, p_AC = ss.ttest_ind(sampA, sampC)\n", "t_BC, p_BC = ss.ttest_ind(sampB, sampC)\n", "\n", "print(f\"p_AB: {p_AB:.2f}\\tp_AC: {p_AC:.2f}\\tp_BC: {p_BC:.2f}\")" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False positive rate: 12.7%\n" ] } ], "source": [ "# Let's run 1000 tests, remembering our Type I errors.\n", "\n", "falsepos = 0\n", "\n", "for i in range(1000):\n", " A = np.random.normal(1.0, 0.2, N)\n", " B = np.random.normal(1.0, 0.2, N)\n", " C = np.random.normal(1.0, 0.2, N)\n", " t_AB, p_AB = ss.ttest_ind(A, B)\n", " t_AC, p_AC = ss.ttest_ind(A, C)\n", " t_BC, p_BC = ss.ttest_ind(B, C)\n", " if p_AB <= 0.05 or p_AC <= 0.05 or p_BC <= 0.05:\n", " falsepos = falsepos + 1\n", "\n", "print(f\"False positive rate: {falsepos / 10}%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "#### Analaysis of Variance (ANOVA)\n", "\n", "***\n", "\n", "ANOVA can be used to avoid a higher Type I error rate.\n", "\n", "
" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.00\n" ] } ], "source": [ "F, P = ss.f_oneway(sampA, sampB, sampC)\n", "print(f\"{P:.2f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "\n", "#### End" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" } }, "nbformat": 4, "nbformat_minor": 4 }