Created
February 16, 2025 18:26
-
-
Save ischurov/06c479f3ad17542c5b7c47119f681b6d 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": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/Users/user/prj/chisq-other/.venv/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmExperimentalWarning: Using `tqdm.autonotebook.tqdm` in notebook mode. Use `tqdm.tqdm` instead to force console mode (e.g. in jupyter console)\n", | |
" from .autonotebook import tqdm as notebook_tqdm\n" | |
] | |
} | |
], | |
"source": [ | |
"import numpy as np\n", | |
"from statsmodels.formula.api import ols\n", | |
"import pandas as pd\n", | |
"import matplotlib.pyplot as plt\n", | |
"import seaborn as sns\n", | |
"from tqdm.auto import tqdm" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Consider the following causal model:\n", | |
"\n", | |
"```\n", | |
" P\n", | |
" / \\\n", | |
" / \\\n", | |
" v v\n", | |
" R Q \n", | |
"```\n", | |
"\n", | |
"This $R$ and $Q$ are independent conditionally on $P$. Assume that we don't know that and want to estimate the effect of $Q$ on $R$ with linear regression, controlling on $P$.\n", | |
"\n", | |
"$$Q = \\beta_R R + \\beta_P P$$\n", | |
"\n", | |
"For correct model, we expect non-significant coefficient for $\\beta_R$.\n", | |
"\n", | |
"Though, what happens if instead of $P$ we observe either discretized or non-linearly transformed version of $P$, called $P'$? Let's check." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "f7f5f55597fc43a78f52ce393bed8d5c", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
" 0%| | 0/1000 [00:00<?, ?it/s]" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"false_positive_rate=0.109\n" | |
] | |
} | |
], | |
"source": [ | |
"sample_size = 1000\n", | |
"n_iterations = 1000\n", | |
"q_pvalues = []\n", | |
"\n", | |
"for _ in tqdm(range(n_iterations)):\n", | |
" p = np.random.uniform(size=sample_size)\n", | |
" r = 2 * p + np.random.normal(size=sample_size)\n", | |
" q = 3 * p + np.random.normal(size=sample_size)\n", | |
"\n", | |
" p_prime = np.floor(p * 5) / 5\n", | |
"\n", | |
" fit = ols(\"r ~ p + q\", data={\"r\": r, \"p\": p_prime, \"q\": q}).fit()\n", | |
" q_pvalues.append(fit.pvalues[\"q\"])\n", | |
"\n", | |
"false_positive_rate = np.mean(np.array(q_pvalues) < 0.05)\n", | |
"print(f\"{false_positive_rate=:0.3f}\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(array([180., 115., 110., 95., 88., 85., 79., 89., 86., 73.]),\n", | |
" array([1.09230406e-05, 9.99918217e-02, 1.99972720e-01, 2.99953619e-01,\n", | |
" 3.99934518e-01, 4.99915417e-01, 5.99896315e-01, 6.99877214e-01,\n", | |
" 7.99858113e-01, 8.99839011e-01, 9.99819910e-01]),\n", | |
" <BarContainer object of 10 artists>)" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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tCnOOOOMWLx48QETZ4+0bCgpuzfL/kNKlJZ2PjK085GhnY8M7VxdbV1T+E3W+gAAHEGexQMAJEdAAQCSI6AAAMkRUACA5FRlQJkzZ04MGzYs+vXrF62trfHTn/70Hcs/8sgjccopp+TlTz/99PjhD394xOpaLe38j//4j3HhhRfGsccem2/Zc5ne7c+Fw/v73Onhhx/O78R8xRVXlL2O1djOW7ZsialTp8aQIUPylRAnn3yy3x1laOfsFhUjRoyIo48+Or/z6bRp0+Ltt98+YvWtRMuXL49x48bld3PNfgcsWLDgXd/z+OOPx1lnnZX/Xf7gBz8Yc+fOLX9FC1Xm4YcfLvTt27fwwAMPFF588cXC5MmTCwMGDChs3ry52/L/8R//UejTp0/hzjvvLPzXf/1X4eabby4cddRRhZ/97GdHvO69uZ2vuuqqwpw5cwr/+Z//WXjppZcKV199daGxsbHw2muvHfG69+Z27rRu3brCb//2bxcuvPDCwic/+ckjVt9qaeeOjo7COeecUxg7dmzhySefzNv78ccfL6xateqI1703t/O8efMK9fX1+WvWxj/60Y8KQ4YMKUybNu2I172S/PCHPyx89atfLcyfPz9bxVt49NFH37H8L3/5y8IxxxxTmD59ev45eM899+Sfi4sXLy5rPasuoJx77rmFqVOndu3v2bOn0NzcXGhra+u2/Kc//enCZZddVnSstbW1cM0115S9rtXUzvvbvXt3oX///oVvfetbZaxldbZz1rYf/vCHC//0T/9UmDhxooBShna+9957CyeddFJh586dR7CW1dfOWdmPfexjRceyD9Hzzz+/7HXtLeI3CCg33HBD4UMf+lDRsc985jOF0aNHl7VuVTXEs3Pnzli5cmU+fNCptrY231+xYkW378mO71s+M3r06IOW5/DaeX87duyIXbt2xcCBA8tY0+ps5zvuuCMGDx4ckyZNOkI1rb52/sEPfpA/tiMb4sluPnnaaafFX//1X+dPcad07fzhD384f0/nMNAvf/nLfBht7NixR6ze1WBFD30OVsTTjEvlV7/6Vf4LYv+71Wb7v/jFL7p9T3aX2+7KZ8cpXTvv78Ybb8zHR/f/n4L31s5PPvlk3H///bFq1aojVMvqbOfsg3LZsmUxYcKE/ANzzZo18aUvfSkP3dndOSlNO1911VX5+y644IL8Kbm7d++Oa6+9Nv7iL/7iCNW6Omw6yOdg9sTj//u//8vn/5RDVfWgUBlmzZqVT+B89NFH84lylEb2iPPPf/7z+YTk7InilE/28NOsl+qb3/xm/mDU7NEeX/3qV+O+++7r6ar1KtnEzaxn6hvf+EY8//zzMX/+/Fi0aFH85V/+ZU9XjRKoqh6U7Jdynz59YvPmzUXHs/2mpqZu35MdP5TyHF47d7rrrrvygPLYY4/FyJEjy1zT6mrntWvXxvr16/PZ+/t+kGbq6upi9erVMXz48CNQ897/9zlbuXPUUUfl7+t06qmn5v8SzYYysie6897b+ZZbbslD9xe+8IV8P1tlmT10dsqUKXkgzIaIeO8O9jnY0NBQtt6TTFX96WW/FLJ/zSxdurToF3S2n40Xdyc7vm/5zJIlSw5ansNr58ydd96Z/8sne2hk9pRrStvO2VL5n/3sZ/nwTud2+eWXx8UXX5x/nS3RpDR/n88///x8WKczAGb++7//Ow8uwknp2jmbq7Z/COkMhR4zVzo99jlYqMJlbNmytLlz5+bLpaZMmZIvY9u0aVN+/vOf/3zhpptuKlpmXFdXV7jrrrvy5a+33XabZcZlaOdZs2blywv/5V/+pbBx48au7a233urBn6L3tfP+rOIpTzu/+uqr+Sq06667rrB69erCwoULC4MHDy587Wtf68Gfove1c/b7OGvn73znO/lS2H//938vDB8+PF99ycFlv1ezWzpkWxYD7r777vzrV155JT+ftXHW1vsvM/7zP//z/HMwuyWEZcZlkq3hHjp0aP6BmC1re/rpp7vOffSjH81/ae/re9/7XuHkk0/Oy2dLrRYtWtQDte7d7XzCCSfk/6Psv2W/gCjt3+d9CSjla+ennnoqvyVB9oGbLTn+q7/6q3yJN6Vr5127dhVuv/32PJT069ev0NLSUvjSl75U+N///d8eqn1l+PGPf9zt79vOts1es7be/z1nnHFG/ueS/X1+8MEHy17Pmuw/5e2jAQA4NFU1BwUAqAwCCgCQHAEFAEiOgAIAJEdAAQCSI6AAAMkRUACA5AgoAEByBBQAIDkCCgCQHAEFAEiOgAIARGr+H7Ayeg6YQmwhAAAAAElFTkSuQmCC", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.hist(q_pvalues)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": ".venv", | |
"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.12.8" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment