{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Confounding Example: Finding causal effects from observed data\n", "\n", "Suppose you are given some data with treatment and outcome. Can you determine whether the treatment causes the outcome, or the correlation is purely due to another common cause?" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os, sys\n", "sys.path.append(os.path.abspath(\"../../../\"))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import math\n", "import dowhy\n", "from dowhy import CausalModel\n", "import dowhy.datasets, dowhy.plotter\n", "import logging\n", "logging.getLogger(\"dowhy\").setLevel(logging.WARNING)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Let's create a mystery dataset for which we need to determine whether there is a causal effect.\n", "\n", "Creating the dataset. It is generated from either one of two models:\n", "* **Model 1**: Treatment does cause outcome. \n", "* **Model 2**: Treatment does not cause outcome. All observed correlation is due to a common cause." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Treatment Outcome w0\n", "0 4.986545 9.650083 -1.139237\n", "1 6.638307 14.064543 1.051314\n", "2 2.396964 4.321689 -3.710417\n", "3 7.385791 14.558907 1.427228\n", "4 2.781060 6.330348 -2.941221\n" ] } ], "source": [ "rvar = 1 if np.random.uniform() >0.5 else 0\n", "data_dict = dowhy.datasets.xy_dataset(10000, effect=rvar, \n", " num_common_causes=1, \n", " sd_error=0.2) \n", "df = data_dict['df'] \n", "print(df[[\"Treatment\", \"Outcome\", \"w0\"]].head())\n", " " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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Y+P9JyUlYdCgQYeefvrp7YsXL15XUVFRrihK6TfffFPx5JNP/nzmmWfW7NixI+Xmm2/u0tBw8jtB165da6qqqpzPPvvsNs9tVVVVTu/LsmXLNvj6m+68887OdXV14pVXXvlp69ata7du3br26aef3p6cnCx37dplf+CBB7Lvueees4qLi1sUFBRUlpeXf68oSukHH3ywKSsrq7a+vl7ce++9Haurq0/7orN8+fImo0ePPufw4cO2Pn36HP33v/+9ecuWLWt37txZ+tlnn627/PLLqxoaGjBp0qQOc+bMaeHvcV+1alXzKVOmZF9//fX7v/zyyx937txZWlJSUjF06ND9AFBSUtLsueeey/LeZt26dRUlJSUVnt9nzpy5sfFjEvCfrQNH7ImIiMKhJb++Rw/z+5Egpq/a1qpw4Q8dq+sakgBg9+HqlMKFP3QEgLEDOyZMBZkjR47Yzj777OOrV69e5z3afs4559QCwFNPPdWmvLy8acuWLeuXL1/+Y+/evU+MqmdlZdXn5OTs7N+//9ERI0Z0W7hwYasvvvhi12WXXXbM02bAgAGur7/+emPj47Zt27b+ggsuOH7rrbfuz8nJOe+HH35oMn/+/Ob5+fmHAfULQcuWLRtSU1NPDGdrnQB8+PBh27fffvtD9+7dazy3TZo0ac+uXbvs/+///b8zP/7441YA8P77728aM2bMiVH53/zmNwcdDsdPI0aM6LZ79277ggULmt94442HPPc3NDTgzjvv7FRbWysuv/zyqk8//XRzcvLJEPiKK644esUVV2weMWJEp6KiotaTJk1qf8MNN1QkJZ0+/r1jx46UW2+9dc9777233XPbGWecUV9UVPRT79690yoqKpp88MEHmZMmTTox6t+8efOGZs2anXgMmjRpYtqkaI7YExERhePcc4O3GTzY/H4kiJeWbsz2BPUe1XUNSS8t3ZhtVZ+s8uijj1b6CxDfeuutNgBwzz33KN5Bvbf8/PzDAwcOPAwA77//fms9x+7QoUPdRRdddAgAlixZ4neEW4877rhjt3dQ7zF27Nj9gBqg9+vX74h3UO8xbNiww+np6XUAsGrVqqbe9y1cuLD5xo0bHTabDW+//fZ276De29SpUysBYNOmTWmrVq3ymW/vcDgaXnzxxV8a356UlITRo0fvA4B169Y5fJ01iASO2BMREYWjqCh4G06cNcyew9Upem6PV0IIjBgx4pCv+8rLy1MVRUkBgCFDhhw+ePCg34Hcnj17ulatWtW8rKysSeP76uvr8dZbb7WaPXt2RkVFRZMDBw7YfQWsmzZtSgvnb/G45pprfObG9+jR48QXk8suu8xnm6SkJLRv3766qqoqeefOnackuHu+eHTt2tWVnp5e7+/xyMrKqs/IyKg7cOBA8qpVq5peeOGFrsZtcnNzj7Zq1crnl6lu3bpVA0BdXZ3Yu3evLTs7u87f32oWBvZEREThqAvy2e01wY7Cl9U8tWa3jyA+q3nqaSO98SwjI6PO32j9999/fyLQHjJkiIZTSsC+fftOCYYPHDiQ5MnRD7Zt48moofIXCDdr1uzEi6ht27Z+X3BpaWkSUCfcet++cePGVEAdSU9PT++rpS979uzxGSO3adOm1t82TZs2PfH/OHr0qCVZMZoPKoRwCCFGCCFeF0KsEUJUCSFqhRB7hBBLhRAThBB+ywR57ecMIcSzQoh1QohjQoi9QoivhBD/J4Sw5LQFxbHSUiA9HVi71n8bRVFPk+/cGaleEVG8KC21ugcJ597Lu1amJiedEtCmJic13Ht510qr+mSFtLQ0vznaVVVVugPt2traU2Kw3//+9+1LSkqaCSEwevTovXPmzNm4bt268t27d5d6Jnx6JozW1dUZEr8lJycH/RZss9mCtpGNvkwfOnRI9+NRXV3tM0bWcnxffYgUPSP2uwA093F7JoAh7ss9QohhUsrTJlsAgBAiD8AiAG28bnYAuMR9uUkIkS+lNKRsEiUgRQFuvhmYORNo2xYYPRo4eBAYMADIzQXmzVNv91ZYCPzvf+rPV14JvD8iIm/Dh1vdg4TjmSD70tKN2XsOV6dkNU+tuffyrpWJNHE2mObNm58I+n/88cfyHj166DqbcejQoaSioqLWAPCHP/xh58svv+zzS9OxY8diYq6mZyQ9Ly/vyLfffrve6v6YSc8/pDmAagD/AXAzgLMBtAKQC+A1ABJADwCfCSFOO20jhMgEMB9qUL8PwFgAZ7q38URTVwN4OYS/gxKNZ5S9rOzUn+PHqxUq7rtPHUnb4K6odfw4sGrVybJ0paVAixbqpLfXXwcaGoBp006O2isKcP75QMeOwIoV2srZEVFiURRg+/bg7chwYwd23P/NI78u/2nKdWu+eeTX5QzqT+XJ9QaA9evXp+rdfu3atWme2vhjxozx+9hu2LAhaKZGNOjUqVM1APz888+6H4tYoyewfwVARynlGCnlTCnlFinlASllmZRyAoBJ7nadAEzwsX0B1EC+AcD1UsoZUsqdUsr1Uso/Qv1yAAB3CCFyfGxPdFJBgRrADxqkBt633KL+XLBAvX/WLKCvjzS6V18FHntMve/wYWDdupP5ry6XOqq/c6e6f6cTqK1V73/nHfV2pu0Qkce991rdAyKf8vLyXJmZmbUAMHPmTN01/o8fP34itaa+vt5nms0XX3zRJFCgbLfbT+Si1AWbh2Kyq6666hAA7Nq1y/755583DdbeDCkpKScej0Cr/YZLc2AvpfyjlHJXgCb/gDoSDwDXeN8hhLADuNP960dSylU+tn8cQK27T+O19osSkKIAM2ao110uNfCuqNA+Qe3JJ/3ft2sXcOaZwHvvnXp7dbU6au/5QjFpku/tiShxeAYSAunVy/x+EDWSlJSE8ePH7wKAWbNmZc6cObNloPb79+9P2rZt24nJs127dj2RujNv3rzTtj18+HDSPffcc9qiVt6ysrJORPPe+7bCiBEjDp1zzjnHAWDChAkdd+3aFTDnvqyszPCR/czMzHrPVNLKykrTHg/DcqOklHUAPLn17RrdfTEAzxNjjp/t9wD4yv3rMKP6RXGooAAw8duuT1ICb70FTJ+u/v7++xy1J0p0DRrWl2H9erLIo48+urtv375H6+vrccstt5xzyy23dPj000+bVVZWJu/Zs8e2du3a1GnTpmXcdNNNHTt27Nh72bJlJ9KoO3bsWHv++ecfAYCXX375zIKCgrbff/996o4dO5JnzpzZcsCAAd1//PHHJp06dTru7/j9+/c/5lng6eGHH263adMme3V1taitrY34CL7NZsM777zzU2pqqty4caOjT58+vZ588sk23333XdqePXtsP//8c/JXX33V5JlnnskaOHBgtwsvvLCn0X1o3rx5Q+fOnY8DwL/+9a8233zzjePIkSOitrYWtbV+C+3oZnS5yzPcPxvXVT3f6/rqANuvBvBrAO2FEJlSyr1Gdo7igKKcDK4jrcZr7lF9vTpqP22aNX0hIuv5WJXyNKxfTxZJS0uTn3322cZRo0Z1/vLLL1t+8MEHWR988EGWv/YpKSmnfFN9/fXXt11++eU9Dh8+bPv73/+e/fe///3EAmBCCPz1r3/9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zpyZ6b1tWVlZ09tvv/3sPXv2bHvwwQf3+tr/119/7bjhhhu67tq1y+59+549e+yffPJJxieffJIxYcKEna+88orGU3vm44g9ha6wUK1Vv2+fMftLS4uvoN5buIE9wFF7okj7+OPgbYxcx4L02bbNjgsu6I7t22N2kPLLL79sVu8eGLvooouOaN2ua9euNWeeeWYNAJSUlBgyaty1a9eaqqoq57PPPrvNc1tVVZXT+7Js2bINnvsaGhowbNiwLp6g/sorr6z66KOPNmzfvr2ssrKy7PPPP1/34IMP7mjXrl1N42PdfvvtHTxB/fXXX7//q6+++lFRlNKvv/76h9GjR+8FgOLi4uajRo3qHKjPDz30UPtffvkl9emnn96+YcOG8srKyrLXXnvtp2bNmtUfOXLE9sc//rHjU0891Wb27NmZ48eP31VSUlKxc+fO0o8//nj92WeffRwA/vrXv7ZXFOW059CGDRtSrrnmmu67du2yd+nS5fgrr7zy0/r168t3795dumLFih9vuummvQDw6quvtp06dWpm4+2tErMvBrKYogBvv23c/uJtpL4xzynFpKTQU5ZqaoCvvjKuT0QU2F13BW8T7VW74tkjj5yJNWua4ZFH2uH997db3Z1QbN68OcVz/dxzz9X1ZDrnnHOOK4qSsnv3bnttbS3sdnvwjQJISkpCy5YtG1JTU098SLVs2dLvaPnrr7/e6quvvmoJAPfff7/ywgsv7PC+v127dnWXX3750aefflrxvn3FihVNZs+enQkAN998897//Oc/J75ItG3b1jVo0KBtGRkZda+//nrbpUuXps+ZM6fFjTfeeMhXH3bv3m3//PPP1w0ePPiY57bf//73+48fPy7+9Kc/dSotLW1aXl7e5G9/+9vPjzzyyG5Pm2uuuebI3LlzN+Xm5p7ncrmS3n///Yy//OUve7z3PX78+A6HDh2y5eTkHF25cuWG5s2bn3gssrKyjv3qV7/a1rZt29qXXnrpzKeffjr77rvv3tesWTMDK4iEhiP2FJrCQjXQDFdaWmLlpzY0hDd636uXcX0hIv8UBVi0yOpekD/bttkxZ04mpARmz86M1VH7AwcOnOh3q1atdOW0tmzZss5zfffu3RH/+19//fU2ANC1a1fXc889t8Nfu8ZfON54441MAEhLS2v45z//+YuvbZ5//vkdrVq1qgOAt99+2+9o+NChQ/d7B/Uet9122wHh/qxt27Zt7aRJk3Y3btO7d+/qnj17HgOAb7/9tqn3fRUVFameLy0vv/zydu+g3ttTTz2lOByOhqqqquR58+a19NfPSGJgT/oZNVqfkZGYo13hBPazZrE6DlEk3Hpr8DZGpNhRaB555MwTZ0IbGoBHHmlnbYes5W+iqVn279+fVFFR0RQAbrzxxv3+qvj48s033zQDgAsvvPBQ69atfX6ZcTgc8te//nUVAHz77bd+JwFfccUVPkfyMzIyGjIyMuoA4Fe/+tWhpCTf4W7Hjh2rgdO/GH366afNpZRo2bJlfW5u7vGDBw8m+brU19eLLl26HHf3s4mvY0RaTH7DJYsZNVqv440groRbPWjcOGD+fGP6QkSnUxRg6dLg7VJSgrch43lG62tr1W9WtbUCs2dn4qmndqBDh7ogW0cVT/AJAPv379f1oXjw4METMVybNm0MqmChzcaNG1M9XyZyc3NPGzEPZMeOHSkA0KNHj+OB2vXs2dMFAPv27Us+fvy4SEtLO+3Ds127dn5nr6elpTUAwBlnnBG0zfHjx0+J/NevX58GAAcPHrSlp6f3DdRPj71794aXC2UQjtiTPooCvPuuMfs66yxj9hNrGhrCS6lZsABYu9a4/hDRqbTk1gPAHXeY2w/yzXu03iNGR+27dOlyYpRs3bp1umZib968OQ0A2rRpU+udFx8JBw8ePBE/BsrD98XlctkAoFmzZgG/jHinv1RVVfmMV7WcKdDSRkp5yum3Q4cO6R55rK6ujopTeByxJ30KCkJPn4n3CbJ6XHIJUFER+vYjRgCbNxvXHyJS6cmtj4c1N2JRSUnTE6P1HrW1Ao3ypGPBpZdeesRms6G+vh4rV65sDkAJuhGATZs22T0j33l5eSeq6QiN6WF1dXVhBaHewbx3kK+Fw+GoP3LkiO3IkSMBg+cjR46c2G96enpEc42aNm3aAABnnnlmzY4dO8ojeexwccSetFMU4P33Q9v27LMZ1HvTUh87kC1bgGXLjOkLEZ1UUKCt3YQJfE+zyrp1P0LKNadd1q370equ6dWqVauGAQMGHALUXPJ169Zpyu/617/+dWJC6fDhw0/UsHc4HCcC4GPHjvkN3nfv3h1W2kjXrl2rPSPhZWVlunLLs7Oza4CT6S7+/PDDDw4AyMzMrPWVhmOmLl26VANqvfojR45ExUi8VgzsSbuCgtDzw/fvN7Yvsc7pVB/LcOYZ5Ocb1h0icuNoPUXYfffdtwtQJ8D+8Y9/bB+s/U8//WR/7bXX2gLqiPL//d//nQjs27RpU5+cnCwBYMOGDT4D5/379yeVlZX5Pbtht9tPfNDX1fmestCqVauG88477ygAzJ492+8qsb7079//CAB8/fXXLfbv3+8zDnW5XMJT5977jESkXHPNNYcA9czGjBkzMoK1jyYM7Emb0lLgvfdC376qyqiexJecnNC3PXwYeO454/pCRED7oHEVYLdztJ4Mc9NNNx265pprDgDA0qVL08ePH39WvZ/V3CsrK5OvvvrqrkePHk0SQuDll1/e5l1OMjU1Vfbo0cMF+A+4//znP2e7XC6/8V9WVtaJaH7btm1+R/bHjx+/GwA2btzoeOihh87016620erM48aN2wsALpcr6d577/U52e7BBx9st2/fvmQAuOOOO3yuCmum888///gll1xyEAAee+yxs9avXx/wTMr69etTXC5XVIzsM7Cn4BQFGDQo9O3T0nDaRCdSOZ3q3INQTZwIDB7MEphERtGy2myt3yIbRCF57733tp133nnHAOCNN944o1+/fj3+9a9/tVq3bl3Kzp07bd98843j4Ycfbnveeef12rBhgwMAJk2aVDly5MjTyj2OGTNmLwCsXbu26Q033ND5u+++S9uzZ49t+fLlTfLz8zv/+9//buNJh/Glf//+xzzlIR9++OF2mzZtsldXV4va2tpTRvDHjx+/f/DgwQcB4Lnnnmt37bXXdlmwYEHzysrKZEVRkr/66qsmkyZNatu5c+dTRrB+9atfHRs1atReAJgxY0bW8OHDO69YsaLJrl27bKtXr3aMGTOm46uvvtoWAIYMGVLlb3Eqs7355pvb09PT6/bs2WMfMGBAz4ceeqhtcXGxY9euXbYdO3YkFxcXO1544YXMIUOGnNOrV6+cqqqqqCj1J2S4pfcslJeXJ0tKSqzuRvy77bbQR+snTABeecXY/sSzUOti33abcdWKiBLZFVcAn38evJ2Fn51CiDVSyjwrjl1WVra1T58+ER9BTQQHDx5Muu222zrOnz+/VaDYrGXLlvWFhYU/33PPPft83V9bW4sLL7ywe0lJSbPG9wkh8Mgjj/zyww8/OObOndv6ggsuOPLNN9+sb9zu+uuv77Jo0aLTUlAa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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "dowhy.plotter.plot_treatment_outcome(df[data_dict[\"treatment_name\"]], df[data_dict[\"outcome_name\"]],\n", " df[data_dict[\"time_val\"]]) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using DoWhy to resolve the mystery: *Does Treatment cause Outcome?*\n", "### STEP 1: Model the problem as a causal graph\n", "Initializing the causal model." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:dowhy.causal_model:Causal Graph not provided. DoWhy will construct a graph based on data inputs.\n" ] } ], "source": [ "model= CausalModel( \n", " data=df, \n", " treatment=data_dict[\"treatment_name\"], \n", " outcome=data_dict[\"outcome_name\"], \n", " common_causes=data_dict[\"common_causes_names\"], \n", " instruments=data_dict[\"instrument_names\"]) \n", "model.view_model(layout=\"dot\") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Showing the causal model stored in the local file \"causal_model.png\"" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.display import Image, display\n", "display(Image(filename=\"causal_model.png\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 2: Identify causal effect using properties of the formal causal graph\n", "Identify the causal effect using properties of the causal graph." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:dowhy.causal_identifier:If this is observed data (not from a randomized experiment), there might always be missing confounders. Causal effect cannot be identified perfectly.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Estimand type: nonparametric-ate\n", "\n", "### Estimand : 1\n", "Estimand name: backdoor1 (Default)\n", "Estimand expression:\n", " d \n", "────────────(Expectation(Outcome|w0))\n", "d[Treatment] \n", "Estimand assumption 1, Unconfoundedness: If U→{Treatment} and U→Outcome then P(Outcome|Treatment,w0,U) = P(Outcome|Treatment,w0)\n", "\n", "### Estimand : 2\n", "Estimand name: iv\n", "No such variable found!\n", "\n", "### Estimand : 3\n", "Estimand name: frontdoor\n", "No such variable found!\n", "\n" ] } ], "source": [ "identified_estimand = model.identify_effect(proceed_when_unidentifiable=True)\n", "print(identified_estimand)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### STEP 3: Estimate the causal effect\n", "\n", "Once we have identified the estimand, we can use any statistical method to estimate the causal effect. \n", "\n", "Let's use Linear Regression for simplicity." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Causal Estimate is -0.019836578259104343\n" ] }, { "data": { "image/png": "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37+/1GOICCLCpEmTKr7CyqtJkya5X4eKMnToUESE7t27V9g54kXxLJa5ublRPwbCl3ie5umLtkiomHD06FHuvPNO3n333RIfYL///ju///478+fP54knnuDFF1/khhtuCFNNVTwYPXo0Y8aMoWnTpmRnZ4e7OiHja+2MWE0w5Y0xRoOIYjSQUFEvJyeH3r178/333wPQoUMH7rnnHjp27Ehqaiq///47s2fP5vnnn2fv3r3ceOONbN++nf/7v/8Lc82Vih55eXnMnj27xMBJ19/xQsdGlKSBhIp6t99+uzuIGDFiBM8//zwJCSd67erWrUubNm3429/+Rq9evfj555958MEHadu2LZdeemm4qq1UVPnzzz+9rp3hbUBltHN9fhSfWaJjI7zTMRIqqn3xxRf897//BaBv3768+OKLRYIITw0bNiQzM5Pq1atjjGHYsGEcP368MqurVNSK9umaZVFYWEiNGjUYOHCguwUiNTVVx0b4oIGEimovvfQSYA2ACmRJ4lNPPZX77rsPgC1btvC///3Pb/n8/HxeeOEF2rVrR40aNahVqxYXXXRRqb/CVq5cyU033USLFi2oWrUqdrudJk2a0LFjR0aOHMny5ct97rt161buv/9+2rRpQ2pqKna7nRYtWnDXXXexadMmn/s1a9YMEWH06NGANWCxW7du1KtXz/383H///YgIJ510UqlZBf/v//4PEaFBgwZeA659+/YxevRozjvvPGrXrk2VKlVo1qwZQ4cO5aeffvJ7bIBPPvmE7t27U6tWLWrUqEG7du144YUXQtbXnpeXx3PPPUebNm2oWrUq9erVo2fPnkyfPr3UfY0xLFmyhIceeogOHTpQu3ZtbDYbdevWpWvXrowfP95rHoEFCxYgIowZMwaAzZs3uweNui5Dhw4tss9PP/3E2LFj6dq1K/Xr18dms1G7dm06dOjA2LFjOXDgQCiejnLzFaDHqpycHNLS0hg+fDijRo1i+PDhGkT4oF0bKmodOnSIefPmAdCtWzdOO+20gPa76aab3B/006dPZ/DgwV7L5eXl0atXLxYtWlTk/gULFrBgwQL+/ve/M378+BL7TZkyhb/97W8lvqi3bt3K1q1bWbJkCWvXrmXGjBkl9n3vvfe49dZbS0yd27BhAxs2bOCdd97hgw8+oH///j4fnzGGQYMG8fHHH5fYdt111/H888+za9cu5s2b57NrxxjD1KlTAbjmmmtISir6UfHll18yaNCgEl9ymzdvZvLkyUyZMoVXXnmFO+64w+vx77zzTiZMmFDkvpUrV7Jy5UpmzZrFtdde6/PxBeLgwYNccsklLFmyxH1fbm4u8+fPZ/78+YwcOdLv/p9++qnX53jfvn0sXryYxYsX88477zB37lzq168fdD1XrVpF27ZtS9x/4MABli5dytKlS3nrrbeYO3cuLVq0CPo8vhw9epRDhw5RUFBAYmIiNWrUoGrVql7LVqlSBZvNFjeDKnUsRODiK8RUMeX77793f1l369Yt4P2aNGlCkyZNAPjmm298lnvqqaf4+uuvue+++/jll1/Ys2cPX331FZ06dQLg5Zdf5o033iiyz/79+7njjjsoKCggPT2dGTNmsGnTJvbv3092djaff/4599xzD3Xr1i1xvpkzZzJkyBD+/PNPevfuzZw5c9i+fTu7d+/myy+/pEuXLuTm5jJ48GBWrVrls95vvfUWH3/8Mbfffjs//PADe/bs4ccff6R79+60bduW1q1bA/DBBx/4PMaiRYvYunUrYAUfnpYvX07fvn05cOAAHTt2ZNq0aWzbto29e/fyzTff0K9fPwoLC7nrrruYM2dOiWO/+uqr7iCiS5cuLFiwgD179vDzzz8zYsQIFi1axFNPPeWzboG4+eab3UHErbfeyqpVq9izZw/ffPMNvXv35umnn2bhwoU+909KSqJ///68+eabfPvtt2RnZ7N7925WrlzJ2LFjqVu3LitXruS2224rsl+XLl04dOgQDz74IGD9rx06dKjIxfN/RkTo1asXr7zyCl9//TUbN25kz549OBwOxo8fT5MmTcjOzmbw4MEhn0559OhRcnJy3O+hgoICcnJyOHr0qNfyycnJnHLKKSGtQ6TSsRBlI7E617cipaenG39N096sWbOGVq1aVVCN4tPEiRPdH+T//e9/ueaaawLet0+fPu4vufz8/CK/uD1zFzzzzDMl8ukfO3aMLl26sGzZMurUqcPvv/9OlSpVAOuXbL9+/UhMTGTXrl3UqVMnoPrk5ubStGlTdu/ezd13383LL79coszx48e5+OKLWbBgAX369OHzzz8vsr1Zs2Zs3rwZgEcffdTd6lLck08+ycMPP0yNGjXYtWuXu+6ebrvtNiZOnMhpp53Ghg0b3PcbY2jTpg2r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/nDZtGkTF1xwAfv27eO2227j6quvZsWKFfTp04cPP/ywRPlgnttOnToBREUg4XoPX3LJJSW+zGvUqEGnTp04evQo33//faUeC3DPmKvsfD06RiKC9ezZk1mzZoVllkZqairDhw8vsZZHz549I2IGRufOnUlKSmLXrl1kZ2fTvHlzvvvuO5566ilOPfVUli5dSsOGDQF46qmnGDBgAJ999hnPP/+8ux+2VatWNGrUiNWrV7N7927q168PWK0N1atX57zzznOPnZg/fz6tW7cGYOHChRQUFNC9e/cSb36wfg2MHj3aPcYD4Nprr6V3794899xzRVog7rzzTr766ismTpzI888/X+Q4EydOBOC2224r9fn49ddfuf3222nWrBkLFy7k5JNPdm/Lysrikksu4R//+AfTp08H4I033iA5OZlVq1bRoEGDIsfas2eP++/u3bvTrFkz/v3vf9O2bVtGjx5dpGx2drbfei1cuJCxY8cWaZ59/PHHefTRR+nQoQODBg3itddecz+PF198MTfccAMvvfQSL730knuf1atXc9pppxU5dl5eHn369OHpp5/m9ttvdz/m0upc1ucqEC+99BJPPvkkDzzwAE8//bS7f3rYsGG0b9+eF198kYcfftjr/4vLkSNHWLlyJa1atfI6yDLQ18yXsr4/XBYtWsQ///lPnnvuOfd9d999NxdccAG33347ffr0cb9Pgn1uzzvvPPe5AjVu3DgOHDgQcPm2bdvSv3//gMv7sm7dOgCf47NatGjB3Llz+fXXX0v90RXKYx0/fpx3330XgN69e/stG2oaSEQw1xe264vcbreHfHxCYmIixpgiTa+erQ6uKZ2RJiUlhbp167Jz5052795N8+bNefvttwH417/+5f6QBCs6f+GFF/j888958803i3xQ9uzZk/fee4+vvvqKQYMGAdavhC5dupCUlMRZZ51FgwYNmD9/PnfffTdQerdG06ZN3S0mLpdeeilNmjRh6dKlRe7v378/jRo1YtKkSTzxxBPugZsHDhzgo48+4rTTTqNXr16lPh8TJkwgPz+ff//730U+vF31vOKKK5g1axaHDh1yr7qalJRUIucHQL169Uo9X6CaNWvGyJEji9x344038uijj3Ls2DGee+65Il+u1157LTfddBMrV64ssk/xIAIgOTmZu+66i/nz55OVlcUNN9wQUJ2Cea78+eOPP3jkkUe44IILeOqpp4oMcmvXrh0tW7Zk7dq1bN26laZNm/o8zu+//05BQYHf1qfyvGbBvD/A+lHx6KOPFrkvPT2d6667jsmTJzN9+nRuvPFGIPjnNjU1lSpVqpSpJWjcuHFs3rw54PI33nhjSAIJV5ezrxZj1/2BBDmhPNbIkSNZvXo1l112GZdeemmp5UNJA4kI5/lFPm7cuJAGEq4WBiAiWx1K4+rScH1w//DDD8CJLgtPZ5xxBqeccgqbNm1yP05X2ffee4/58+czaNAg1qxZw/bt2xkxYoR73+7du/Pll19SWFhIQkJCqYFE27ZtSUxMLHH/qaeeynfffVfkvqSkJG699VYee+wxPvnkE6699loApkyZQm5uLsOGDQto9LXruAsXLmTZsmUltu/atYuCggJ+/fVXzj33XK677jruu+8+WrduzeDBg+nWrRudOnVyt8qEirfnonHjxoD1mhT/ok5MTOSkk05i27ZtRe7fsmULzzzzDFlZWWzZsqXE++D3338PuE5lfa5KM3XqVI4cOcK9997rtcXB1brg7X/C0969ewGoXbu21+3lfc2CeX8AtG/f3mtA1b17dyZPnsyPP/7oDiTK89zWqVOHnTt3BvRYoPTWsGAVb8ECGDp0KM2aNauQ84XC+PHjeeGFF2jZsiVTpkyp9PNrIBFFQjH4MjExkX79+pUIFKIhcPD0559/sm/fPgD3B6nr+fH1i65Ro0Zs2bKFAwcOuD8oPQMpz2vPD9vu3bvz0Ucf8eOPP9KkSRMcDgcnn3wyLVu29HqeWrVqeb0/KSnJ66C7YcOG8cQTT/DGG2+4A4mJEyeSnJzM3/72N99PggfXl5Bn87M3rrn69957L/Xq1eO1115j/PjxjBs3DhGhW7duPPfcc6Snpwd03tJ4+6Xl6r/19SssKSmpSHfeb7/9xvnnn8/+/fvp0qULl1xyCampqSQmJpKdnc3kyZPLlMujrM9VaWbOnElCQgKXXXaZ1+2///471apVcwdQvrjGJP35559et5f3NQvm/QHWAGdvXK0anp9L5Xluc3NzI2KmypgxY0rc5+ouA/9LAXje7+tzwFMojvXKK6/wj3/8g9atW5OVlUWdOnVKPW+oaSARRVJTU8sVTNhstpjJMvn1119z/PhxTjrppBJv8B07dnhtCnfNfPD8kGzSpAmnnXYaGzZsYOvWrcyfP59atWrRrl07dxnXmIb58+fTtGlTjDEhHXB68sknc8UVVzB9+nTWrl3Lvn37WL16Nddcc03AvzY9P5ACXdXvhhtu4IYbbuDAgQN8++23TJ8+nbfffptLL72UtWvXhrx1Ilgvvvgie/fu5Z133ikxO2Tq1KlMnjy5TMcL5rny5fjx4yxdupR69epRtWrVEtuXLVvGjh076Nu3r9/xEYB73IPry9ib8rxmwbw/AJ+tBDt27ChRPtjntrCwkAMHDrhn2wSiosZIlJb078wzzwTwOkAarFWQwfe4h1Aea9y4cYwYMYKzzz6brKysEmNnKosGElHE2+BLm81GUlKS1y4PV0KlaOquCERhYaF7FLzrFzxY/dE//PADCxYsKPFBuWHDBrZt20bz5s1LRPc9e/Zk48aNzJs3jwULFtCtW7ciH/otW7akYcOG7kDCtU8o3XnnnUyfPp033njDnc0ukEGWLh07dmTFihUsXryYyy+/vEznrlWrFpdddhmXXXYZhYWFvP322yxatIgrr7wSONEkX95sosHasGEDgLs+nrzlAAH/dS7Pc1Xczz//zLFjx8jLy3N3fXl64YUXAKvVqTSNGjWifv367gF4/pT2mnkT7Pvjhx9+8DpexDXF0DPoDva5XbduHcaYgGYCuYRrjITrh8XcuXNLvOaHDh3im2++oWrVql5n3oTyWM888wwjR46kbdu2fPnllyEd21RWOv0zivhax6JPnz5eF8oaMGBA0GmqI9WuXbsYPHgwCxYsoEmTJkUGht10000AjB07lt27d7vvLygo4J///CeFhYUlMlTCiW6Ml156if3793vN63DRRRexePFi99z5UAcSPXv25IwzzmDy5Ml89NFHnHnmmX7zSxR39913Y7PZGDFihNdfN3l5eSxevNh9+6uvvvL6y8uV4Mvz13Xt2rURkaCmRIaCq8Wp+Nz4L774wucaDf7qXNbnyp8VK1YA1mC4OXPmFNn26quv8uGHH9K7d28yMjJKPZaI0LVrV/bs2eMOnjyV5TXzJtj3R05ODo899liR+5YvX877779PamoqAwYMcN8f7HPrmt5Ylv/57OxsjDEBXzxziJTHaaedxiWXXEJ2djavvvpqkW2jRo3iyJEjDBkypMjMm40bN7J27doSM/CCORZYM59GjhzJueeeS1ZWVliDCNAWiajjbxZFNA6Y9Mc16MnV7Pnzzz/z9ddfk5eXx/nnn8/7779f5A104YUX8sADD/Dss89y9tlnc9VVV1GtWjUyMzNZvXo1nTt35v777y9xnh49eiAiOBwO9+3iLrroIqZOncqmTZs488wzS4xILy8R4fbbb+fee+8FAvsF66lly5a8/fbb3HTTTZx11ln07t2bM844g/z8fLZs2cLixYupX78+a9euBWDAgAFUr16djh070qxZM4wxLF68mGXLlnHuuecWmSlSvXp1OnTowOLFi7nuuus444wzSExM5Iorrih310Ag7rzzTt555x2uvvpqrrrqKho3bszq1auZM2cOgwYN8prLwF+d27RpU6bnyh9XIJGRkcFVV13FtddeS/369Vm8eDHffPMN6enpfPDBBwE/1iuvvJJPPvmEL774gtNPP73ItrK8Zt4E+/7o2rUrb775JkuWLKFTp05s376dDz/8kMLCQt54440i/wNl/T90mTt3rnv8VjR47bXXuPDCC7nnnnvIysqiVatWLFmyhK+++oozzjijRN6Qnj17snnzZjZt2lRi0GZZjzV58mQeffRREhMT6dKlC+PHjy9Rv2bNmlXuOjNliej0Yl3OPfdco8ruiy++MKtWrSq1HFDkkpycbOrWrWvat29vbrnlFpOZmWkKCgp87j916lTTqVMnU716dZOSkmJat25txo4da3Jzc33u06ZNGwOYevXqmcLCwhLb169f767PnXfe6fUYmzZtMoC58cYbvW7v1q2bsd5y3u3bt88kJCSYKlWqmD179vgs589PP/1kbrzxRtOkSROTnJxsateubc466ywzbNgwk5WV5S43YcIE079/f9O8eXNjt9tN7dq1Tdu2bc0zzzxjDh48WOK469evN3379jV16tQxImIA88477/h8zKU9F4Dp1q2b121NmzY1TZs2LXLfN998Yy666CJTq1YtU716ddOpUyczffp089VXXxnAjBo1KuA6l/W58qdDhw4mOTnZHD161IwcOdI0btzYJCcnmzPPPLPU/zlvjh07Zho0aGDOP//8EtsCfc1Ke+4DfX94HueXX34xV1xxhalVq5ax2+3mwgsvNHPmzPH5OMry3B44cMBUqVLF9OvXL/AnKgJs2bLFDB061DRs2NDYbDbTpEkT849//MPs27evRNmmTZsawGzatKncxxo1alSJz8jiF1/vLWOMeeed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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "estimate = model.estimate_effect(identified_estimand,\n", " method_name=\"backdoor.linear_regression\")\n", "print(\"Causal Estimate is \" + str(estimate.value))\n", "\n", "# Plot Slope of line between treamtent and outcome =causal effect \n", "dowhy.plotter.plot_causal_effect(estimate, df[data_dict[\"treatment_name\"]], df[data_dict[\"outcome_name\"]])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Checking if the estimate is correct" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DoWhy estimate is -0.019836578259104343\n", "Actual true causal effect was 0\n" ] } ], "source": [ "print(\"DoWhy estimate is \" + str(estimate.value)) \n", "print (\"Actual true causal effect was {0}\".format(rvar))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 4: Refuting the estimate\n", "\n", "We can also refute the estimate to check its robustness to assumptions (*aka* sensitivity analysis, but on steroids). " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Adding a random common cause variable" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Refute: Add a Random Common Cause\n", "Estimated effect:-0.019836578259104343\n", "New effect:-0.019826671323794898\n", "\n" ] } ], "source": [ "res_random=model.refute_estimate(identified_estimand, estimate, method_name=\"random_common_cause\")\n", "print(res_random)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Replacing treatment with a random (placebo) variable" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Refute: Use a Placebo Treatment\n", "Estimated effect:-0.019836578259104343\n", "New effect:3.341207189269113e-06\n", "p value:0.47\n", "\n" ] } ], "source": [ "res_placebo=model.refute_estimate(identified_estimand, estimate,\n", " method_name=\"placebo_treatment_refuter\", placebo_type=\"permute\")\n", "print(res_placebo)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Removing a random subset of the data" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Refute: Use a subset of data\n", "Estimated effect:-0.019836578259104343\n", "New effect:-0.019587864980808264\n", "p value:0.47\n", "\n" ] } ], "source": [ "res_subset=model.refute_estimate(identified_estimand, estimate,\n", " method_name=\"data_subset_refuter\", subset_fraction=0.9)\n", "print(res_subset)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, our causal estimator is robust to simple refutations." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.5" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }