Created
January 21, 2023 19:22
-
-
Save petermchale/cd0017e9d568796355337b4f4da865c5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"id": "313b67ae", | |
"metadata": {}, | |
"source": [ | |
"## Hypothesis\n", | |
"\n", | |
"We hypothesized that females tend to smile more than males. \n", | |
"\n", | |
"## Experimental Design \n", | |
"\n", | |
"To test the hypothesis, we spent an afternoon at the shopping mall, where we smiled at strangers we made eye contact with, and counted how many smiled back and how many didn't. " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "22fe4736", | |
"metadata": {}, | |
"source": [ | |
"## Construct a Contingency Table" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "05a3f478", | |
"metadata": {}, | |
"source": [ | |
"The data we collated is shown below" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "f210e499", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>female</th>\n", | |
" <th>male</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>smile</th>\n", | |
" <td>28</td>\n", | |
" <td>15</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>no smile</th>\n", | |
" <td>25</td>\n", | |
" <td>31</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" female male\n", | |
"smile 28 15\n", | |
"no smile 25 31" | |
] | |
}, | |
"execution_count": 1, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import pandas as pd\n", | |
"\n", | |
"df = pd.DataFrame(\n", | |
" data = {\n", | |
" 'female': [28, 25],\n", | |
" 'male': [15, 31]\n", | |
" }, \n", | |
" index = pd.Index([\n", | |
" 'smile', \n", | |
" 'no smile']\n", | |
" ))\n", | |
"df" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "91a2dab2", | |
"metadata": {}, | |
"source": [ | |
"## Visualize the contingency table as a mosaic plot" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "ff09fc7b", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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7u5uXXvttbr44ot1zz33KD8/X5mZmbrrrrsUjUb1L//yL8rOzlZRUZEef/zxxFifPTw3mLVr1+rss89WamqqiouLdfPNN6ubc0kAAMBhJD2ampqadPnll+v6669XXV2dVq9era997WtyHEeS9Nprr2n37t1644039LOf/UxLly7VggULlJWVpQ0bNug73/mOFi1apI8//thoe9u3b9f8+fO1cOFCvffee3rmmWe0du1a3XjjjYdcJxwOq6OjI/HV9ek1eQAAwNgxKqIpGo3qa1/7mkpLS1VZWanFixcr8OlVkbOzs/XAAw9oypQpuv766zVlyhT19PTo9ttvV1lZmW677TZ5vV6tXbvWaHs1NTW68sor9f3vf19lZWWaOXOmHnjgAS1fvlx9fX2HXCcjIyPxNWPGjCF7/gAA4NiQ9Gg69dRT9Q//8A+qrKzU17/+dT322GNqa2tLfP+UU06R64DP7crPz1dlZWVi2bZt5eTkqKWlxWh77777rp544gkFAoHE1/nnn694PK76+vpB17ntttsUCoUSX2+99dZRPlsc797YsUMvfvihJKmtt1d3rl6d3AkBAIZM0k8Et21br7zyitavX6+VK1fqwQcf1I9//GNt2LBBkuQ54MrLkmRZ1qD3xQ3fqt3V1aVFixbp5ptvHvC9E044YdB1fD6ffD5fYjnAZ4PhEL5cUpLsKQAAhknSo0n6JHrOOussnXXWWbrjjjtUUlKi559/fli2NX36dNXW1urEE08clvEBAMDxKenRtGHDBq1atUrz5s1TXl6eNmzYoL1796q8vFzvvffekG/v1ltv1Zlnnqkbb7xR3/rWt+T3+1VbW6tXXnlFDz300JBvD8eOuONoxbZt2tzcrLjjKCctTVdWVuon69frK2VlWtfYqL5oVOdNnqw8v18vbNmirkhE1UVFml1aKkl6vb5eHeGwLjr55AHj9/T366WtW/VRW5u8tq05paU6jctjAMAxI+nRFAwG9cYbb+i+++5TR0eHSkpK9NOf/lQXXHCBnnnmmSHf3rRp07RmzRr9+Mc/1tlnny3HcTR58mRddtllQ74tHFu279+vnaGQvnfmmfLatvZ0dcn96fl0O9rbdcOMGdrV0aGnNm9WWXa2rq+qUnckokf//GdV5ucrOzX1sOM/X1encWlp+kF1tdp6e/Xku+9qfCCg8RzuBYBjQtKj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Hbr99tv161//+pDjm76m4BjlAGPIz3/+c6ekpMRxHMfp6+tz0tLSnPXr1x/0mG9+85vO5Zdf7jiO47z++uuOJOfVV19NfL+mpsaR5Gzfvj1x36JFi5zzzz//kNvdu3evI8nZvHmz4ziOU19f70hy3nnnHcdxHOfuu+925s2bd9A6O3fudCQ5W7ZsOernC+DvZs+e7cyaNSuxHI1GHb/f71x99dWJ+5qamhxJzptvvjnoGDfccIOzcOHCxPI111zjXHTRRY7jmL2m4NjGOU0Ys7Zt26aenh6dd955B90fiURUVVV10H3Tpk1L3M7Pz1daWpomTZp00H1vvfVWYnnr1q264447tGHDBu3bty+xh6mxsVFTp04dMJd3331Xr7/+ugKBwIDvbd++XSeddNLRPUkABznwd9m2beXk5KiysjJxX35+viSppaVFkvQf//Ef+u///m81Njaqt7dXkUhEp5122qBjH8lrCo5NRBPGrK6uLknSiy++qAkTJhz0vc9+vpTH40nctizroOW/3XfgobcLL7xQJSUleuyxx1RYWKh4PK6pU6cqEokcci4XXnih/v3f/33A9woKCo7siQE4pMF+dz/7+y19cm7S008/rVtuuUU//elPVV1drfT0dP3kJz/Rhg0bBh37SF5TcGwimjBmVVRUyOfzqbGxUbNnzx6ycVtbW7VlyxY99thjOvvssyVJa9euPew606dP13PPPafS0lK53fxaAqPBunXrNHPmTC1evDhx3+He0DFcrykYPXh1xpiVnp6uW265RUuWLFE8HtesWbMUCoW0bt06BYNBXXPNNUc1blZWlnJycvSLX/xCBQUFamxs1I9+9KPDrnPDDTfoscce0+WXX64f/vCHys7O1rZt2/T000/rv/7rv2Tb9lHNBcDRKysr0/Lly/Xyyy9r4sSJ+p//+R+9/fbbmjhx4qCPH67XFIweRBPGtLvvvlu5ubmqqanRRx99pMzMTE2fPl233377UY/pcrn09NNP6+abb9bUqVM1ZcoUPfDAA5ozZ84h1yksLNS6det06623at68eQqHwyopKdH8+fPlcvEmVyAZFi1apHfeeUeXXXaZLMvS5ZdfrsWLFycuSTCY4XhNwehhOY7jJHsSAAAAox3/hQUAADBANAEAABggmgAAAAwQTQAAAAaIJgAAAANEEwAAgAGiCQAAwADRBAAAYIBoAgAAMEA0AQAAGCCaAAAADBBNAAAABv4/4XegJ8K+nggAAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<Figure size 640x480 with 3 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"from statsmodels.graphics.mosaicplot import mosaic\n", | |
"\n", | |
"d = {}\n", | |
"for k1, v1 in df.to_dict().items(): \n", | |
" for k2, v2 in v1.items(): \n", | |
" d[(k1, k2)] = v2\n", | |
"_ = mosaic(d) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "45cfde08", | |
"metadata": {}, | |
"source": [ | |
"## Compute the size of the association between variables, and its significance" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "3eeb140f", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"odds ratio: 2.3146666666666667\n", | |
"p-value: 0.06676269027846655\n" | |
] | |
} | |
], | |
"source": [ | |
"from scipy.stats import fisher_exact\n", | |
"\n", | |
"odds_ratio, pvalue = fisher_exact(table=df.to_numpy(), alternative='two-sided')\n", | |
"\n", | |
"print(f'odds ratio: {odds_ratio}')\n", | |
"print(f'p-value: {pvalue}')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "16e74904", | |
"metadata": {}, | |
"source": [ | |
"The odds of smiling if you're female is about 2.3 times larger than if you're male. \n", | |
"\n", | |
"The p-value indicates that the probability that we would observe these data, or an even more imbalanced data set, by chance is about 6.7%. A commonly used significance level is 5%–if we adopt that, our observed imbalance is on the border of being statistically significant. \n", | |
"\n", | |
"With that caveat, we may conclude that females tend to smile more than males." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "0b87d5dd", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"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.12" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment