From 035d82a10d8c9404ff9b5f2da18a65cac22b9321 Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Thu, 25 Apr 2024 17:07:35 +0100 Subject: [PATCH 01/10] committing today's work --- docs/source/index.rst | 1 + docs/source/quasi_dags.ipynb | 396 +++++++++++++++++++++++++++++++++++ docs/source/references.bib | 25 +++ pyproject.toml | 1 + 4 files changed, 423 insertions(+) create mode 100644 docs/source/quasi_dags.ipynb diff --git a/docs/source/index.rst b/docs/source/index.rst index 4e3cc9c8..3e312037 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -141,6 +141,7 @@ Documentation outline :caption: Knowledge Base design_notation.md + quasi_dags.ipynb glossary.rst .. toctree:: diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb new file mode 100644 index 00000000..f0904b12 --- /dev/null +++ b/docs/source/quasi_dags.ipynb @@ -0,0 +1,396 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Causal DAGS for Quasi-Experiments" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This page provides an overview of structural causal models for some of the most common quasi-experiments. It takes inspiration from a paper by {cite:t}`steiner2017graphical`, and the books by {cite:t}`cunningham2021causal` and {cite:t}`huntington2021effect`, and readers are encouraged to consult these sources for more details." + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [], + "source": [ + "import daft\n", + "\n", + "GRID_UNIT = 2.0\n", + "DPI = 200\n", + "NODE_EC = \"none\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Before we take a look at randomized controlled trials (RCTs) and quasi-experiments, let's first consider the concept of confounding. Confounding occurs when a variable (or variables) causally influence both the treatment and the outcome and is very common in observational studies. This can lead to biased estimates of the treatment effect (the causal effect of $Z \\rightarrow Y$). The following causal DAG illustrates the concept of confounding." + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAATMAAAEMCAYAAACodFEmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAB7CAAAewgFu0HU+AAAQAElEQVR4nO3de2jV9R/H8ddxaqV4g5kXnJVGOZfzsnlJXIlZm5akKaywpHQ6/8myzMgmJBGZVkoUkbJRIKWpZavpzMVW2siQ8oLTLlNzapaZyJzT3b6/P/p58Ox6pmfne877+3zAwHPOd/Ku1tPP+5zt6HMcxxEARLl2bg8AAKFAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMAJhAzACYQMwAmEDMcM0uXbqkQYMGyefzBXw8/fTTzX5ecXGxYmJiGnxeQUFBmCaHRT7HcRy3h0D0Ki4uVkpKiurq6vz3+Xw+ffvtt0pJSWlw/eXLlzVs2DAdPnw44P6MjAytXbu2zeeFXZzMcF3Gjh2rBQsWBNznOI7mzJmjysrKBtcvW7asQcj69eunN998s03nhH2czHDdLl68qMTERJWWlgbcv2jRIq1cudJ/+6efftLo0aNVU1MTcF1eXp4mT54clllhFzFDSBQVFWnChAm6+sspJiZGxcXFGjVqlGpqapScnKx9+/YFfN6sWbP00UcfhXtcGMSaiZAYP3685s+fH3BfbW2tZs+eraqqKi1fvrxByHr37q3Vq1eHcUpYxskMIXPhwgXddddd+uOPPwLunzlzpjZu3KiqqqqA+z/77DNNmzYtnCPCMGKGkNqxY4ceeOCBFq9LT0/X+vXrwzARvIKYIeQyMjKUnZ3d5OM9e/bUwYMH1bNnzzBOBeuIGULu/PnzSkhI0MmTJxt9fP369UpPTw/zVLCOFwAQct26ddOECRMafaxz585BraFAaxEzhNx3332ndevWNfpYRUWFFi5cGOaJ4AWsmQipyspKJSYm6vfff2/2um3btiktLS1MU8ELOJkhpLKyshqErH379g2umzdvnsrLy8M1FjyAmCFkdu/e3eCbYH0+n7788kvFx8cH3F9WVqYXXnghjNPBOmKGkKiqqtLs2bMD3j1DkjIzM5WWlqacnBy1axf45bZmzRoVFhaGc0wYRswQEsuWLVNJSUnAfXFxcVqxYoUkacyYMQ2e+HccRxkZGbp48WLY5oRdvACA6/bzzz/7f5j8alu3btWkSZP8tysrKzV06FD99ttvAdc988wz/Iwmrhsxw3WpqanRyJEjtXfv3oD7m3o3jF27dumee+4JeHeNdu3aaefOnRo7dmxbjwvDWDNxXV5//fUGIevVq5dWrVrV6PXjxo1r8LbadXV1mjNnji5dutRWY8IDOJnhmpWUlGj48OEN3g1j06ZNmj59epOfV1FRocTERB05ciTg/hdffFHLly9vk1lhHzEDYAJrJgATiBkAE4gZABOIGQATiBkAE4gZABOIGQATiBkAE4gZABOIGQATiBkAE4gZABOIGQATiBkAE4gZABOIGQATiBkAE4gZABOIGQATiBkAE4gZABOIGQATiBkAE4gZJEmnT59WZWWl22O02tGjR8Vf/QqJmOH/+vTpo06dOunjjz92e5SgOI6jadOmacCAAZo6darb4yACEDNo3rx5/l/PnDlT//77r4vTBOett97Sli1bJEm5ubnav3+/uwPBdT6HM7qnlZaW6vbbb/ffvvfee1VUVOTeQK3g8/kCbtfV1TW4D97Byczjrg6ZJBUWFro0SeuVlJQE3Gbd9DZi5mFXr5eStHv37qg62cTHxys9Pd1/m3XT21gzPSqa18v6WDchcTLzrGheL+tj3YREzDwp2tfL+lg3IbFmeo6l9bI+1k1v42TmMZbWy/pYN72NmHmItfWyPtZNb2PN9AjL62V9rJvexMnMIyyvl/WxbnoTMfMA6+tlfayb3sSaaZyX1sv6WDe9hZOZcV5aL+tj3fQWYmaY19bL+lg3vYU10ygvr5f1sW56Ayczo7y8XtbHuukNxMwgr6+X9bFuegNrpjGsl01j3bSNk5kxrJdNY920jZgZwnrZPNZN21gzjWC9DB7rpk2czIxgvQwe66ZNxMwA1svWYd20iTUz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", + "text/plain": [ + "<Figure size 267.717x228.346 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", + "\n", + "pgm.add_node(\"z\", \"$Z$\", 1, 0)\n", + "pgm.add_node(\"x\", \"$\\mathbf{X}$\", 1.5, 0.75)\n", + "pgm.add_node(\"y\", \"$Y$\", 2, 0)\n", + "\n", + "pgm.add_edge(\"z\", \"y\")\n", + "pgm.add_edge(\"x\", \"y\")\n", + "pgm.add_edge(\"x\", \"z\")\n", + "\n", + "pgm.render();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Randomized controlled trials (RCTs) are considered the gold standard for estimating causal effects. One reason for this is that we (as experimenters) intervene in the system by randomly assigning subjects to treatment groups. This ensures that the treatment is independent of any confounding variables. Importantly, this act of intervention breaks the causal link of the confounders $\\mathbf{X}$ upon the treatment $Y$. The following causal DAG illustrates the structure of an RCT." + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "image/png": "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M3E9ZeeLVP3V+PHjXS9Azs3NtfLz8638/HzryJEj1ubNm63ExETX/YMGDbJ7XMuyLOvDDz90zcTFs0tcXJz10ksvWdnZ2XY/fS5ZWVmuF7ZLslauXGn3SG45nU7bn8NAu0RGRlrJycnW7Nmz7X766lm+fLlrzszMTLvHCRhEtAHdunWzJFnt2rVr8P6ysjKrZ8+erm+4o0eP+njC+uz+5RDIl0WLFtn99FmWZVm5ublWq1atXHN9+umndo/UqBs3btj+3AXqJSIiwu6nr54333zTNd+lS5fsHidg8BKXOpxOp86fPy9JSkxMbPCYyMhILVy40PX1li1bfDIbvCMszP4fg6NHj2r06NEqKyuTdO+1ex999JHNUyGU3P8zVtu2bWu9iQwa55+b8zY6efKkqqurJUl9+/Z1e9yYMWP0yCOP6Pbt29qxY4eWL1/uowkbtm/fPtdp6cFs2bJlD/3fcDgc6tatm+tvVaNGjWqGycwVFBQoNTVVt27dkiTNmjVLn3/+ua0zeaJ169aaP3++3WN4XXZ2tsfnSTQmJibG9bfRfv36PfxgzaiiokKFhYWSpD59+tg8TWAhonXU/GFxtxKV7n1qy/Dhw5WZmanLly/rjz/+aPSdjbxtxIgRIXH25q5du2qdhv8gdYOZlJSkxMREv3k5UlFRkZ5//nldv35dkjRx4kR99dVXNk/lmRYtWmjp0qV2j+F1dV/i4omawbwfzS5duvjt6y1PnTql8vJySY0vHlAfEa2jZkQf9M00atQo1xmgu3fvtjWi8P9g1nXlyhUNHz5cV69elXRvd+Obb77xi+1leC7QgtmQpvzeQ21EtI7730xRUVHq1q1bo8eOHDlSDodDlmXpp59+0scff+yDCSEFXjDrunHjhoYPH65Lly5JuvcmEosWLdLp06c9/m/ExcUpJibGSxOiIcEQzIacPHnSdZ2INg3vWFRDdXW1oqOj5XQ6H/ghtfclJSXp2LFjCgsL09WrV/32tYfBYsuWLXryyScDKpgN2bp160O/H2leXp6ee+65ZpoI7uTn56uwsDBogtmQYcOG6ZdfflHLli11+/ZttWjRwu6RAgYr0RrOnj3r+gxRT/81NmrUKB07dkzV1dXKysrSW2+95cUJ8cYbb9g9QrPIz89/qMeHh4ezYvCR3r17N/pxiMHg/kq0R48eBLSJWIkCAGCIMxgAADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADBERAEAMEREAQAwREQBADD0f1uMy4xvJGA6AAAAAElFTkSuQmCC", + "text/plain": [ + "<Figure size 425.197x228.346 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", + "\n", + "pgm.add_node(\"r\", \"$R$\", 0, 0)\n", + "pgm.add_node(\"z\", \"$Z$\", 1, 0)\n", + "pgm.add_node(\"x\", \"$\\mathbf{X}$\", 1.5, 0.75)\n", + "pgm.add_node(\"y\", \"$Y$\", 2, 0)\n", + "\n", + "pgm.add_edge(\"r\", \"z\")\n", + "pgm.add_edge(\"z\", \"y\")\n", + "pgm.add_edge(\"x\", \"y\")\n", + "\n", + "pgm.render();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The new variable $R$ represents the random assignment of units to the treatment group. So now $Z$ is entirely causally influenced by $R$, and not by any other variables. This means that the treatment effect $Z \\rightarrow Y$ can be estimated without bias." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Instrumental Variables\n", + "\n", + "In quasi-experiments, we cannot randomly assign subjects to treatment groups. So confounders $\\mathbf{X}$ will still influence treatment assignment. In the instrumental variable (IV) approach, the causal effect of $Z \\rightarrow Y$ is identifiable if we have an IV that causally influences the treatment $Z$ but not the outcome $Y$." + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "image/png": "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Qh+1rK3wt2LFirj//vvLOBWdEfwACuC///1vs4+uEvpIQVvhT/CrbHb1AhTI3Llz4zvf+U7suOOOQh9JadrtO3r06Ljxxhujf//+5R6Jdgh+AAXUdH3TpptuWuZJoLSWL18u8FUBwQ8AIBGu8QMASITgBwCQCMEPACARgh8AQCIEPwCARAh+AACJEPwAABIh+AEAJELwAwBIhOAHAJAIwQ8AIBGCHwBAIgQ/AIBECH4AAIkQ/AAAEiH4AQAkQvDLw8033xyZTCYymUzce++9ueNf+tKXIpPJRL9+/br8mqeddlruNR988MFCjgv8z6RJk3I/Z9253XDDDeX+V4AkrFixIj796U9HJpOJQYMGxdq1azt9zrp162L06NG5n9cpU6aUYNLqJ/jlYd68ebmv99tvv9zXe++9d0REfPDBB/HWW2/l/Xrz58/PBcgRI0bESSedVJA5geaef/75Hj1/n332KdAkQEf69esX48aNi4iIN998M68FkYsuuigef/zxiIgYP358nHLKKUWdsVZkstlsttxDVLqDDz44nnvuudhkk03io48+it69e0dExC233BLf/e53IyJi1qxZ8eUvfzmv1zvqqKPiiSeeiIiIp59+Og455JDiDA6Je+2112LVqlV5nfvhhx/GmDFjYunSpRERccABB8RTTz0Vffv2LeaIwP8sXbo0dtlll2hoaIiDDz44nnnmmXbPnTx5cpx11lkREXHiiSfGAw88EJlMplSjVrU+5R6g0jU2NsZLL70UEetX+JpCX0TE0KFDc1+/8soreQW/WbNm5ULfmDFjhD4oop133jmv81avXh2jR4/Ohb4hQ4bEjBkzhD4ooUGDBsUpp5wSd999dzz77LPx9NNPx6GHHtrqvDlz5sT3vve9iIjYf//94+677xb6ukDV24lFixblVgw2rHkjWge/zmSz2bjkkksiImLjjTeOq666qnCDAt3S0NAQJ510UsyZMyciInbaaaeYNWtWbL311uUdDBJ0ySWX5EJcW9fYvvrqq3HSSSdFQ0NDDBw4MP7whz/4A62LBL9ObHh93/7779/ssf79+8d2220XERELFizo9LXuvffeePHFFyMi4rzzzouddtqpcIMCXdbY2Bjf+ta3Yvr06RERsf3228esWbNi++23L/NkkKahQ4fGMcccExERDz30ULzxxhu5x1auXBnHHnts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", + "text/plain": [ + "<Figure size 598.425x303.15 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", + "\n", + "pgm.add_node(\"iv\", \"$IV$\", 0, 0)\n", + "pgm.add_node(\"z\", \"$Z$\", 1, 0)\n", + "pgm.add_node(\"y\", \"$Y$\", 2, 0)\n", + "pgm.add_node(\"x\", \"$\\mathbf{X}$\", 1.5, 0.75)\n", + "pgm.add_edge(\"iv\", \"z\")\n", + "pgm.add_edge(\"x\", \"z\")\n", + "pgm.add_edge(\"x\", \"y\")\n", + "pgm.add_edge(\"z\", \"y\")\n", + "\n", + "pgm.render();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Readers are referred to {cite:t}`steiner2017graphical` for a more in-depth discussion of the IV approach from the causal DAG and SCM perspective." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + ":::{note}\n", + "TODO: Explain the intuition behind how the IV approach works.\n", + ":::" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Interrupted Time Series\n", + "\n", + "A causal DAG for interrupted time series is given by {cite:t}`huntington2021effect`, though that book refers to it as [Event Studies](https://theeffectbook.net/ch-EventStudies.html). These kinds of studies are suited to situations where an intervention is made at a given point in time and any causal effect is assumed to have a lasting (not a transient) effect. Here's the causal DAG - note that $\\text{time}$ represents all the things changing over time such as the time index as well as time-varying predictor variables." + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdEAAAEzCAYAAABuTzkSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAB7CAAAewgFu0HU+AAAhKklEQVR4nO3deXRU9d3H8U8IkIUACViMQTYXkKWCAuKGSUGFChxQQKB4RDQgiKiIwnlkK1QqxyoFxIK1AoeWTbBQVESUTUEQREREK8hOZE9igSSEJN/njzS3CUkguWQy2/t1zhyTe+/M/G6IvLm/uXMnxMxMAACg1Cp4ewAAAPgrIgoAgEtEFAAAl4goAAAuEVEAAFwiogAAuEREAQBwiYgCAOASEQUAwCUiCgCAS0QUAACXiCgAAC4RUQAAXCKiAAC4REQBAHCJiAIA4BIRBQDAJSIKAIBLRBQAAJeIKAAALhFRAABcIqIAALhERAEAcImIAgDgEhEFAMAlIgoAgEtEFAAAl4goAAAuEVEAAFwiogAAuEREAQBwiYgCAOASEQUAwCUiCgCAS0QUAACXiCgAAC4RUQAAXCKiAAC4REQBAHCJiAIA4BIRBQDAJSIKAIBLRBQAAJeIKAAALhFRAABcIqIAALhERAEAcImIAgDgEhEFAMAlIgoAgEtEFAAAl4goAAAuEVEAAFwiogAAuEREAQBwiYgCAOASEQUAwCUiCgCAS0QUAACXiCgAAC4RUQAAXCKigIetWbNGNWvW1IMPPigz8/ZwAJQhIgp42NKlS5WcnKxly5YpOTnZ28MBUIYqensAQKAbPHiwtm/frrZt26pmzZreHg6AMhRizC8BZWL37t1auHChxo4d6+2hACgnTOcCZWTSpEnKycnx9jAAlCMiCpSBlStXas6cOd4eBoByRkSBK7R69Wr17NmTM2+BIEREgSswefJk9erVS+np6ZJyp3Sjo6MVHR2t2bNnKycnRytXrtSDDz6oG2+8sdD9jx07plGjRqlGjRo6cOCAJOmdd95RkyZNVKVKFbVt21bbt293tt+2bZs6d+6satWqKTY2VmPGjCl2CjktLU0TJ05UixYtVL16dUVHR6tDhw5av3592f8ggGBlAK5YfHy8SbJx48Y5y7Zs2WIdOnSwihUrmiSrV6+es+6XX36xxMRECwsLM0kmyfbt22cDBw60KlWqWGxsrLO8Vq1advLkSXv//fctPDzcrr32WgsPD3fWT5w4sdB4jhw5Ys2aNbOXX37ZfvnlF8vMzLS3337bwsLCrEKFCjZ79mzP/1CAIMCRKOAhrVu31sqVKzVs2LBC66pUqaLx48frtddec5ZNmDBBzZs31+nTp3X06FEtW7ZMISEhOnHihF544QX95S9/0ddff63Dhw8rJSVFnTt3liRNmzatwGObmXr27KmOHTtq1KhRqlatmipVqqTExESNHDlSOTk5Gjx4sH7++WfP/gCAIEBEAQ9r0KBBoWWhoaGKi4tTQkKCs6x///566qmnFBYWJknq2rWrbr/9dknSoUOH9P7776tx48aSpPDwcL3wwguSpOPHjyslJcV5nA8++ECbNm1SYmJioee94447JEkZGRlavHhx2ewgEMS42ALgYeHh4cWui4yMdL6uW7duofX169fXpk2bVLduXYWGhhZYFxcX53x99uxZxcTESMq9QpIktWnTptDj5eTkOJHet29fKfYCQFGIKOBhISEhxa6rUOHSk0GVK1cudl2lSpWcr7Ozs52vd+7cKSn3pKVLBRzAlWM6FwgwqampkqSkpCTvDgQIAkQUCDB5U8Tr1q275Hb5j14BuENEgQDTqFEjSbln7WZlZRW5zaFDh/Tyyy+X57CAgEREgTKQ99pmRkaGl0cidenSRZL07bffaujQoYWupJSTk6NnnnlG9957rzeGBwQUIgqUgapVq0qSNmzYoOzsbP3000+aMGGCpNwrB0lyrmqUX/5lRQU470gyMzOz0Lr807H5H6d3795q2rSpJGnmzJmKj4/Xe++9px07dmj58uW6//77deHCBd11112l3k8ABRFRoAzkvZ9z48aNiouLU9u2bdWvXz+dP3/eecvJiRMnCrxOaWZatGiR8/2SJUsKHDUeOXLE2X7Tpk0FThQyMy1cuND5fvHixc7l/ypVqqSlS5c6b5n5/PPP1aNHD7Vo0UJdu3bVkSNHuFg+UFa8er0kIECkpaVZ3759LTIy0m677TbbunWrrV271rnkX/5b+/btLSsrq8Al//JuYWFhdvDgQRs4cGChdSEhIdavXz87ePCgVa5cucj75nfq1Cl7/vnnrX79+la5cmWrU6eOPffcc5acnOylnxIQePhQbgAAXGI6FwAAl4goAAAuEVEAAFwiogAAuEREAQBwiYgCAOAS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nKjVq1dr2bJlysnJ0YMPPqh169apSpUq2rZtmxo1auTtIQIAfAivif7X2rVrNXr0aA0bNkzVqlVTdHS0Fi1apLi4OJ07d07btm3z9hABAD6GiP7X66+/LkmqW7eus6xWrVrauHGjZs+erV69emnUqFE6cOCAl0YIAPA1TOcq9xTyKlWqKD09XXv27NENN9xQaJvU1FRdd911+vrrr1W/fv3yHyQAwOdwJCopJSXFeQ9WaGhokds89dRTpfowbABA4COiyj37Lc/FZ8JmZ2frmWee0YIFC8p7WAAAHxdwET1//rymTp2qVq1aKTY2VlFRUWratKnGjh2rjIyMAtuOHz9e0dHR+vWvf+0su/nmmxUdHa3o6Gh9+OGHuu+++zRnzpwi158/f95ZbmaaN2+e4uPjVatWLUVGRqpVq1b629/+VmiMP/zwg5599llFR0frwIED2r17t+655x5Vq1ZN48aNK/sfCgDAMyyAZGRk2O23326VK1e2lStXmpnZnj17rHnz5ibJHn744SLvt3//fpNkkmz//v2lXp+ZmWk9evSwnj172qFDh8zMbP369Va3bl2TZI8//riZmZ08edIeeughq1ixovN4mzdvtkaNGjnLKlSoYJmZmWXzAwEAeFRARXT27Nkmye68884Cy5cuXeoEKi0trdD9rjSiI0eOtNtvv92ysrIKLF+zZo1zv/fee89Z/t577znLO3XqZD/++KPt2rXLunTpYiNHjnS38wCAclexnA98Pers2bOSct+akt9NN90kScrJyVFycrJq165dZs958uRJTZ06VVOmTCl0UtIdd9zhfP33v/9dDz30kCSpadOmzvKHHnpIDRs2lCQtX768zMYFAPC8gIroE088obCwMN1///3OspycHG3fvt35Pisrq0yf86OPPlJGRoaGDx+ukSNHFlofFhYmSQXeX1q5cmXn63bt2pXpeAAA5SegIhoREaEBAwZIkk6cOKEZM2ZoxYoVat68ubONlfHbYvM+bWXJkiXq2LFjie7DtXABIDAE3Nm56enpGjFihO6++241bNhQGzdu1EsvveSx50tNTZUkJSUleew5AAC+KaAievLkSbVu3VorVqzQ5s2b1adPH1Ws6NmD7cjISEnSunXrLrlddna2R8cB//bqq68qJCTE9W3KlCne3gX4kZSUFFWtWlUhISGqU6dOiV7mys7O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", + "text/plain": [ + "<Figure size 425.197x267.717 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", + "\n", + "pgm.add_node(\"a\", \"after\\ntreatment\", -1, 0)\n", + "pgm.add_node(\"z\", \"$Z$\", 0, 0)\n", + "pgm.add_node(\"y\", \"$Y$\", 1, 0)\n", + "pgm.add_node(\"t\", \"time\", 0, 1)\n", + "\n", + "pgm.add_edge(\"a\", \"z\")\n", + "pgm.add_edge(\"t\", \"a\")\n", + "pgm.add_edge(\"t\", \"y\")\n", + "pgm.add_edge(\"z\", \"y\")\n", + "\n", + "pgm.render();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What we want to understand is the causal effect of the treatment upon the outcome, $Z \\rightarrow Y$. But we have a back door path between $Z$ and $Y$ which will make this hard, $Z \\leftarrow \\text{after treatment} \\leftarrow \\text{time} \\rightarrow Y$.\n", + "\n", + "The approach taken is to use the pre-treatment data only to create a prediction of what would have happened in the absence of treatment (i.e. the counterfactual). If we can assume that in the absence of the treatment, nothing would have changed, then this counterfactual estimate will be unbiased and we can estimate the treatment effect by comparing the observed (post-treatment) data with the counterfactual." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Difference in Differences\n", + "\n", + ":::{warning}\n", + "This section, including the DAG is a work in progress.\n", + ":::" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAATMAAAEzCAYAAABdWOReAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAB7CAAAewgFu0HU+AAAbmklEQVR4nO3deXCU9R3H8c8mJCEhkN1AMaYkIExBkgCBcBjRhiPIIFBgoAUrCM5EpDPFIgiKyiVQQKpDWyx1OEwLgigKhOEo9yEqhwMaEWQ4AiEcUhIoOSDHfvsH7mM22c1ukt19nv3t5zWzM2Gf3fBNeHjzXHkwiYiAiMjPBek9ABGRJzBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlICY0ZESmDMiEgJjBkRKYExIyIlMGZEpATGjIiUwJgRkRIYMyJSAmNGREpgzIhICYwZESmBMSMiJTBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlICY0ZESmDMiEgJjBkRKYExIyIlMGZEpATGjIiUwJgRkRIYMyJSAmNGREpgzIhICYwZESmBMSMiJTBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlJCwMVs7969aNq0KYYNGwYR0XscIvKQgIvZxo0bkZ+fj02bNiE/P1/vcYjIQxroPYCv/eEPf8CJEyfw5JNPomnTpnqPQ0QeYhJF97XOnj2Ljz76CDNnztR7FCLyAWV3MxcuXAir1ar3GETkI0rGbMeOHcjMzNR7DCLyIeVitmfPHvz2t7/lmUqiAKNUzN59912MHDkSJSUlAB7saprNZpjNZnzwwQewWq3YsWMHhg0bhl/96lfV3n/9+nW88cYbiI6ORk5ODgBg5cqVSEhIQKNGjfDkk0/ixIkT2uu//vprDBo0CE2aNEFMTAxmzJjhdNe2uLgY8+fPR3JyMqKiomA2m9G/f38cOHDA898I8pri4mLMmTMHCQkJaNy4MSwWC37zm9/g2LFj1V578+ZNLFq0CK1bt0ZmZibu3r2L5557Dk2aNMHgwYNx//597bUVFRXIzMzEr3/9a8TGxqJx48bo0qULFi9ebPc6ALBYLDCZTNqj8l7IokWL7Jb16tXL7r3nz5/HtGnT0KxZM+Tk5KCoqAgvv/wyHn74YURGRqJfv34Ovxa/IApKS0sTADJr1iztuaNHj0r//v2lQYMGAkBatmypLbtz545kZGRIWFiYABAAcuHCBRk/frw0atRIYmJitOebN28uN2/elC1btkjDhg2lRYsW0rBhQ235/Pnzq81z5coVSUpKknnz5smdO3ektLRUli9fLmFhYRIUFCQffPCB978pVG8FBQXSqVMniYyMlK1bt0pFRYUcP35cWrVqJSaTScLDwyUqKkosFoskJydLdHS0tl6sWrVKBgwYIJGRkdpze/bsEZEH61///v2lbdu2cvToURERycvLk5EjRwoASUpKkhs3btjNsnXrVu3zVF1/8vPzpVu3bgJA0tLStOfGjBljt45///330qNHD2natKk0b95ce75hw4ayf/9+r38/PS1gYmYzderUajErLy+XvLw8+fvf/679gY4bN07ee+89uXfvnoiIbNq0SUwmkwCQsWPHyoABA+T7778XEZGSkhIZNGiQAJCHHnrI7vezWq2Smpoqr7zySrVZZs6cqa08eXl5nvsGkFc8//zzAkBef/11u+c3btwoAKRBgwZy7tw57flr165JSEiIAJDHH39cPvnkE8nPz5cXX3xRhg4dKoWFhSIiMnr0aAkKCpLs7Gy7z1tRUSE9e/YUANKjRw8pLy+3Wx4bG+swZiIi06dPt4uZzZYtW7R1fNiwYbJy5UqxWq0iIrJ27VoJDQ0VABIfHy/379+v67dKFwEXs3/84x/VYmaTnZ2t/UEfOHCg2vLU1FQBIL179662Yu3fv197b35+vvZ8VlaWAJAzZ85U+3zbt2/X3rNkyZLaf6HkM/fv39e2wDdu3Gi3zGq1SlRUlMMtc9tW/ZgxYxx+3kOHDgkA6d69u8Plhw8fttu6q6xly5ZOYzZr1iyHMTt37pz2+VavXl3tfXPnztWWr1u3zuFMRqXUMTN3NGzY0OmyiIgI7eP4+Phqy1u1aqUtCw4OtlsWGxurfVxYWKh9vHHjRgBAjx49tON3tsfvfvc7hIWFISwsDBcuXKjT10O+kZ+fj3v37gEATCaT3TKTyYRHHnkEAJCbm2u3LDQ0FADQp08fh5935cqVAIBOnTo5XP74449r692///3vug1fSeX19oknnqi2/I9//CPC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", + "text/plain": [ + "<Figure size 267.717x267.717 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", + "\n", + "pgm.add_node(\"z\", \"$Z$\", 0, 0)\n", + "pgm.add_node(\"y\", \"$Y$\", 1, 0)\n", + "pgm.add_node(\"t\", \"time\", 0, 1)\n", + "pgm.add_node(\"g\", \"group\", 1, 1)\n", + "\n", + "pgm.add_edge(\"t\", \"z\")\n", + "pgm.add_edge(\"t\", \"y\")\n", + "pgm.add_edge(\"g\", \"z\")\n", + "pgm.add_edge(\"g\", \"y\")\n", + "pgm.add_edge(\"z\", \"y\")\n", + "\n", + "pgm.render();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Readers are referred to {cite:t}`huntington2021effect` for more details." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Regression Discontinuity\n", + " \n", + "The causal graph for the regression discontinuity design is shown below (left). $A$ is a continuous running variable which determines the treatment assignment $A \\rightarrow Z$. Assignment is based on a cutoff value $a_c$. The running variable may also influence the outcome $A \\rightarrow Y$. The running variable may also be associated with a set of variables $\\mathbf{X}$ that influence the outcome, $A - - - - \\mathbf{X}$." + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "image/png": "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H2+1W7NmjW6//Xa3l1Xkt3/MS/+dk2+++UYdOnRQqVKlrPfjN998U06nM1Pb9PR0ffnll+rcubOuu+46SdLMmTN12WWXqVq1avrpp5+str/99pv69OmjWrVqKSoqSuXLl1f37t3djt65Z88ePfzwwypdurT279+v8+fP6/7771eFChUUFRWlTp06ad26dR5tz/vvv68rr7xSkZGRatWqlTZu3JjHZwbIJQOvqFKlipFkrr32Wo/af/nll0aSkWTq1atnTU9KSjItWrQwoaGhZuHChcYYY3bv3m0aNGhgJJk+ffpkWteMGTOMJFOlSpVM85xOp+nVq5eRZGbMmGGcTqf5888/TYcOHYwk07x5c+N0OnO1re+9954JCgoyvXr1MidOnDDnzp0zjz76qJFkQkJCTHR0tImJiTEtW7a0lklJSTG9e/c2t9xyizl48KAxxpjvv//eVK5c2UgyQ4YMMcYYc+rUKTNq1ChTvHhx6/nZtWuXufnmm01kZKSpUKGCNf3yyy83qampmeq77777TPv27c22bduMMcb8+uuvpn79+kaSuf76601qaqpJTU01t912m4mMjLTWN3/+fNO0aVMTERFhTduzZ0+Bvibp6elm6NChpkyZMtZjfPfdd9b8F154wVStWtWaN2PGDDNhwgQTGhpq4uPjTVBQkJFkQkNDze+//57pcTds2GDi4uJM3bp1zbZt20xqaqr55JNPTHh4uAkODjbFixc3MTExpnTp0ubo0aMevd7z58834eHhpk2bNubQoUMmKSnJTJkyxUgyxYoVM1FRUSYmJsbEx8ebHTt2mBtuuME4HA5rG7Zt22YqVapkTYuPj7eewzJlypjq1aub3bt3G6fTaZYtW2ZiYmKMJPPmm29aNTz++OOmfPnyLs/LvffeayIjI63/oYyfF198MdM2XHvttUaSefrpp82cOXNMWFiYqVy5sgkLCzOSTFBQkFm7dq1HzweAwpWx/7rr47Jz6tQpc+utt5ro6Gjr/WHfvn3W/BdeeMHlvXjGjBnmgw8+MOHh4S7vWUFBQea7774ze/bsMfHx8aZUqVImLi7OWq5Tp04ujztx4kRTt25da/7TTz+dqbZBgwYZSWbQoEEu0/fu3Wt69OhhwsPDreUv3p789o956b9z8vTTTxtJ5p577jHnzp0zJ0+eNAMHDrT6qhIlSpjY2FjTt29f8+WXX5qGDRtadV577bXm448/NrGxsda0gQMHGmOM+e9//2uCg4NNt27dzKlTp0xycrKZPHmyVeumTZuMMcb8888/ZuDAgdb7eUa/07x5c1OqVClTtmxZa3p4eLhZsWJFpm24uD8ePXq0CQ8PN1WqVLH+B8qUKWPOnj3r8XMC5BVBzUtyG9TWr19vvTFER0db0zM+4Ldq1cql/eeff251GAkJCS7zsgtq3333nZFkKlas6DJ948aN1uPv2LHDs400Fz5ch4SEmMjISHPy5ElrutPptN5877jjjkzLPfLII6ZFixYmLS3NZfry5cutOj777DOTnp5ukpKSzBdffGFN79atm5kyZYpJSkoyxhjzySefWPMyglOGt956y1SrVi3TG+qePXusN9yJEyda0zds2GCtq127dmb16tXm0KFD5tZbbzWDBw826enpBf6aGGPM1q1b3Qa1hIQEc+LECRMcHGwkmeuuu87cc8895tixY8YYY3bt2mVKlChhJJlHH33UZZ2pqammVq1aRpJZvHixy7z77rvPSDI1a9bM9Bpk5+TJk6ZkyZLWB4KL9ejRw0gy7du3z7TcxIkTre0bMGCAOXbsmFm9erXp2LGjmTRpkjHmfx9UHn/8cbe1tmjRwmX68ePHTWhoqJFk/vWvf5m7777bet43btxo4uPjrfC4efNml2UzPui1adPG9OnTxxw6dMgYY8yff/5pBeOMDwcA7CWvQS3Dt99+6zao/fHHH+bXX3+15t10003mgQceMMePHzfGGLNjxw4r/HTo0MF06tTJLFiwwDidTuN0Os1zzz1nLbt9+3aXx0xLS7MOLuUmqGWYOnVqpqCW3/4xr/13dr7//nsjyVSuXNklGCYkJFjbP378+EzLdevWzUgydevWNYMGDTJpaWlm+vTp5pprrrH6xIzPVZf2ZxkHSS/tA7/++mtr23v27GmmT59uHYiePXu21X9UrlzZJCcnuyybsVyHDh3M008/bc6dO2eMMWbVqlVWfzx9+vRcPTdAXnDqo03ExMRYvycmJlq/Z4wAVbZsWZf2derUkSQ5nU79888/Hj9OTuuTpOPHj3u8vtmzZys1NVW1atVSbGysNd3hcOj222+32lx8usPff/+tyZMna/DgwQoODnZZX8uWLa3fP/roIwUFBSksLEy1a9e2po8aNUqjRo1SWFiYJKlPnz6qWLGiJGn79u1Wu5SUFI0fP159+/ZVVFSUy+NUr17deg4++ugja3q9evWs36+55hq1bt1alSpV0pw5czRjxgwFBQUV+GsiSdWqVXM7PSIiQiVLllSpUqUkSc2bN9cbb7xh3dy1Vq1auvHGGzNtuyStXbtWu3fvliQ1bdrUZd6gQYMkSb///rvLaSU5+eqrr/TPP/8oJiZGtWrVcrvO7777Tn/++afLvIuf1yFDhqhMmTJq3bq1lixZovvuu09Szv+bl/5flipVympbrlw5TZ061TotqGHDhtZtENLS0rIc7rpixYqaO3euKlWqJEmqUKGC9X/LTWWBwJTV++1ll12mBg0aWO+3jRo10sSJE62/L7/8cg0ePFiStHHjRs2ePVudO3e2brr94IMPWv3Spe/HwcHBqly5coHWnJ/+Ucpb/52TjNNFGzVqpGLFilnTIyIi1KdPH0lye0p6Rh9x5MgRTZgwQcHBwRoyZIhWrlxpDY+f2z6ibt261u+9evXSkCFDrHvc9uvXT08++aSkC5ck/Pe//3W7Pb169dIzzzxjDdffpk0btW7dWhJ9BAoHQc0mzp49a/1+8c14hw4dqmnTpmnSpEnWNKfT6XJ+dFpamseP06VLF82cOdMlnEiyrqHK7foyPpBnvPldLGOAlOTkZJebkS5YsEBJSUkaO3asdS5+xk/58uUVFhamsLAwl2sHMjodSS6dUoaMD9oXP48//vijjhw5osmTJ2d6nNjYWJ0+fVphYWE6cOCAtUxoaKj1e8a58pcq6NdEynk44Iztd7ft8fHxkly3XZJLWLr09cl4bSTp0KFDHtfpyevtbp2ePK+vvvqqpk2bpmHDhlnTzp8/rx07dkhy/5xmBP02bdpkmnfNNdeoefPmkpTlvQzr1q2baVsyPtScOXPG7TIA/FtO77cZ19K6C1ZVq1aVJEVHR6t06dIu80JDQ61Q526Y/fwM+57dsnnpH6W89d858WSd7vqcjD6ifv36mZ7XDN98843mzZunBg0auDxexvXWl/YRFx8IdtdHXBxos+ojrrjiikzT6CNQmIrl3ASF4ciRI9bvVapUsX6PiIiwPrgeO3ZMb731lubPn+/yRmVyMeR7cHCw9c3HmTNnNH36dM2bN8/lG5fcrC/jKF/GBcwXvzlnrCcsLMzlaN3mzZslXRg0pXPnzh49Tk7D5WZ8k5Kenp7pcV599VWNHDnSo8dx17m4e6yCfE08edzstt/dtkuuR2D37dunhg0buq2vXLlyHteZsc5Tp07p1KlTLq9rduv05HmtXLmy9bxu2bJFU6ZM0datW61vD3P7nEpSu3bt9NNPP+UqjGZ03JcONAMgMOTn/fbig07uhISESMr8fuzJ42Ynu2Xz0j9Keeu/c5Kxzn379mWal7FOd32OJ89NixYt1KJFC0nSwoUL9dZbbyk9PV0JCQku6/dUbGysGjZsSB8BW+MbNZv44YcfrN/btm3rMi8xMVEPP/yw2rRpo9q1a2vNmjV6/PHH8/xY6enpeumll9SwYUOFhYVp+fLlev311/O0roEDB6p48eI6deqUvvzyS5d569evl3Th1IGLj/idOnVKknT48OG8bYCHvPk4Bf2aeEPz5s3VqFEjSco0amLGa1OlShXrNA5PdO/eXRUqVMh2nS1btrSOOufWoUOH1LNnT40cOVK33367Vq9erR49euRpXdL/vm3MS8jLyzIA4C/y0n/nZNiwYQoODtamTZsyjYyYsc7+/fvnueZVq1bp6quv1ty5czVp0iR98803LqfW5xZ9BOyOoGYTn3/+ufV7v379rN///vtvNW3aVPPnz9ePP/6ofv36uZz3nVuJiYnq0KGDJk+erOXLl+vuu+92O9yvpypWrKh58+YpJiZG9957r9asWaOUlBR9++23ev3111W7dm1NnjzZZZmM00qyOtUgg7sjkrnhrccp6NfEmz799FPVrl1bb7/9tj788EMlJSVp8+bNGjNmjKKiojRr1izrCLAnIiIi9OWXX6pChQoaP368vv32W6WkpGjNmjV65plnVK5cObdD6XtizZo1ql+/vooXL66VK1fmKkBmJePod26+NQSAoiAv/XdOrr76ar3zzjsKCwvToEGDtGXLFiUnJ+vDDz/U3Llz1apVKz3xxBN5qnfKlClq166dRo4cqZkzZ2Z5rWFu0EfA7ghqNvD1119ry5YtkqQbbrhBTZo0seYNHz5cW7du1bhx41SyZMl8P9bjjz+u77//XqNHj87ztx6X6ty5s7p166a6deuqf//+KlOmjB5++GGNGjVKP//8s3XqWobLL79c0oUQcfH1YRdzOp0aMWJEvurKeJzVq1dnO2DGxddEeaKgXxNvql69usaOHav69evr5ZdfVrly5fSvf/1LTZs21YYNG/IUhpo2bao77rhD9evX15gxY1SmTBkNHjxYPXv21C+//OL2GomcJCcnq3fv3jp16pReeeWVHE/luVRWRzaPHj0qyXWQGgBFy88//6zFixf7ugxbym3/7YkBAwaobdu2io+P1/XXX6/y5ctr0qRJ+s9//qPly5dbB1FzY+PGjRozZoxq1qyp4cOH53p5+gj4K3t+DVCEZNwsU1Kmm/9KsjqXS0dHvNilIzJlfMi9+MbL+VlfToYOHaqgoCAtWrTIo/Zdu3ZVcHCwkpKS1KdPHy1evNhl1EtJeu211/J9tKxt27YqUaKEzpw5owEDBmjFihXWRdUZPvvss2yfC3cK+jXxppkzZ2rixIn67bffcnX6SnbGjx+vNWvWaMWKFfm65uJiv/32m3WdZlbPa3b/l+fPn3c7fe3atZL+NyIlgKLntdde0/Tp031dRrZ81Ufktv/OSVpamrp3766WLVu63LA7v5YuXSqn05nnzy7u+oiUlBRt2LBBxYsX180331wgdQIFjW/UvMSTN9s9e/aobdu2+uuvv1SmTBktWLAg0yhTGSNAvvzyy9aQ7z/99JM1RLAk/fXXX/rpp5+sD6XR0dGSLgx0sWPHDqWmpuquu+5ScnKytb4333xTBw8elHRhyN5evXq5rG/37t365ptvctyGJUuWaObMmTp58qTWrl2rbdu2aefOndq9e7f279+vEydOZFqmatWqGjJkiKQLRzobNmyod955Rxs3btSKFSt011136dVXX9WoUaOsZS4eXSk5OTnLei6+tUFUVJQeeeQRSRee64yhltevX6/Vq1frscce0/DhwzVu3DhrmYtHjcpqiP2Cfk0kWRdDX7oNl26/p9suSadPn9Y999wjp9OplStXasuWLdq5c6d27dqlvXv36siRI7k+7XPXrl0aP368kpOTtXLlSm3dutVa5759+/T333+7PXKZ0/N68Uin48aNU3p6utLT0zVv3jw9++yz1nLJycl69913M42o5u701i1btmjx4sXq1KmTbrjhBpd5GZ12SkpKltvq7nUA4HsZgzh40s9+9NFHSklJcfkWJ6f324xp7taf8V6W1XtHxnuqu/VmPK67eRl9xM8//6zExEQdO3ZMY8eO9ajmvPSPUt7675zMmDFDS5Ys0eHDh/Xzzz9r+/bt1joPHDhgXTt+qYznNad+d/v27frggw8kXRhZ88UXX7QuHfnrr7+Umprq9nYs7vqI6dOn69SpU3rssces0Tol11BHHwGfK+T7thUJBw8etG6mfOWVV5qNGzdaN59MTk42GzZsMA8++KAJDw83DofD3HTTTWbPnj1u1/XAAw9YN14MDw83FSpUMNWqVTMrVqywpsfExJgOHTqYlJQU6/GLFStmJJmIiAhTqlQpM2XKFGOMMa+//rq1XEhIiKlUqZIpXbq0WbZsmYmNjTWSTFRUlGnUqJE5depUjtv61VdfWevL6qdKlSrmrbfeclnu/PnzpkOHDm7bR0VFmTVr1lhtnU6nefLJJ635//nPf6ybVhpjzO+//27V3qBBA3P69GlrXnp6urntttvcPk5ISIj59NNPXR7n3Xfftea3bdvWutGpN18TY4yZPn26tezQoUNdbkK9dOlSa17Xrl2t/yVjjDl37pxp3ry5kWQiIyPNtm3brHlHjx41ERER2b42sbGx5t577810g+6s/PrrryYoKCjbdZYrV86MHz/e2oakpCRzxx13WPMfeOCBTDcXdTqdpkmTJlabuLg4Exsbazp27Ojy3JQuXdrlhtgZN0ANCwszjz32mHXT1p9++snUrFnT1KtXzxw9etTlsTZs2GA9L02aNDEnTpyw5qWkpJjevXtbj7dy5UqPnhcAhadSpUrWPvrTTz9lmu90Os3+/fvNE088YYKDg83HH3/sMu+pp56yln/mmWdc+pNly5ZZ87p06eLyfpuQkGA6d+5sJJmgoKBM7w/Lly+3bobcpUsXc/78eWveli1brPed+vXru/RTxly4AXPG45YsWdLExcWZdevWGWMu3Cx78ODB1vwZM2a4bE9e+8e89t/ZufgzRlY/derUMZ999pm1zPHjx039+vWt53XevHku22CMMYcPHzZRUVHWOipWrGgiIiLM2LFjzejRo136n2+//dYYY8y+fftcntNZs2aZ5ORkk5aWZmbPnm0iIyNN3759TXp6usvz+dZbb1nLjRgxwqW/On78uKlWrZqRZC677DLz119/efzcAHlBUCtAK1asMGPHjjWVK1d2++ZUvHhxExMTY6pVq2Y6dOhgnn32WfPbb79lu86EhARzzz33mNKlS5uSJUua4cOHWx9GBw8ebKKioswdd9xhzp0757LczJkzTYUKFUyFChXMhAkTrOnp6enmqaeeMhUqVDDR0dGmT58+5tChQ8YYY5588klTvHhx06NHj0wfbrPzn//8x1SsWNFUr17dxMbGmtDQULfbP3fuXJflUlNTzeTJk02DBg1MWFiYKVmypOndu7dL2EhLSzNhYWGZ1hUaGmp27dplunXrlmlecHCwmT59urUOp9NpPvzwQ9OiRQsTGRlpoqOjTefOnc0PP/zgUk9cXFymdTkcDvPOO+949TWpWbOm2xC5d+9et2E2Y/teeeUV60PBxT+DBg2y1v3999+b2NhYU6dOHVO6dGkTFhbmNmiNHDnS49f7448/NqVLlza1atUyJUuWdPv6SDIvvvii+eWXX9zWWKxYMZfX2RhjDhw4YLp27WqioqJMlSpVzEsvvWTS09PN2bNnTcOGDU3p0qXNK6+84rJMRlCbNGmSGTFihClXrpwpUaKEqVWrlnniiSfMmTNnXNoPHDjQ7Wv81FNPmVmzZllh+uKfHj16ePzcAPCOw4cPmy+++ML07ds30z4aERFhYmJiTExMjClRooTLe05oaKh10DGr/iQsLMykpaW5fb8tVqyYmTVrlvn444/dvndWrVrVGGNMnTp13L5Xr1q1ygwdOjTTvKCgIPPBBx9Y25eenm7GjBljoqOjTb169czChQuNMcbs3bvXbZ9ao0aNAukf89p/Z8XpdJphw4aZqlWrmipVqpiYmBgTEhLi9n33hx9+MJMnT3b7eBUrVsy07hUrVphGjRqZ8PBw07BhQ/PVV18ZY4xZv369KVeunLn88svNggULrPYXB7UFCxaYG2+80cTExJjY2FjTtGlT895777mENGOMiY+Pd/s/sGTJEjNy5EjrIPzF2zFx4kSPnhsgLxzGML4o8u7IkSPq3r27vvjiC+smkBmMMUpMTNTBgwf1yCOPqFixYvrss898VGnRk56erl69eumuu+5ye7+65ORkHTt2TNOnT9eUKVM8Os3l/Pnz6ty5s6ZOnar69eu7zDPGKDk5WX/++adeeuklrV+/3uVG6t5QtWpVHThwQDNmzHA59RQAkD1v9N87duzQHXfcocWLF1unc2ZwOp1KSEjQnj17NHLkSLVq1UoTJ04s0G262P79+13u61ZQA6gBhYlr1JBn6enpuvnmm9WzZ89Mb/LShRtYRkZGqk6dOrrzzjtzPZIf8ufxxx9XUlJSljcVDwsLU3x8vMaOHevxazNkyBBdccUVmUKadOH1Dg8PV/Xq1TVq1ChebwCwKW/032fPnlW3bt107733Zgpp0oUBU6KiotSgQQP179+fPgLwAHsJ8mzGjBlau3ZtjqMJGmP0/vvvq3fv3oVUGXbt2qUJEyZ4NNLje++959Frs3TpUs2bN69A1wkAKHze6L9feukl/f777zmuMyUlRR9//DEjLQIeIKghz7Zv3y5JeuyxxzR+/Hjt27fPZb4xRr/88ou6d++u4OBg9e3b1xdlFkk7d+6U0+nU119/rdtuu00bNmzINHTxgQMH9Mgjj+idd97Rc889l+M6M17vN954Q2PGjNG2bdsyjfC4Y8cODRkyROvXr9eYMWMKbHuykjHCGaNvAYDnvNF/Z6xzyJAhmjRpkv766y+X+enp6Vq1apXat2+vNm3aqEWLFgW0Ne5dPAImfQT8lq8ujoP/O3r0qGnWrJnLhbUxMTGmRo0aplq1aqZ48eLG4XCYe++916Smpvq63CIlLS3NZaRF6cIIlVWrVjU1a9Y0JUuWNJJM+/btPR445vz586Zr166ZBsipVq2aqVGjhilRooSRZPr27ZtpIBVvWLRokXVhd4cOHczZs2e9/pgAEAi80X/v3LnT1K5d22WdJUuWNDVq1DBVq1Y1YWFhJiQkxDz//PNe3roLfeDFo3s+/vjjLqMpA/6CwUSQL06nU/PmzdPs2bO1fv16HT9+XOHh4YqPj1f79u01YsQIXXXVVb4us8hau3atpk2bptWrV+uPP/5QUFCQypYtq1atWmnAgAG68cYbc73OBQsWaObMmfrxxx915MgRFStWTBUrVtQ111yjoUOHqnXr1l7Ykv/JuB/gpUdIg4KC9OKLL+qhhx7y6uMDQCDwRv+dkpKimTNn6v/+7/+0adMmnTx5UlFRUapWrZo6duyou+++2+uDeixbtkxdunSx7reXISQkRCtXrvT6N3lAQSKoAQAAAIDNcI0aAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYJaATt69Kiio6PlcDjkcDj05ptv+rokoEhJSkpSnTp1rH0w42f06NHZLrd27VoFBwdnWm7p0qWFVDkAAPZF/1r4CGoF7Mknn9S5c+esv3/77TcfVgMUPeHh4Xr//fcVFOT69jZ16lStWrXK7TLJyckaOnSonE6ny/Q777xTHTt29FqtgD/hQCRQtNG/Fj6CWgHasmWL3n//fUlS8eLFJRHUAF9o1aqV7r33XpdpxhgNHTpUiYmJmdqPHz9eO3bscJlWqVIlTZgwwat1Av6EA5EA6F8LF0GtAD344INKT09X+/bt1bNnT0kXwpsxxseVAUXPc889pxo1arhM2717t5566imXab/88oteeeWVTMu/8847iomJ8WqNgL/gQCSADPSvhYegVkAWL16sRYsWyeFw6JVXXlG9evUkSWfPntW+fft8XB1Q9ERGRuq9996Tw+Fwmf7aa6/p559/liSlpaVpyJAhSktLc2lz++23q2vXroVWK2B3HIgEkIH+tfAQ1ApAenq6HnzwQUlSv3791LhxY1155ZXWfI46Ar7Rrl07jRw50mVaenq6hgwZopSUFL344ovatGmTy/zy5ctr0qRJhVglYG8ciARwKfrXwkFQKwDvv/++Nm/erLCwMD333HOSZHVkEkEN8KWXX35ZVapUcZm2detWDRkyRM8++2ym9m+++abi4uIKqzzA1gLpQGRCQoI+++wz3XXXXWratKlKlSqlkJAQRUdHq2HDhho3bpxOnDjh6zIBv0H/6n0EtXw6d+6cdU7uqFGjVLVqVUlS1apVOY8fsIGoqCi9++67mabPmjVLKSkpLtP69u1rndYFwB4HItPT0/XYY4/p2LFj+VpP165d1bt3b7399ttav369/vnnH6WlpencuXPatGmTnn/+edWvX1979uwpoMqBwEb/6n0EtXx6+eWXdeTIEcXFxWncuHHWdIfDobp160oiqAG+1qlTJw0dOjTbNmXKlNGUKVMKqSLA/uxyIHLw4MF68cUX1a5dOx09ejRP6zDGaNOmTWrdurX+/e9/66uvvtK6dev0ww8/aM6cObrxxhslSX/++afuvvvugiwfCGj0r97lMFwJnGeHDx9W7dq1lZCQoAkTJmjs2LEu8++44w7NnDlTQUFBOnv2rCIjI31UKYDTp0+rXr16Onz4sNv5c+fOVd++fQu5KsC+nnrqKT377LOKi4vTnj17XE5Zatq0qdavX69atWpp165dXq1j1qxZuv322+V0OlW3bl0tX75c5cuXz9U6UlJSdPjwYVWrVi3LNsOHD9e7776roKAg/fPPP4xKB3iI/tV7+EYtH8aNG6eEhARVqVJFo0aNyjQ/4/QQp9OprVu3FnZ5AC4SExOj6667zu284sWL6/rrry/kigD7Onz4sCZOnCjpQl936XUlGdep7dmzRwkJCV6tZcCAAfrwww8VFBSk7du3q3379jpy5Eiu1hEaGpptSJNkfZB0Op1ZfuAEkBn9q/cU83UB/mrjxo366KOPJEnPP/+8wsLCMrW59Dz+pk2bFlp9lzpx4oTCw8MlXeiwQkJCrHlpaWlKTk6WdOEO8sYYj9s6nU5FRERIkkJCQhQaGpqntunp6UpKSpJ04chnWlqa9Q1ksWLFXJ7f3LR1Op3WDRhTU1OVmppqtQ0ODra2M7dtjTHWh5O0tDSlpKQoIiJCDocjV22DgoKs5yTD+fPnre1MTk5WeHi4goKCctXW4XBk+gY3ISFBxhirbVhYmIKDg7Nt63Q6lZSUZLWV/ncPpQyJiYlyOp0etfWllStX6uOPP3Y77/z587r//vs1c+bMwi0KsKncHoj0dv82YMAASdKgQYO0Y8cOtWvXTt99950qVKiQp/WdPHlSJ0+eVGJionWLgc2bN1vz3fXpANyjf/UegloePfjgg3I6nWrcuLH69evnto2dRn584403rN+7dOmiZs2aWX9v2bJFX375pdvlOnbsqNatW1t/79y5U59++qnbttdee63atWtn/b13717NmTPHbduWLVu6HGE5dOiQPvjgA7dtmzRpYl0/IElHjhzRe++957ZtgwYNdNNNN1l/Hz9+XG+99ZbbtldccYVuueUW6+8zZ85o8uTJbtvWqlVL/fv3t/7OON3VnSpVqmjw4MHW36mpqVm2rVixooYNG+YyLau2ZcqUyXTtxOTJk5WampqpbUxMjMaMGeMyberUqW6PfEdGRuqhhx5ymTZt2jSdPn06U9uQkBA9/vjjLtNmzJihv//+223NTz/9tNvphS0xMVFDhw7N9p5PH3zwgW699VZ17ty5ECsD7MdbByJnzpypO+64o0Bq3Llzp66//nqXcJWTBQsWaMaMGfr++++zHZgkODhY8fHxBVEmEPDoX72LoJYHX3/9tZYvXy5J2rBhg4KCcj6D1NdBDSjKnnjiCf3+++8u04oVK5bpRpzDhw/X1q1bFR0dXZjlAbbiLwciT5486XG7fv36adGiRR61r1WrlssZHwCyRv/qXQS1XEpLS9PDDz+c6+UIaoBv/PTTT5lusOlwOPT111/rgQce0Pbt263phw4d0kMPPaS33367kKsE7MGbByJ79uypFi1a5Lm2NWvWaMSIEUpPT1fp0qU1f/78HJdJS0vTDTfcoHXr1kmSbrrpJt16661q1KiRKlasqMjISGsb4+Pj9ccff6hRo0Z5rhEoSuhfvY+glkvTpk3Tjh075HA4NHXq1Bxv3Pfhhx9qwYIF+ueff3T48GFddtllhVQpgJSUFA0ZMkROp9Nl+ogRI9S5c2fFxsaqdevWLvOnTZumvn37qn379oVdLuBT3j4QGRMTk+eRFNesWaMxY8ZYIW3ZsmWqX79+jstNnz7dCmnTp0/XkCFD3LbbuXOn/vjjD0nKNqh98cUXevfdd7Vu3TqdPn1aFSpUUJs2bTRu3DjrljxAUUD/WjgYnj8Xzpw5o5o1a+rvv/9Wz5499d///jfHZSZNmqT7779fkjR//nx16dLF22W6xWAiDCZSFAcTGTdunJ5//nmXafHx8S6nXzz44IPW6HYZqlevrs2bN3NLDRQpb775pu65555cH4iUpD/++MNrByLXrl2rzp076+zZsypTpoyWLVumq666yqNlu3TpooULF6p27drauXNnlu3Gjh2rV199VZK0ZMkSdezY0WV+WlqaBg0apNmzZys+Pl433nijoqKitHPnTi1cuFCLFy92uUYbCHT0r4XEwGOPPPKIkWQcDofZtGmTR8t8++23RpKRZF588UUvVwggwy+//GKKFStm7X8ZP/Pnz3dpl5CQYGrVqpWp3X333eebwgEfOH36tClTpoyRZHr27OnRMq+99lqW+1VBuuGGG4wkU6ZMGbN58+ZcLVuvXj0jybRu3TrLNr/99psJDQ21tuXvv//O1GbEiBFGkhk+fLg5f/68y7x9+/aZc+fO5aouwJ/RvxYegpqH9u/fb8LDw40k07t3b4+X2717t/WP2b9/fy9WCCBDamqqadiwYabO4fbbb3fbftWqVcbhcLi0DQoKMmvWrCnkygHfsPOByNOnT5sePXqYLVu25HrZli1bGkkmOjraHD16NNP8LVu2mPj4eGs74uPjM7VZuXKlkWS6du1qnE5nnrYBCBT0r4WLG1576LHHHlNSUpIcDoeeeeYZj5erVq2adeogA4oAheOFF17Qr7/+6jKtXLlyeu2119y2b9OmjUaPHu0yzel0aujQodZptkCgOnDggHVrkptvvtmja78kqXbt2tbv3uzfSpQooS+++MJlpElPde3aVZJ09uxZXXfddZo7d642bNigRYsWafTo0WrSpIkiIiJUqlQpSe6vT8sYLOHll1+Ww+HI+4YAAYD+tZD5Oin6g59//tk6GtC3b99cL1+nTh0jyYSEhJjk5GQvVAggw9atW11OY8r4+fTTT7Nd7ty5c6Z69eqZlnvkkUcKqXLAN/r162d9m5abb63S0tJMSEiIkWSuvPJKL1aYd2fPnjUNGjTItF9n/DRr1szs3r3bBAcHG0nm6aefzrSO6OhoU7NmzcIvHrAZ+tfCx2AiAAAUUevWrVPz5s1ljFHfvn01d+7cXC1ft25d7dixQyEhITp37pwt7z929uxZjR8/Xp9++qn+/PNPlSxZUvXr11f//v01cOBAbdmyRQ0bNpQkff7557rpppusZU+dOqW4uDh17NhRS5Ys8c0GACiyCGoAAABunDx50gp2mzZt8nU5AIoYrlEDAABwIy4uTjVq1NDmzZu1YsWKTPOzG/IfAPKLb9QAAACyMG/ePPXt21fFihXTTTfdpBo1aujIkSNau3atGjVqpE8++cTXJQIIUMV8XQAAAIBd9enTRyVKlNArr7yixYsXKykpSeXKlVOzZs107733+ro8AAGMb9QAAAAAwGa4Rg0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGp+bO3atUpKSvJ1GQAAAAAKGEHNT33zzTdq3bq1IiIiCGsAAABAgHEYY4yvi0DunDt3TtHR0S7TEhMTFR4e7qOKAAAAABQkvlHzQ1FRUbr77rtdpvHNGgAAABA4CGp+aurUqYQ1AAAAIEAR1PwYYQ0AAAAITAQ1P0dYAwAAAAIPQS0AENYAAACAwEJQCxCENQAAACBwENQCCGENAAAACAwEtQBDWAMAAAD8H0EtABHWAAAAAP9GUAtQhDUAAADAfxHUCsDNN98sh8Mhh8Oh/v37+7ocC2ENyOybb76x9leHw+HrcgDkgP0V8B8X768nTpzwdTl+j6BWAA4cOGD9fvDgQR9WkhlhDXB15swZX5cAAEDAS09P93UJfo+gVgQQ1gAAAAD/QlArIghrAAAAgP8gqBUhhDUAAADAPxDUihjCGgAAAGB/BLUiiLAGAAAA2BtBrYgirAEAAAD2RVArwghrAAAAgD0R1Io4whoAAABgPwQ1ENYAAAAAmyGoQRJhDQAAALATghoshDUAAADAHghqcEFYAwAAAHyPoIZMCGsAAACAbxHU4BZhDQAAAPAdghqyRFgDAAAAfIOghmwR1gAAAIDCR1BDjghrAAAAQOEiqMEjhDUAAACg8BDU4DHCGgAAAFA4CGrIFcIaAAAA4H0ENeQaYQ0AAADwLoIa8oSwBgAAAHgPQQ15RlgDAAAAvIOghnwhrAEAAAAFj6CGfCOsAQAAAAWLoIYCQVgDAAAACg5BDQWGsAYAAAAUDIIaChRhDQAAAMg/ghoKHGENAAAAyB+CGryCsAYAAADkHUENXkNYAwAAAPKGoAavIqwBAAAAuUdQg9cR1gAAAIDcIaihUBDWAAAAAM8R1FBoCGsAAACAZwhqKFSENQAAACBnBDUUOsIaAAAAkD2CGnyCsAYAAABkjaAGnyGsAQAAAO4R1OBThDUAAAAgM4IafI6wBgAAALgiqMEWCGsAAADA/xDUYBuENQAAAOACghpshbAGAAAAENRgQ4Q1AAAAFHUENdgSYQ0AAABFGUENtkVYAwAAQFFFUIOtEdYAAABQFBHUYHuENQAAABQ1BDX4BcIaAAAAihKCGvwGYQ0AAABFBUENfoWwBgAAgKKAoAa/Q1gDAABAoCOowS8R1gAAABDICGrwW4Q1AAAABCqCGvwaYQ0AAACBiKAGv0dYAwAAQKAhqCEgENYAAAAQSAhqCBiENQAAAAQKghoCCmENAAAAgYCghoBDWAMAAIC/I6ghIBHWAAAA4M8IaghYhDUAAAD4K4IaAhphDQAAAP6IoIaAR1gDAACAvyGooUggrAEAAMCfENRQZBDWAAAA4C8IaihSCGsAAADwBwQ1FDmENQAAANgdQQ1FEmENAAAAdkZQQ5FFWAMAAIBdEdRQpBHWAAAAYEcENRR5hDUAAADYDUENEGENAAAA9kJQA/4/whoAAADsgqAGXISwBgAAADsgqAGXIKwBAADA1whqgBuENQAAAPgSQQ3IAmENAAAAvkJQA7JBWAMAAIAvENSAHBDWAAAAUNgIaoAHCGsAAAAoTAQ1wEOENQAAABQWghqQC4Q1AAAAFAaCGpBLhDUAAAB4G0ENyAPCGgAAALyJoAbkEWENAAAA3kJQA/KBsAYAAABvIKgB+URYAwAAQEEjqAEFgLAGAACAgkRQAwoIYQ0AAAAFhaAGFCDCGgAAAAoCQQ0oYIQ1AAAA5BdBDfACwhoAAADyg6AGeAlhDQAAAHlFUAO8iLAGAACAvCCoAV5GWAMAAEBuEdSAQkBYAwAAQG4Q1IBCQlgDAACApwhqQCEirAEAAMATBDWgkBHWAAAAkBOCGuADhDUAAABkh6AG+AhhDQAAAFkhqAE+RFgDAACAOwQ1wMcIawAAALgUQQ2wAcIaAAAALkZQA2yCsAYAAIAMBDXARghrAAAAkAhqgO0Q1gAAAEBQA2yIsAYAAFC0EdQAmyKsAQAAFF0ENcDGCGsAAABFE0ENsDnCGgAAQNFDUAP8AGENAACgaCGoAX6CsAYAAFB0ENQAP0JYAwAAKBoIaoCfIawBAAAEPoIa4IcIawAAAIGNoAb4KcIaAABA4CKoAX6MsAYAABCYCGqAnyOsAQAABB6CGhAACGsAAACBhaAGBAjCGgAAQOAgqAEBhLAGAAAQGAhqQIAhrAEAAPg/ghoQgAhrAAAA/o2gBgQowhoAAID/IqgBAYywBgAA4J8IakCAI6wBAAD4H4IaUAQQ1gAAAPwLQQ0oIghrAAAA/oOgBhQhhDUAAAD/QFADihjCGgAAgP0R1IAiiLAGAABgb8V8XYA/WrZsmTZv3mz9vWHDBuv3NWvWaNKkSdbfDRo0UPv27QuzPMAjU6dOlSS9+eab1rSIiAglJiYqPDzcV2UVuG3btmnx4sXW34sWLXKZf/H+WrZsWfXv37+wSgNwiX/++UcffvhhlvMv3l8lafTo0QoODvZyVQCy8tZbbyk5OdntvDfeeEMlS5a0/r7lllt02WWXFVZpAcFhjDG+LsLfvPLKK3r44Yc9avvaa69pzJgx3i0IyId77rnHJaxJCqiwtnr1al1zzTUete3bt6/mzp3r5YoAZCUxMVHR0dFKT0/PsW2VKlW0f/9+7xcFIEtNmzbV+vXrPWr7559/qkKFCl6uKLBw6mMeNG7c2CttAV8I9NMgGzZsKIfD4VFb9lfAtyIiIlSvXj2P2rK/Ar7n6X5YoUIFQloeENTy4Oqrr/aoncPhUKNGjbxcDZB/gRzWoqKiVLduXY/a8sEP8L0mTZp41I79FfA99lfvIqjlQWxsrGrWrJljuzp16igqKqoQKgLyL5DDmqcdhKcHYQB4j6f7Kx/8AN/zdD/0NNDBFUEtjzz5x6QTgb8J1LDmyb5Ys2ZNxcbGer8YANkiqAH+o169egoNDc2xHftr3hDU8oighkAViGGN/RXwH/Xr189xJMcqVaqodOnShVQRgKyEhoaqfv36Obajj80bgloe8cEPgSzQwponA4qwvwL24MmAIuyvgH3ktD8ykEjeEdTyKKdrWRhIBP4ukMKaJwOK8MEPsI+crmdhfwXsg/3VewhqeZTTgCIMJIJAEEhhLaeOgoFEAPvIaX/lgx9gHzntjwwkkncEtXzI7h+TTgSBIlDCWnb7JAOJAPZCUAP8R04DirC/5h1BLR8IaigqAiGssb8C/iO7AUUYSASwl5wGFKGPzTuCWj7wwQ9Fib+HtewGFGF/BewluwFF2F8B+8lqv2QgkfwhqOVDVte0MJAIApU/h7XsBhThgx9gP1ld18L+CtgP+6t3ENTyIasBRRhIBIHM07CWmJiod999tzBLy1FWHQYDiQD2k9X+ygc/wH6y2i8ZSCR/CGr55O4fk04EgS6nsJaYmKju3btr+PDhWrp0qS9KdMvdvslAIoA9EdQA/5HVgCLsr/lDUMsnghqKqqzC2qlTp9S9e3croA0dOlRnzpzxRYmZsL8C/sPdgCKVK1dmIBHAhrIaUIQ+Nn8IavnEBz8UZe7CWlxcnMu3aAcPHtRDDz1U2KW55W5AEfZXwJ7cDSjC/grY16X7JwOJ5B9BLZ8uvbaFgURQ1LgLa5eaNm2aLU6BdDegCB/8APu69PoWrncB7OvS/ZP+Nf8Iavl06YAiDCSComjChAk5trHLKZCXdhwMJALY16X7Kx/8APu6dP/kwEr+EdQKwMX/mHQiKGoyBg7JiV1Ogbx4H2UgEcDeCGqA/7h0QBH21/wjqBWANm3aqEyZMipbtqxat27t63KAQpMR0jw9rdEOp0A2b95cZcuWVenSpdWuXTuf1gIge/Xr11eFChVUunRpNWzYkIFEABsLDQ1V27ZtVbp0aZUtW5agVgAcxhjj6yIA+KdNmzapR48eOnDggMfLVK5cWZs3b1aJEiW8WBkAAIB/4xs1AHnWoEEDbd68WSNHjvR4GbucAgkAAGBnfKMGoEAsW7ZMQ4cO9fjbtcWLF6tTp05ergoAAMA/EdQAFJizZ8/q4Ycf1ttvv51jW06BBAAAyBqnPgIoMNHR0Xrrrbe0dOlSValSJdu2nAIJAACQNb5RA+AVnn67ximQAAAAmRHUAHhVTteucQokAABAZpz6CMCrOnTokO3IkJwCCQAAkBnfqAEoNNl9u8YpkAAAAP9DUANQqLK6do1TIAEAAP6HUx8BFKqsRoY8ePCgvv/+ex9WBgAAYB8ENQA+cem1a6+++qq6devm46oAAADsgVMfAfjc3r17Vb16dV+XAQAAYBsENQAAAACwGU59BAAAAACbIagBAAAAgM0Q1AAAAADAZghqAAAAAGAzBDUAAAAAsBmCGgAAAADYDEENAAAAAGyGoAYAAAAANkNQAwAAAACbIagBAAAAgM0Q1AAAAADAZghqufTyyy/L4XDk+WfSpEm+3gSgSDh58qSio6PlcDgUHx+vtLS0HJdJT09Xly5drP11zpw5hVApAIn+FfAX9K+Fh6CWS+vXr8/X8ldddVUBVQIgO3FxcRo2bJgk6Y8//tCnn36a4zJjx47VwoULJUlPPPGE+vXr59UaAfwP/SvgH+hfC4/DGGN8XYQ/2bt3rxISEjxqe/bsWfXt21eHDh2SJF199dVatWqVIiMjvVkigP/v0KFDqlGjhlJTU9W8eXP9+OOPWbZ99913NXz4cEnSzTffrP/7v/+Tw+EorFKBIo/+FfAf9K+Fg6DmJUlJSerSpYtWrFghSapbt65Wrlyp0qVL+7YwoIgZNGiQPvzwQ0nS2rVr1bJly0xtVqxYoeuvv16pqalq1KiRVq9ezQc+wKboXwF7oH/1Pk599ILU1FT17t3b6kSqVaumpUuX0okAPvDwww9bR+7cXcOyZ88e9e7dW6mpqSpfvry++uorOhHApuhfAfugf/U+gloBczqdGjhwoL799ltJUsWKFbV06VJVrFjRx5UBRVO9evXUtWtXSdJnn32mgwcPWvNOnz6tbt266cSJEwoPD9eXX36pSpUq+apUANmgfwXshf7V+whqBWzEiBH65JNPJEmlS5fWkiVLVL16dR9XBRRtDz/8sKQLo0698cYb1u+33nqrtm/fLkl6//331axZM5/VCCB79K+A/dC/ehdBrQCNHTtW7733niSpRIkSWrhwoa644gofVwWgbdu2atGihaQLFzWfP39eDzzwgDUC1ZNPPskIVICN0b8C9kT/6l0MJlJAxo8fr2eeeUaSFBkZqUWLFqlNmza+LQrw0O+//65PPvlEjRs3VuPGjVWmTBlfl1TgPv/8c/Xq1UuS1KFDBy1btkwSI1ABdkf/Cn83efJkxcbGqnHjxqpbt66Cg4N9XVKBon/1HoJaAZg0aZLuv/9+SVJoaKi++uor3XDDDT6uCvDcmjVrXD74xMfHq0mTJlZwC4TwZoxR3bp1tXPnTmsaQ3oD9kb/ikDQrFkzrVu3TtKFgw0NGza0+tYmTZqoTp06fh3e6F+9h6CWT++//77uvPNOGWMUHBysTz75RDfffLOvywJy5dKg5k4ghLfp06frzjvvlCRVqFBBP//8Mxc3AzZF/4pAcXFQcycQwhv9q3cU83UB/mzevHkaNmyYjDFyOByaPn06nQgC1qFDh3To0CF9/vnn1jR/C281atSwfh8xYgSdCGBT9K8oShISErR27VqtXbvWmuZv4Y3+1TsIank0f/583XbbbXI6nZIunH88aNAgH1eVtWeffVaLFi3ydRmwqd27d+dpuZzC25gxY1S8ePGCKjPffv31V+v3hg0b+qwOAFnzt/51586dGjp0qK/LgI1l921aVnIKb3379lXr1q0Lssx8oX/1DoJaHnz//ffWDfwk6bnnntPo0aN9XFX2nnrqKV+XgCLi4vB2++232yqobdq0yfqdjgSwH3/sX1etWqU1a9b4ugwUAReHt+DgYFsFNfpX72B4/lxav369unXrpsTEREkX7h/x+OOP+7gqAJ7IOOIXFxenKlWq+LYYAC7oXwHP2W2ICfpX7+AbtVzYunWrOnfurLNnz0qSRo4cqZdeesnHVXnmySef1Pz5831dBmzq999/1+nTpwtkXRUrVrTOp4+LiyuQdRaE1NRUbdu2TZLUoEEDH1cD4GL+3L+2adNGjRs39nUZsLENGzYUyHrCw8PVoEEDNW7c2FbXbNK/eg9BzUN79uxRp06ddOLECUnSgAEDNHXqVB9X5bl///vf+ve//+3rMmBTnoz66M7FoSzjgufy5ct7ocL82759u1JSUiRxWgZgJ/7ev9apU0fr16/3dRmwsZxGfXTn4lCW8XPFFVcoJCTES1XmHf2r9xDUPHD48GF17NhRf/31lySpR48emjlzpoKCOHMURYc/hTJ3uNAZsB/6V8C/Qpk79K/eQ1DLwcmTJ9WxY0ft379f0oUjZ08++aR27Njh8Tri4+MVExPjpQqBgufvocwdLnQG7IX+FUWRv4cyd+hfvYcbXudg7ty56tevX77WsXbtWrVs2bKAKgIK3u7duzVnzpyACWXudOjQQcuXL1doaKjOnTvn150iEAjoX1FUvPrqq4qNjQ2IUOYO/av38I1aDjZv3pyv5YODgzm6ANurVatWwN/CIeOIXyB2koA/on9FUfHAAw/4ugSvon/1Hr5RAwAAAACb4WpdAAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABs5v8BmC1bFEXlkl8AAAAASUVORK5CYII=", + "text/plain": [ + "<Figure size 834.646x393.701 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", + "\n", + "# data generating graph\n", + "pgm.add_node(\"a\", \"$A$\", 0, 1)\n", + "pgm.add_node(\"z\", \"$Z$\", 0, 0)\n", + "pgm.add_node(\"x\", \"$\\mathbf{X}$\", 1, 1)\n", + "pgm.add_node(\"y\", \"$Y$\", 1, 0)\n", + "pgm.add_edge(\"a\", \"z\")\n", + "pgm.add_edge(\"a\", \"y\")\n", + "pgm.add_edge(\n", + " \"a\",\n", + " \"x\",\n", + " plot_params={\"ec\": \"grey\", \"lw\": 1.5, \"ls\": \":\", \"head_length\": 0, \"head_width\": 0},\n", + ")\n", + "pgm.add_edge(\"z\", \"y\")\n", + "pgm.add_edge(\"x\", \"y\")\n", + "pgm.add_text(0, 1.3, \"Data generating graph\")\n", + "\n", + "# limiting graph\n", + "x_offset = 2\n", + "pgm.add_node(\"a2\", r\"$A \\rightarrow a_c$\", 0 + x_offset, 1)\n", + "pgm.add_node(\"z2\", \"$Z$\", 0 + x_offset, 0)\n", + "pgm.add_node(\"x2\", \"$\\mathbf{X}$\", 1 + x_offset, 1)\n", + "pgm.add_node(\"y2\", \"$Y$\", 1 + x_offset, 0)\n", + "pgm.add_edge(\"a2\", \"z2\")\n", + "pgm.add_edge(\"z2\", \"y2\")\n", + "pgm.add_edge(\"x2\", \"y2\")\n", + "pgm.add_text(x_offset, 1.3, \"Limiting graph\")\n", + "\n", + "pgm.render();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The causal effect of $Z \\rightarrow Y$ is identified by comparing the outcome for units just above and just below the cutoff value, $A \\rightarrow a_c$.\n", + "\n", + "Readers are referred to {cite:t}`steiner2017graphical` and {cite:t}`cunningham2021causal` who discuss limiting graphs in more detail. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References\n", + ":::{bibliography}\n", + ":filter: docname in docnames\n", + ":::" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "CausalPy", + "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.11.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/source/references.bib b/docs/source/references.bib index 08034e5a..93acf8a8 100644 --- a/docs/source/references.bib +++ b/docs/source/references.bib @@ -76,3 +76,28 @@ @book{shadish_cook_cambell_2002 year={2002}, publisher={Houghton Mifflin Boston, MA} } + +@article{steiner2017graphical, + title={Graphical models for quasi-experimental designs}, + author={Steiner, Peter M and Kim, Yongnam and Hall, Courtney E and Su, Dan}, + journal={Sociological methods \& research}, + volume={46}, + number={2}, + pages={155--188}, + year={2017}, + publisher={SAGE Publications Sage CA: Los Angeles, CA} +} + +@book{cunningham2021causal, + title={Causal inference: The mixtape}, + author={Cunningham, Scott}, + year={2021}, + publisher={Yale university press} +} + +@book{huntington2021effect, + title={The effect: An introduction to research design and causality}, + author={Huntington-Klein, Nick}, + year={2021}, + publisher={Chapman and Hall/CRC} +} diff --git a/pyproject.toml b/pyproject.toml index 8a2d980c..a4dcaa48 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,7 @@ requires-python = ">=3.10" # https://packaging.python.org/discussions/install-requires-vs-requirements/ dependencies = [ "arviz>=0.14.0", + "daft", "graphviz", "ipython!=8.7.0", "matplotlib>=3.5.3", From 17e0f4d81359e49435b5c9965d49f866ca99990f Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Fri, 26 Apr 2024 17:29:32 +0100 Subject: [PATCH 02/10] updates to IV and DID --- docs/source/quasi_dags.ipynb | 77 ++++++++++++++++++++++++++---------- 1 file changed, 57 insertions(+), 20 deletions(-) diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index f0904b12..475f49d9 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -16,7 +16,17 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import daft\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, "metadata": { "tags": [ "remove-input" @@ -24,7 +34,8 @@ }, "outputs": [], "source": [ - "import daft\n", + "ff = \"times new roman\"\n", + "plt.rcParams[\"font.family\"] = ff\n", "\n", "GRID_UNIT = 2.0\n", "DPI = 200\n", @@ -40,7 +51,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 3, "metadata": { "tags": [ "remove-input" @@ -81,7 +92,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 4, "metadata": { "tags": [ "remove-input" @@ -132,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 5, "metadata": { "tags": [ "remove-input" @@ -141,9 +152,9 @@ "outputs": [ { "data": { - "image/png": "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Qh+1rK3wt2LFirj//vvLOBWdEfwACuC///1vs4+uEvpIQVvhT/CrbHb1AhTI3Llz4zvf+U7suOOOQh9JadrtO3r06Ljxxhujf//+5R6Jdgh+AAXUdH3TpptuWuZJoLSWL18u8FUBwQ8AIBGu8QMASITgBwCQCMEPACARgh8AQCIEPwCARAh+AACJEPwAABIh+AEAJELwAwBIhOAHAJAIwQ8AIBGCHwBAIgQ/AIBECH4AAIkQ/AAAEiH4AQAkQvDLw8033xyZTCYymUzce++9ueNf+tKXIpPJRL9+/br8mqeddlruNR988MFCjgv8z6RJk3I/Z9253XDDDeX+V4AkrFixIj796U9HJpOJQYMGxdq1azt9zrp162L06NG5n9cpU6aUYNLqJ/jlYd68ebmv99tvv9zXe++9d0REfPDBB/HWW2/l/Xrz58/PBcgRI0bESSedVJA5geaef/75Hj1/n332KdAkQEf69esX48aNi4iIN998M68FkYsuuigef/zxiIgYP358nHLKKUWdsVZkstlsttxDVLqDDz44nnvuudhkk03io48+it69e0dExC233BLf/e53IyJi1qxZ8eUvfzmv1zvqqKPiiSeeiIiIp59+Og455JDiDA6Je+2112LVqlV5nfvhhx/GmDFjYunSpRERccABB8RTTz0Vffv2LeaIwP8sXbo0dtlll2hoaIiDDz44nnnmmXbPnTx5cpx11lkREXHiiSfGAw88EJlMplSjVrU+5R6g0jU2NsZLL70UEetX+JpCX0TE0KFDc1+/8soreQW/WbNm5ULfmDFjhD4oop133jmv81avXh2jR4/Ohb4hQ4bEjBkzhD4ooUGDBsUpp5wSd999dzz77LPx9NNPx6GHHtrqvDlz5sT3vve9iIjYf//94+677xb6ukDV24lFixblVgw2rHkjWge/zmSz2bjkkksiImLjjTeOq666qnCDAt3S0NAQJ510UsyZMyciInbaaaeYNWtWbL311uUdDBJ0ySWX5EJcW9fYvvrqq3HSSSdFQ0NDDBw4MP7whz/4A62LBL9ObHh93/7779/ssf79+8d2220XERELFizo9LXuvffeePHFFyMi4rzzzouddtqpcIMCXdbY2Bjf+ta3Yvr06RERsf3228esWbNi++23L/NkkKahQ4fGMcccExERDz30ULzxxhu5x1auXBnHHnts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", + "image/png": "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VqKAD7X0mhoFGptaW5Fu3rxZn3/+uUup0IgSBXxm7969zUaBFGhsa61I2WDkPkoU8JnXX39d5eXlznUKND60VKRLly7V77//7mIqUKKAz6xcudK5TIHGl6ZFWldXp7Vr17qcyt/YWAT4TG1trWbOnKlFixbp008/pUDj0KuvvqqcnBzNnTtXI0eOdDuOr1GigE/V1dUpKSnJ7RgwxPMXGyhRAAAM8ZooAACGKFEAAAxRogAAGKJEAQAwRIkCAGCIEgUAwBAlCgCAIUoUAABDlCgAAIYoUQAADFGiAAAYokQBADBEiQIAYIgSBQDAECUKAIAhShQAAEOUqKQXX3xRlmXJsizl5+c7x88//3xZlqUuXbqE/Jjjx493HvPtt98OZ1x40KxZs5zfF5Of2bNnu/2fgDiye/dudezYUZZlKTU1VXV1de3ep76+XiNGjHB+5954440oJI19lKik4uJi5/Lpp5/uXO7Xr58k6b///tOuXbuCfrySkhKnjIcMGaIxY8aEJSe8a8OGDQd1//79+4cpCfygS5cumjRpkiRp586dQf1Df+rUqSooKJAkTZ8+Xddcc01EM8YLy7Zt2+0Qbhs0aJC++uorJScna+/evUpMTJQkvfTSS7rlllskSStWrNAFF1wQ1ONlZ2fr008/lSR9+eWXGjx4cGSCwzN++uknVVZWBnVueXm5xo4dq7KyMknSGWecobVr1yolJSWSEeExZWVl6tWrl2prazVo0CCtW7eu1XPnzZunm266SZI0evRoLVmyRJZlRStqbLN9rr6+3k5JSbEl2QMHDgy4bc2aNbYkW5L93HPPBfV4hYWFzn3Gjh0bicjwsaqqKvu8885zfsf69Olj//XXX27HQpwaP36887tUVFTU4jmrVq2yO3ToYEuyMzMz7YqKiiinjG2+H+du3brVWQEcOMqVpPT0dOfypk2b2n0s27Z1zz33SJIOPfRQPfbYY+ELCt+rra3VmDFjtHr1aklSz549tWLFCh199NHuBkPcuueee5wVZUuvq2/btk1jxoxRbW2tunfvrg8++ICJRxO+L9EDXw/NzMwMuK1r16467rjjJEmbN29u97Hy8/O1ceNGSdLtt9+unj17hi8ofK2hoUHXXXedli1bJkk6/vjjtWLFCh1//PEuJ0M8S09P18iRIyVJ77zzjn755Rfntj179uiyyy7TP//8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", "text/plain": [ - "<Figure size 598.425x303.15 with 1 Axes>" + "<Figure size 425.197x228.346 with 1 Axes>" ] }, "metadata": {}, @@ -165,6 +176,18 @@ "pgm.render();" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + ":::{note}\n", + "The assumptions embodied in the DAG are:\n", + "1. The IV is independent of the confounders $\\mathbf{X}$.\n", + "2. The IV causally influences the treatment $Z$.\n", + "3. The IV does not causally influence the outcome $Y$, other than through the treatment $Z$.\n", + ":::" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -187,12 +210,12 @@ "source": [ "## Interrupted Time Series\n", "\n", - "A causal DAG for interrupted time series is given by {cite:t}`huntington2021effect`, though that book refers to it as [Event Studies](https://theeffectbook.net/ch-EventStudies.html). These kinds of studies are suited to situations where an intervention is made at a given point in time and any causal effect is assumed to have a lasting (not a transient) effect. Here's the causal DAG - note that $\\text{time}$ represents all the things changing over time such as the time index as well as time-varying predictor variables." + "A causal DAG for interrupted time series is given in Chapter 17 of {cite:t}`huntington2021effect`, though that book refers to it as [Event Studies](https://theeffectbook.net/ch-EventStudies.html). These kinds of studies are suited to situations where an intervention is made at a given point in time and any causal effect is assumed to have a lasting (not a transient) effect. Here's the causal DAG - note that $\\text{time}$ represents all the things changing over time such as the time index as well as time-varying predictor variables." ] }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 6, "metadata": { "tags": [ "remove-input" @@ -248,7 +271,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 7, "metadata": { "tags": [ "remove-input" @@ -257,9 +280,9 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAATMAAAEzCAYAAABdWOReAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAB7CAAAewgFu0HU+AAAbmklEQVR4nO3deXCU9R3H8c8mJCEhkN1AMaYkIExBkgCBcBjRhiPIIFBgoAUrCM5EpDPFIgiKyiVQQKpDWyx1OEwLgigKhOEo9yEqhwMaEWQ4AiEcUhIoOSDHfvsH7mM22c1ukt19nv3t5zWzM2Gf3fBNeHjzXHkwiYiAiMjPBek9ABGRJzBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlICY0ZESmDMiEgJjBkRKYExIyIlMGZEpATGjIiUwJgRkRIYMyJSAmNGREpgzIhICYwZESmBMSMiJTBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlICY0ZESmDMiEgJjBkRKYExIyIlMGZEpATGjIiUwJgRkRIYMyJSAmNGREpgzIhICYwZESmBMSMiJTBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlJCwMVs7969aNq0KYYNGwYR0XscIvKQgIvZxo0bkZ+fj02bNiE/P1/vcYjIQxroPYCv/eEPf8CJEyfw5JNPomnTpnqPQ0QeYhJF97XOnj2Ljz76CDNnztR7FCLyAWV3MxcuXAir1ar3GETkI0rGbMeOHcjMzNR7DCLyIeVitmfPHvz2t7/lmUqiAKNUzN59912MHDkSJSUlAB7saprNZpjNZnzwwQewWq3YsWMHhg0bhl/96lfV3n/9+nW88cYbiI6ORk5ODgBg5cqVSEhIQKNGjfDkk0/ixIkT2uu//vprDBo0CE2aNEFMTAxmzJjhdNe2uLgY8+fPR3JyMqKiomA2m9G/f38cOHDA898I8pri4mLMmTMHCQkJaNy4MSwWC37zm9/g2LFj1V578+ZNLFq0CK1bt0ZmZibu3r2L5557Dk2aNMHgwYNx//597bUVFRXIzMzEr3/9a8TGxqJx48bo0qULFi9ebPc6ALBYLDCZTNqj8l7IokWL7Jb16tXL7r3nz5/HtGnT0KxZM+Tk5KCoqAgvv/wyHn74YURGRqJfv34Ovxa/IApKS0sTADJr1iztuaNHj0r//v2lQYMGAkBatmypLbtz545kZGRIWFiYABAAcuHCBRk/frw0atRIYmJitOebN28uN2/elC1btkjDhg2lRYsW0rBhQ235/Pnzq81z5coVSUpKknnz5smdO3ektLRUli9fLmFhYRIUFCQffPCB978pVG8FBQXSqVMniYyMlK1bt0pFRYUcP35cWrVqJSaTScLDwyUqKkosFoskJydLdHS0tl6sWrVKBgwYIJGRkdpze/bsEZEH61///v2lbdu2cvToURERycvLk5EjRwoASUpKkhs3btjNsnXrVu3zVF1/8vPzpVu3bgJA0tLStOfGjBljt45///330qNHD2natKk0b95ce75hw4ayf/9+r38/PS1gYmYzderUajErLy+XvLw8+fvf/679gY4bN07ee+89uXfvnoiIbNq0SUwmkwCQsWPHyoABA+T7778XEZGSkhIZNGiQAJCHHnrI7vezWq2Smpoqr7zySrVZZs6cqa08eXl5nvsGkFc8//zzAkBef/11u+c3btwoAKRBgwZy7tw57flr165JSEiIAJDHH39cPvnkE8nPz5cXX3xRhg4dKoWFhSIiMnr0aAkKCpLs7Gy7z1tRUSE9e/YUANKjRw8pLy+3Wx4bG+swZiIi06dPt4uZzZYtW7R1fNiwYbJy5UqxWq0iIrJ27VoJDQ0VABIfHy/379+v67dKFwEXs3/84x/VYmaTnZ2t/UEfOHCg2vLU1FQBIL179662Yu3fv197b35+vvZ8VlaWAJAzZ85U+3zbt2/X3rNkyZLaf6HkM/fv39e2wDdu3Gi3zGq1SlRUlMMtc9tW/ZgxYxx+3kOHDgkA6d69u8Plhw8fttu6q6xly5ZOYzZr1iyHMTt37pz2+VavXl3tfXPnztWWr1u3zuFMRqXUMTN3NGzY0OmyiIgI7eP4+Phqy1u1aqUtCw4OtlsWGxurfVxYWKh9vHHjRgBAjx49tON3tsfvfvc7hIWFISwsDBcuXKjT10O+kZ+fj3v37gEATCaT3TKTyYRHHnkEAJCbm2u3LDQ0FADQp08fh5935cqVAIBOnTo5XP74449r692///3vug1fSeX19oknnqi2/I9//CPC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", + "image/png": "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4SErV66Ub7/91uC2UrrGTESkRo0aBvPc3d3lwIEDyutnZmbK3Llz5fHHHxcvLy8JCQmRHj16GD3ql5+EhASZM2eONG3aVAICAiQoKEjq168vH374odHbOImI7N27V+rXry/e3t5Sr149iYmJEZFHI62HhYVJ9erVJTY21mC9U6dOSffu3SU4OFi8vb3lySeflI0bN+oto2sscz90t//S3WYq92e7c+dOs97v8ePHpWvXrhIYGCheXl7SsGFDmTZtmvz4448SEBAgzzzzjHzyySdy6tQpvfXi4+Nl7NixUrVqVfH29pYKFSpIVFSU8t5NiYuLk9dee00iIyPF29tbqlSpIt27dzcI6yKid7sz3UOj0RgduJjIHHv37pVRo0Ypt8TL/fDz85PAwECpWLGitG/fXqZNmyYnT540uT3doNy5vzCaCigzZsxQAmPuR15Hyq5fvy4LFiyQzp07S9WqVSUoKEj8/PwkKChI6tSpI/369ZO1a9caHUw7L2PGjNH7cq57FCtWzOidF7Zu3SqdOnWSkJAQ5bUnTJggN2/e1Ftu48aNRt+np6enyXY0t08//VReeuklo/W5u7uLv7+/lCxZUmrWrCkvvPCCLF26NM9b/n311VdGt/Xqq69KfHy8TJ48WS/A5v5fFhAQIBEREVK/fn15/fXXZcOGDSYDIhWMRsQBL8oiIiIiIgPsnEBERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEi4X3Hbv3o3Q0FA8++yzEBF7l0NEZBNs64ick8sFtw0bNiA+Ph4bN25EfHy8vcshIrIJtnVEzsnD3gUUtddeew3Hjx9Hy5YtERoaau9yiIhsgm0d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", "text/plain": [ - "<Figure size 267.717x267.717 with 1 Axes>" + "<Figure size 582.677x275.591 with 1 Axes>" ] }, "metadata": {}, @@ -269,16 +292,30 @@ "source": [ "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", "\n", + "x_offset = 2\n", + "# time back door\n", "pgm.add_node(\"z\", \"$Z$\", 0, 0)\n", "pgm.add_node(\"y\", \"$Y$\", 1, 0)\n", "pgm.add_node(\"t\", \"time\", 0, 1)\n", - "pgm.add_node(\"g\", \"group\", 1, 1)\n", - "\n", + "# pgm.add_node(\"g\", \"group\", 1, 1)\n", "pgm.add_edge(\"t\", \"z\")\n", "pgm.add_edge(\"t\", \"y\")\n", - "pgm.add_edge(\"g\", \"z\")\n", - "pgm.add_edge(\"g\", \"y\")\n", + "# pgm.add_edge(\"g\", \"z\")\n", + "# pgm.add_edge(\"g\", \"y\")\n", "pgm.add_edge(\"z\", \"y\")\n", + "pgm.add_text(0, 1.3, \"Time back door\")\n", + "\n", + "# DAG for DiD\n", + "pgm.add_node(\"z2\", \"$Z$\", 0 + x_offset, 0)\n", + "pgm.add_node(\"y2\", \"$Y$\", 1 + x_offset, 0)\n", + "pgm.add_node(\"t2\", \"time\", 0 + x_offset, 1)\n", + "pgm.add_node(\"g2\", \"group\", 1 + x_offset, 1)\n", + "pgm.add_edge(\"t2\", \"z2\")\n", + "pgm.add_edge(\"t2\", \"y2\")\n", + "pgm.add_edge(\"g2\", \"z2\")\n", + "pgm.add_edge(\"g2\", \"y2\")\n", + "pgm.add_edge(\"z2\", \"y2\")\n", + "pgm.add_text(x_offset, 1.3, \"DAG for DiD\")\n", "\n", "pgm.render();" ] @@ -287,7 +324,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Readers are referred to {cite:t}`huntington2021effect` for more details." + "Readers are referred to Chapter 18 of {cite:t}`huntington2021effect` for more details." ] }, { @@ -301,7 +338,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 8, "metadata": { "tags": [ "remove-input" @@ -310,9 +347,9 @@ "outputs": [ { "data": { - "image/png": "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H2+1W7NmjW6//Xa3l1Xkt3/MS/+dk2+++UYdOnRQqVKlrPfjN998U06nM1Pb9PR0ffnll+rcubOuu+46SdLMmTN12WWXqVq1avrpp5+str/99pv69OmjWrVqKSoqSuXLl1f37t3djt65Z88ePfzwwypdurT279+v8+fP6/7771eFChUUFRWlTp06ad26dR5tz/vvv68rr7xSkZGRatWqlTZu3JjHZwbIJQOvqFKlipFkrr32Wo/af/nll0aSkWTq1atnTU9KSjItWrQwoaGhZuHChcYYY3bv3m0aNGhgJJk+ffpkWteMGTOMJFOlSpVM85xOp+nVq5eRZGbMmGGcTqf5888/TYcOHYwk07x5c+N0OnO1re+9954JCgoyvXr1MidOnDDnzp0zjz76qJFkQkJCTHR0tImJiTEtW7a0lklJSTG9e/c2t9xyizl48KAxxpjvv//eVK5c2UgyQ4YMMcYYc+rUKTNq1ChTvHhx6/nZtWuXufnmm01kZKSpUKGCNf3yyy83qampmeq77777TPv27c22bduMMcb8+uuvpn79+kaSuf76601qaqpJTU01t912m4mMjLTWN3/+fNO0aVMTERFhTduzZ0+Bvibp6elm6NChpkyZMtZjfPfdd9b8F154wVStWtWaN2PGDDNhwgQTGhpq4uPjTVBQkJFkQkNDze+//57pcTds2GDi4uJM3bp1zbZt20xqaqr55JNPTHh4uAkODjbFixc3MTExpnTp0ubo0aMevd7z58834eHhpk2bNubQoUMmKSnJTJkyxUgyxYoVM1FRUSYmJsbEx8ebHTt2mBtuuME4HA5rG7Zt22YqVapkTYuPj7eewzJlypjq1aub3bt3G6fTaZYtW2ZiYmKMJPPmm29aNTz++OOmfPnyLs/LvffeayIjI63/oYyfF198MdM2XHvttUaSefrpp82cOXNMWFiYqVy5sgkLCzOSTFBQkFm7dq1HzweAwpWx/7rr47Jz6tQpc+utt5ro6Gjr/WHfvn3W/BdeeMHlvXjGjBnmgw8+MOHh4S7vWUFBQea7774ze/bsMfHx8aZUqVImLi7OWq5Tp04ujztx4kRTt25da/7TTz+dqbZBgwYZSWbQoEEu0/fu3Wt69OhhwsPDreUv3p789o956b9z8vTTTxtJ5p577jHnzp0zJ0+eNAMHDrT6qhIlSpjY2FjTt29f8+WXX5qGDRtadV577bXm448/NrGxsda0gQMHGmOM+e9//2uCg4NNt27dzKlTp0xycrKZPHmyVeumTZuMMcb8888/ZuDAgdb7eUa/07x5c1OqVClTtmxZa3p4eLhZsWJFpm24uD8ePXq0CQ8PN1WqVLH+B8qUKWPOnj3r8XMC5BVBzUtyG9TWr19vvTFER0db0zM+4Ldq1cql/eeff251GAkJCS7zsgtq3333nZFkKlas6DJ948aN1uPv2LHDs400Fz5ch4SEmMjISHPy5ElrutPptN5877jjjkzLPfLII6ZFixYmLS3NZfry5cutOj777DOTnp5ukpKSzBdffGFN79atm5kyZYpJSkoyxhjzySefWPMyglOGt956y1SrVi3TG+qePXusN9yJEyda0zds2GCtq127dmb16tXm0KFD5tZbbzWDBw826enpBf6aGGPM1q1b3Qa1hIQEc+LECRMcHGwkmeuuu87cc8895tixY8YYY3bt2mVKlChhJJlHH33UZZ2pqammVq1aRpJZvHixy7z77rvPSDI1a9bM9Bpk5+TJk6ZkyZLWB4KL9ejRw0gy7du3z7TcxIkTre0bMGCAOXbsmFm9erXp2LGjmTRpkjHmfx9UHn/8cbe1tmjRwmX68ePHTWhoqJFk/vWvf5m7777bet43btxo4uPjrfC4efNml2UzPui1adPG9OnTxxw6dMgYY8yff/5pBeOMDwcA7CWvQS3Dt99+6zao/fHHH+bXX3+15t10003mgQceMMePHzfGGLNjxw4r/HTo0MF06tTJLFiwwDidTuN0Os1zzz1nLbt9+3aXx0xLS7MOLuUmqGWYOnVqpqCW3/4xr/13dr7//nsjyVSuXNklGCYkJFjbP378+EzLdevWzUgydevWNYMGDTJpaWlm+vTp5pprrrH6xIzPVZf2ZxkHSS/tA7/++mtr23v27GmmT59uHYiePXu21X9UrlzZJCcnuyybsVyHDh3M008/bc6dO2eMMWbVqlVWfzx9+vRcPTdAXnDqo03ExMRYvycmJlq/Z4wAVbZsWZf2derUkSQ5nU79888/Hj9OTuuTpOPHj3u8vtmzZys1NVW1atVSbGysNd3hcOj222+32lx8usPff/+tyZMna/DgwQoODnZZX8uWLa3fP/roIwUFBSksLEy1a9e2po8aNUqjRo1SWFiYJKlPnz6qWLGiJGn79u1Wu5SUFI0fP159+/ZVVFSUy+NUr17deg4++ugja3q9evWs36+55hq1bt1alSpV0pw5czRjxgwFBQUV+GsiSdWqVXM7PSIiQiVLllSpUqUkSc2bN9cbb7xh3dy1Vq1auvHGGzNtuyStXbtWu3fvliQ1bdrUZd6gQYMkSb///rvLaSU5+eqrr/TPP/8oJiZGtWrVcrvO7777Tn/++afLvIuf1yFDhqhMmTJq3bq1lixZovvuu09Szv+bl/5flipVympbrlw5TZ061TotqGHDhtZtENLS0rIc7rpixYqaO3euKlWqJEmqUKGC9X/LTWWBwJTV++1ll12mBg0aWO+3jRo10sSJE62/L7/8cg0ePFiStHHjRs2ePVudO3e2brr94IMPWv3Spe/HwcHBqly5coHWnJ/+Ucpb/52TjNNFGzVqpGLFilnTIyIi1KdPH0lye0p6Rh9x5MgRTZgwQcHBwRoyZIhWrlxpDY+f2z6ibt261u+9evXSkCFDrHvc9uvXT08++aSkC5ck/Pe//3W7Pb169dIzzzxjDdffpk0btW7dWhJ9BAoHQc0mzp49a/1+8c14hw4dqmnTpmnSpEnWNKfT6XJ+dFpamseP06VLF82cOdMlnEiyrqHK7foyPpBnvPldLGOAlOTkZJebkS5YsEBJSUkaO3asdS5+xk/58uUVFhamsLAwl2sHMjodSS6dUoaMD9oXP48//vijjhw5osmTJ2d6nNjYWJ0+fVphYWE6cOCAtUxoaKj1e8a58pcq6NdEynk44Iztd7ft8fHxkly3XZJLWLr09cl4bSTp0KFDHtfpyevtbp2ePK+vvvqqpk2bpmHDhlnTzp8/rx07dkhy/5xmBP02bdpkmnfNNdeoefPmkpTlvQzr1q2baVsyPtScOXPG7TIA/FtO77cZ19K6C1ZVq1aVJEVHR6t06dIu80JDQ61Q526Y/fwM+57dsnnpH6W89d858WSd7vqcjD6ifv36mZ7XDN98843mzZunBg0auDxexvXWl/YRFx8IdtdHXBxos+ojrrjiikzT6CNQmIrl3ASF4ciRI9bvVapUsX6PiIiwPrgeO3ZMb731lubPn+/yRmVyMeR7cHCw9c3HmTNnNH36dM2bN8/lG5fcrC/jKF/GBcwXvzlnrCcsLMzlaN3mzZslXRg0pXPnzh49Tk7D5WZ8k5Kenp7pcV599VWNHDnSo8dx17m4e6yCfE08edzstt/dtkuuR2D37dunhg0buq2vXLlyHteZsc5Tp07p1KlTLq9rduv05HmtXLmy9bxu2bJFU6ZM0datW61vD3P7nEpSu3bt9NNPP+UqjGZ03JcONAMgMOTn/fbig07uhISESMr8fuzJ42Ynu2Xz0j9Keeu/c5Kxzn379mWal7FOd32OJ89NixYt1KJFC0nSwoUL9dZbbyk9PV0JCQku6/dUbGysGjZsSB8BW+MbNZv44YcfrN/btm3rMi8xMVEPP/yw2rRpo9q1a2vNmjV6/PHH8/xY6enpeumll9SwYUOFhYVp+fLlev311/O0roEDB6p48eI6deqUvvzyS5d569evl3Th1IGLj/idOnVKknT48OG8bYCHvPk4Bf2aeEPz5s3VqFEjSco0amLGa1OlShXrNA5PdO/eXRUqVMh2nS1btrSOOufWoUOH1LNnT40cOVK33367Vq9erR49euRpXdL/vm3MS8jLyzIA4C/y0n/nZNiwYQoODtamTZsyjYyYsc7+/fvnueZVq1bp6quv1ty5czVp0iR98803LqfW5xZ9BOyOoGYTn3/+ufV7v379rN///vtvNW3aVPPnz9ePP/6ofv36uZz3nVuJiYnq0KGDJk+erOXLl+vuu+92O9yvpypWrKh58+YpJiZG9957r9asWaOUlBR9++23ev3111W7dm1NnjzZZZmM00qyOtUgg7sjkrnhrccp6NfEmz799FPVrl1bb7/9tj788EMlJSVp8+bNGjNmjKKiojRr1izrCLAnIiIi9OWXX6pChQoaP368vv32W6WkpGjNmjV65plnVK5cObdD6XtizZo1ql+/vooXL66VK1fmKkBmJePod26+NQSAoiAv/XdOrr76ar3zzjsKCwvToEGDtGXLFiUnJ+vDDz/U3Llz1apVKz3xxBN5qnfKlClq166dRo4cqZkzZ2Z5rWFu0EfA7ghqNvD1119ry5YtkqQbbrhBTZo0seYNHz5cW7du1bhx41SyZMl8P9bjjz+u77//XqNHj87ztx6X6ty5s7p166a6deuqf//+KlOmjB5++GGNGjVKP//8s3XqWobLL79c0oUQcfH1YRdzOp0aMWJEvurKeJzVq1dnO2DGxddEeaKgXxNvql69usaOHav69evr5ZdfVrly5fSvf/1LTZs21YYNG/IUhpo2bao77rhD9evX15gxY1SmTBkNHjxYPXv21C+//OL2GomcJCcnq3fv3jp16pReeeWVHE/luVRWRzaPHj0qyXWQGgBFy88//6zFixf7ugxbym3/7YkBAwaobdu2io+P1/XXX6/y5ctr0qRJ+s9//qPly5dbB1FzY+PGjRozZoxq1qyp4cOH53p5+gj4K3t+DVCEZNwsU1Kmm/9KsjqXS0dHvNilIzJlfMi9+MbL+VlfToYOHaqgoCAtWrTIo/Zdu3ZVcHCwkpKS1KdPHy1evNhl1EtJeu211/J9tKxt27YqUaKEzpw5owEDBmjFihXWRdUZPvvss2yfC3cK+jXxppkzZ2rixIn67bffcnX6SnbGjx+vNWvWaMWKFfm65uJiv/32m3WdZlbPa3b/l+fPn3c7fe3atZL+NyIlgKLntdde0/Tp031dRrZ81Ufktv/OSVpamrp3766WLVu63LA7v5YuXSqn05nnzy7u+oiUlBRt2LBBxYsX180331wgdQIFjW/UvMSTN9s9e/aobdu2+uuvv1SmTBktWLAg0yhTGSNAvvzyy9aQ7z/99JM1RLAk/fXXX/rpp5+sD6XR0dGSLgx0sWPHDqWmpuquu+5ScnKytb4333xTBw8elHRhyN5evXq5rG/37t365ptvctyGJUuWaObMmTp58qTWrl2rbdu2aefOndq9e7f279+vEydOZFqmatWqGjJkiKQLRzobNmyod955Rxs3btSKFSt011136dVXX9WoUaOsZS4eXSk5OTnLei6+tUFUVJQeeeQRSRee64yhltevX6/Vq1frscce0/DhwzVu3DhrmYtHjcpqiP2Cfk0kWRdDX7oNl26/p9suSadPn9Y999wjp9OplStXasuWLdq5c6d27dqlvXv36siRI7k+7XPXrl0aP368kpOTtXLlSm3dutVa5759+/T333+7PXKZ0/N68Uin48aNU3p6utLT0zVv3jw9++yz1nLJycl69913M42o5u701i1btmjx4sXq1KmTbrjhBpd5GZ12SkpKltvq7nUA4HsZgzh40s9+9NFHSklJcfkWJ6f324xp7taf8V6W1XtHxnuqu/VmPK67eRl9xM8//6zExEQdO3ZMY8eO9ajmvPSPUt7675zMmDFDS5Ys0eHDh/Xzzz9r+/bt1joPHDhgXTt+qYznNad+d/v27frggw8kXRhZ88UXX7QuHfnrr7+Umprq9nYs7vqI6dOn69SpU3rssces0Tol11BHHwGfK+T7thUJBw8etG6mfOWVV5qNGzdaN59MTk42GzZsMA8++KAJDw83DofD3HTTTWbPnj1u1/XAAw9YN14MDw83FSpUMNWqVTMrVqywpsfExJgOHTqYlJQU6/GLFStmJJmIiAhTqlQpM2XKFGOMMa+//rq1XEhIiKlUqZIpXbq0WbZsmYmNjTWSTFRUlGnUqJE5depUjtv61VdfWevL6qdKlSrmrbfeclnu/PnzpkOHDm7bR0VFmTVr1lhtnU6nefLJJ635//nPf6ybVhpjzO+//27V3qBBA3P69GlrXnp6urntttvcPk5ISIj59NNPXR7n3Xfftea3bdvWutGpN18TY4yZPn26tezQoUNdbkK9dOlSa17Xrl2t/yVjjDl37pxp3ry5kWQiIyPNtm3brHlHjx41ERER2b42sbGx5t577810g+6s/PrrryYoKCjbdZYrV86MHz/e2oakpCRzxx13WPMfeOCBTDcXdTqdpkmTJlabuLg4Exsbazp27Ojy3JQuXdrlhtgZN0ANCwszjz32mHXT1p9++snUrFnT1KtXzxw9etTlsTZs2GA9L02aNDEnTpyw5qWkpJjevXtbj7dy5UqPnhcAhadSpUrWPvrTTz9lmu90Os3+/fvNE088YYKDg83HH3/sMu+pp56yln/mmWdc+pNly5ZZ87p06eLyfpuQkGA6d+5sJJmgoKBM7w/Lly+3bobcpUsXc/78eWveli1brPed+vXru/RTxly4AXPG45YsWdLExcWZdevWGWMu3Cx78ODB1vwZM2a4bE9e+8e89t/ZufgzRlY/derUMZ999pm1zPHjx039+vWt53XevHku22CMMYcPHzZRUVHWOipWrGgiIiLM2LFjzejRo136n2+//dYYY8y+fftcntNZs2aZ5ORkk5aWZmbPnm0iIyNN3759TXp6usvz+dZbb1nLjRgxwqW/On78uKlWrZqRZC677DLz119/efzcAHlBUCtAK1asMGPHjjWVK1d2++ZUvHhxExMTY6pVq2Y6dOhgnn32WfPbb79lu86EhARzzz33mNKlS5uSJUua4cOHWx9GBw8ebKKioswdd9xhzp0757LczJkzTYUKFUyFChXMhAkTrOnp6enmqaeeMhUqVDDR0dGmT58+5tChQ8YYY5588klTvHhx06NHj0wfbrPzn//8x1SsWNFUr17dxMbGmtDQULfbP3fuXJflUlNTzeTJk02DBg1MWFiYKVmypOndu7dL2EhLSzNhYWGZ1hUaGmp27dplunXrlmlecHCwmT59urUOp9NpPvzwQ9OiRQsTGRlpoqOjTefOnc0PP/zgUk9cXFymdTkcDvPOO+949TWpWbOm2xC5d+9et2E2Y/teeeUV60PBxT+DBg2y1v3999+b2NhYU6dOHVO6dGkTFhbmNmiNHDnS49f7448/NqVLlza1atUyJUuWdPv6SDIvvvii+eWXX9zWWKxYMZfX2RhjDhw4YLp27WqioqJMlSpVzEsvvWTS09PN2bNnTcOGDU3p0qXNK6+84rJMRlCbNGmSGTFihClXrpwpUaKEqVWrlnniiSfMmTNnXNoPHDjQ7Wv81FNPmVmzZllh+uKfHj16ePzcAPCOw4cPmy+++ML07ds30z4aERFhYmJiTExMjClRooTLe05oaKh10DGr/iQsLMykpaW5fb8tVqyYmTVrlvn444/dvndWrVrVGGNMnTp13L5Xr1q1ygwdOjTTvKCgIPPBBx9Y25eenm7GjBljoqOjTb169czChQuNMcbs3bvXbZ9ao0aNAukf89p/Z8XpdJphw4aZqlWrmipVqpiYmBgTEhLi9n33hx9+MJMnT3b7eBUrVsy07hUrVphGjRqZ8PBw07BhQ/PVV18ZY4xZv369KVeunLn88svNggULrPYXB7UFCxaYG2+80cTExJjY2FjTtGlT895777mENGOMiY+Pd/s/sGTJEjNy5EjrIPzF2zFx4kSPnhsgLxzGML4o8u7IkSPq3r27vvjiC+smkBmMMUpMTNTBgwf1yCOPqFixYvrss898VGnRk56erl69eumuu+5ye7+65ORkHTt2TNOnT9eUKVM8Os3l/Pnz6ty5s6ZOnar69eu7zDPGKDk5WX/++adeeuklrV+/3uVG6t5QtWpVHThwQDNmzHA59RQAkD1v9N87duzQHXfcocWLF1unc2ZwOp1KSEjQnj17NHLkSLVq1UoTJ04s0G262P79+13u61ZQA6gBhYlr1JBn6enpuvnmm9WzZ89Mb/LShRtYRkZGqk6dOrrzzjtzPZIf8ufxxx9XUlJSljcVDwsLU3x8vMaOHevxazNkyBBdccUVmUKadOH1Dg8PV/Xq1TVq1ChebwCwKW/032fPnlW3bt107733Zgpp0oUBU6KiotSgQQP179+fPgLwAHsJ8mzGjBlau3ZtjqMJGmP0/vvvq3fv3oVUGXbt2qUJEyZ4NNLje++959Frs3TpUs2bN69A1wkAKHze6L9feukl/f777zmuMyUlRR9//DEjLQIeIKghz7Zv3y5JeuyxxzR+/Hjt27fPZb4xRr/88ou6d++u4OBg9e3b1xdlFkk7d+6U0+nU119/rdtuu00bNmzINHTxgQMH9Mgjj+idd97Rc889l+M6M17vN954Q2PGjNG2bdsyjfC4Y8cODRkyROvXr9eYMWMKbHuykjHCGaNvAYDnvNF/Z6xzyJAhmjRpkv766y+X+enp6Vq1apXat2+vNm3aqEWLFgW0Ne5dPAImfQT8lq8ujoP/O3r0qGnWrJnLhbUxMTGmRo0aplq1aqZ48eLG4XCYe++916Smpvq63CIlLS3NZaRF6cIIlVWrVjU1a9Y0JUuWNJJM+/btPR445vz586Zr166ZBsipVq2aqVGjhilRooSRZPr27ZtpIBVvWLRokXVhd4cOHczZs2e9/pgAEAi80X/v3LnT1K5d22WdJUuWNDVq1DBVq1Y1YWFhJiQkxDz//PNe3roLfeDFo3s+/vjjLqMpA/6CwUSQL06nU/PmzdPs2bO1fv16HT9+XOHh4YqPj1f79u01YsQIXXXVVb4us8hau3atpk2bptWrV+uPP/5QUFCQypYtq1atWmnAgAG68cYbc73OBQsWaObMmfrxxx915MgRFStWTBUrVtQ111yjoUOHqnXr1l7Ykv/JuB/gpUdIg4KC9OKLL+qhhx7y6uMDQCDwRv+dkpKimTNn6v/+7/+0adMmnTx5UlFRUapWrZo6duyou+++2+uDeixbtkxdunSx7reXISQkRCtXrvT6N3lAQSKoAQAAAIDNcI0aAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYJaATt69Kiio6PlcDjkcDj05ptv+rokoEhJSkpSnTp1rH0w42f06NHZLrd27VoFBwdnWm7p0qWFVDkAAPZF/1r4CGoF7Mknn9S5c+esv3/77TcfVgMUPeHh4Xr//fcVFOT69jZ16lStWrXK7TLJyckaOnSonE6ny/Q777xTHTt29FqtgD/hQCRQtNG/Fj6CWgHasmWL3n//fUlS8eLFJRHUAF9o1aqV7r33XpdpxhgNHTpUiYmJmdqPHz9eO3bscJlWqVIlTZgwwat1Av6EA5EA6F8LF0GtAD344INKT09X+/bt1bNnT0kXwpsxxseVAUXPc889pxo1arhM2717t5566imXab/88oteeeWVTMu/8847iomJ8WqNgL/gQCSADPSvhYegVkAWL16sRYsWyeFw6JVXXlG9evUkSWfPntW+fft8XB1Q9ERGRuq9996Tw+Fwmf7aa6/p559/liSlpaVpyJAhSktLc2lz++23q2vXroVWK2B3HIgEkIH+tfAQ1ApAenq6HnzwQUlSv3791LhxY1155ZXWfI46Ar7Rrl07jRw50mVaenq6hgwZopSUFL344ovatGmTy/zy5ctr0qRJhVglYG8ciARwKfrXwkFQKwDvv/++Nm/erLCwMD333HOSZHVkEkEN8KWXX35ZVapUcZm2detWDRkyRM8++2ym9m+++abi4uIKqzzA1gLpQGRCQoI+++wz3XXXXWratKlKlSqlkJAQRUdHq2HDhho3bpxOnDjh6zIBv0H/6n0EtXw6d+6cdU7uqFGjVLVqVUlS1apVOY8fsIGoqCi9++67mabPmjVLKSkpLtP69u1rndYFwB4HItPT0/XYY4/p2LFj+VpP165d1bt3b7399ttav369/vnnH6WlpencuXPatGmTnn/+edWvX1979uwpoMqBwEb/6n0EtXx6+eWXdeTIEcXFxWncuHHWdIfDobp160oiqAG+1qlTJw0dOjTbNmXKlNGUKVMKqSLA/uxyIHLw4MF68cUX1a5dOx09ejRP6zDGaNOmTWrdurX+/e9/66uvvtK6dev0ww8/aM6cObrxxhslSX/++afuvvvugiwfCGj0r97lMFwJnGeHDx9W7dq1lZCQoAkTJmjs2LEu8++44w7NnDlTQUFBOnv2rCIjI31UKYDTp0+rXr16Onz4sNv5c+fOVd++fQu5KsC+nnrqKT377LOKi4vTnj17XE5Zatq0qdavX69atWpp165dXq1j1qxZuv322+V0OlW3bl0tX75c5cuXz9U6UlJSdPjwYVWrVi3LNsOHD9e7776roKAg/fPPP4xKB3iI/tV7+EYtH8aNG6eEhARVqVJFo0aNyjQ/4/QQp9OprVu3FnZ5AC4SExOj6667zu284sWL6/rrry/kigD7Onz4sCZOnCjpQl936XUlGdep7dmzRwkJCV6tZcCAAfrwww8VFBSk7du3q3379jpy5Eiu1hEaGpptSJNkfZB0Op1ZfuAEkBn9q/cU83UB/mrjxo366KOPJEnPP/+8wsLCMrW59Dz+pk2bFlp9lzpx4oTCw8MlXeiwQkJCrHlpaWlKTk6WdOEO8sYYj9s6nU5FRERIkkJCQhQaGpqntunp6UpKSpJ04chnWlqa9Q1ksWLFXJ7f3LR1Op3WDRhTU1OVmppqtQ0ODra2M7dtjTHWh5O0tDSlpKQoIiJCDocjV22DgoKs5yTD+fPnre1MTk5WeHi4goKCctXW4XBk+gY3ISFBxhirbVhYmIKDg7Nt63Q6lZSUZLWV/ncPpQyJiYlyOp0etfWllStX6uOPP3Y77/z587r//vs1c+bMwi0KsKncHoj0dv82YMAASdKgQYO0Y8cOtWvXTt99950qVKiQp/WdPHlSJ0+eVGJionWLgc2bN1vz3fXpANyjf/UegloePfjgg3I6nWrcuLH69evnto2dRn584403rN+7dOmiZs2aWX9v2bJFX375pdvlOnbsqNatW1t/79y5U59++qnbttdee63atWtn/b13717NmTPHbduWLVu6HGE5dOiQPvjgA7dtmzRpYl0/IElHjhzRe++957ZtgwYNdNNNN1l/Hz9+XG+99ZbbtldccYVuueUW6+8zZ85o8uTJbtvWqlVL/fv3t/7OON3VnSpVqmjw4MHW36mpqVm2rVixooYNG+YyLau2ZcqUyXTtxOTJk5WampqpbUxMjMaMGeMyberUqW6PfEdGRuqhhx5ymTZt2jSdPn06U9uQkBA9/vjjLtNmzJihv//+223NTz/9tNvphS0xMVFDhw7N9p5PH3zwgW699VZ17ty5ECsD7MdbByJnzpypO+64o0Bq3Llzp66//nqXcJWTBQsWaMaMGfr++++zHZgkODhY8fHxBVEmEPDoX72LoJYHX3/9tZYvXy5J2rBhg4KCcj6D1NdBDSjKnnjiCf3+++8u04oVK5bpRpzDhw/X1q1bFR0dXZjlAbbiLwciT5486XG7fv36adGiRR61r1WrlssZHwCyRv/qXQS1XEpLS9PDDz+c6+UIaoBv/PTTT5lusOlwOPT111/rgQce0Pbt263phw4d0kMPPaS33367kKsE7MGbByJ79uypFi1a5Lm2NWvWaMSIEUpPT1fp0qU1f/78HJdJS0vTDTfcoHXr1kmSbrrpJt16661q1KiRKlasqMjISGsb4+Pj9ccff6hRo0Z5rhEoSuhfvY+glkvTpk3Tjh075HA4NHXq1Bxv3Pfhhx9qwYIF+ueff3T48GFddtllhVQpgJSUFA0ZMkROp9Nl+ogRI9S5c2fFxsaqdevWLvOnTZumvn37qn379oVdLuBT3j4QGRMTk+eRFNesWaMxY8ZYIW3ZsmWqX79+jstNnz7dCmnTp0/XkCFD3LbbuXOn/vjjD0nKNqh98cUXevfdd7Vu3TqdPn1aFSpUUJs2bTRu3DjrljxAUUD/WjgYnj8Xzpw5o5o1a+rvv/9Wz5499d///jfHZSZNmqT7779fkjR//nx16dLF22W6xWAiDCZSFAcTGTdunJ5//nmXafHx8S6nXzz44IPW6HYZqlevrs2bN3NLDRQpb775pu65555cH4iUpD/++MNrByLXrl2rzp076+zZsypTpoyWLVumq666yqNlu3TpooULF6p27drauXNnlu3Gjh2rV199VZK0ZMkSdezY0WV+WlqaBg0apNmzZys+Pl433nijoqKitHPnTi1cuFCLFy92uUYbCHT0r4XEwGOPPPKIkWQcDofZtGmTR8t8++23RpKRZF588UUvVwggwy+//GKKFStm7X8ZP/Pnz3dpl5CQYGrVqpWp3X333eebwgEfOH36tClTpoyRZHr27OnRMq+99lqW+1VBuuGGG4wkU6ZMGbN58+ZcLVuvXj0jybRu3TrLNr/99psJDQ21tuXvv//O1GbEiBFGkhk+fLg5f/68y7x9+/aZc+fO5aouwJ/RvxYegpqH9u/fb8LDw40k07t3b4+X2717t/WP2b9/fy9WCCBDamqqadiwYabO4fbbb3fbftWqVcbhcLi0DQoKMmvWrCnkygHfsPOByNOnT5sePXqYLVu25HrZli1bGkkmOjraHD16NNP8LVu2mPj4eGs74uPjM7VZuXKlkWS6du1qnE5nnrYBCBT0r4WLG1576LHHHlNSUpIcDoeeeeYZj5erVq2adeogA4oAheOFF17Qr7/+6jKtXLlyeu2119y2b9OmjUaPHu0yzel0aujQodZptkCgOnDggHVrkptvvtmja78kqXbt2tbv3uzfSpQooS+++MJlpElPde3aVZJ09uxZXXfddZo7d642bNigRYsWafTo0WrSpIkiIiJUqlQpSe6vT8sYLOHll1+Ww+HI+4YAAYD+tZD5Oin6g59//tk6GtC3b99cL1+nTh0jyYSEhJjk5GQvVAggw9atW11OY8r4+fTTT7Nd7ty5c6Z69eqZlnvkkUcKqXLAN/r162d9m5abb63S0tJMSEiIkWSuvPJKL1aYd2fPnjUNGjTItF9n/DRr1szs3r3bBAcHG0nm6aefzrSO6OhoU7NmzcIvHrAZ+tfCx2AiAAAUUevWrVPz5s1ljFHfvn01d+7cXC1ft25d7dixQyEhITp37pwt7z929uxZjR8/Xp9++qn+/PNPlSxZUvXr11f//v01cOBAbdmyRQ0bNpQkff7557rpppusZU+dOqW4uDh17NhRS5Ys8c0GACiyCGoAAABunDx50gp2mzZt8nU5AIoYrlEDAABwIy4uTjVq1NDmzZu1YsWKTPOzG/IfAPKLb9QAAACyMG/ePPXt21fFihXTTTfdpBo1aujIkSNau3atGjVqpE8++cTXJQIIUMV8XQAAAIBd9enTRyVKlNArr7yixYsXKykpSeXKlVOzZs107733+ro8AAGMb9QAAAAAwGa4Rg0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGoAAAAAYDMENQAAAACwGYIaAAAAANgMQQ0AAAAAbIagBgAAAAA2Q1ADAAAAAJshqAEAAACAzRDUAAAAAMBmCGp+bO3atUpKSvJ1GQAAAAAKGEHNT33zzTdq3bq1IiIiCGsAAABAgHEYY4yvi0DunDt3TtHR0S7TEhMTFR4e7qOKAAAAABQkvlHzQ1FRUbr77rtdpvHNGgAAABA4CGp+aurUqYQ1AAAAIEAR1PwYYQ0AAAAITAQ1P0dYAwAAAAIPQS0AENYAAACAwEJQCxCENQAAACBwENQCCGENAAAACAwEtQBDWAMAAAD8H0EtABHWAAAAAP9GUAtQhDUAAADAfxHUCsDNN98sh8Mhh8Oh/v37+7ocC2ENyOybb76x9leHw+HrcgDkgP0V8B8X768nTpzwdTl+j6BWAA4cOGD9fvDgQR9WkhlhDXB15swZX5cAAEDAS09P93UJfo+gVgQQ1gAAAAD/QlArIghrAAAAgP8gqBUhhDUAAADAPxDUihjCGgAAAGB/BLUiiLAGAAAA2BtBrYgirAEAAAD2RVArwghrAAAAgD0R1Io4whoAAABgPwQ1ENYAAAAAmyGoQRJhDQAAALATghoshDUAAADAHghqcEFYAwAAAHyPoIZMCGsAAACAbxHU4BZhDQAAAPAdghqyRFgDAAAAfIOghmwR1gAAAIDCR1BDjghrAAAAQOEiqMEjhDUAAACg8BDU4DHCGgAAAFA4CGrIFcIaAAAA4H0ENeQaYQ0AAADwLoIa8oSwBgAAAHgPQQ15RlgDAAAAvIOghnwhrAEAAAAFj6CGfCOsAQAAAAWLoIYCQVgDAAAACg5BDQWGsAYAAAAUDIIaChRhDQAAAMg/ghoKHGENAAAAyB+CGryCsAYAAADkHUENXkNYAwAAAPKGoAavIqwBAAAAuUdQg9cR1gAAAIDcIaihUBDWAAAAAM8R1FBoCGsAAACAZwhqKFSENQAAACBnBDUUOsIaAAAAkD2CGnyCsAYAAABkjaAGnyGsAQAAAO4R1OBThDUAAAAgM4IafI6wBgAAALgiqMEWCGsAAADA/xDUYBuENQAAAOACghpshbAGAAAAENRgQ4Q1AAAAFHUENdgSYQ0AAABFGUENtkVYAwAAQFFFUIOtEdYAAABQFBHUYHuENQAAABQ1BDX4BcIaAAAAihKCGvwGYQ0AAABFBUENfoWwBgAAgKKAoAa/Q1gDAABAoCOowS8R1gAAABDICGrwW4Q1AAAABCqCGvwaYQ0AAACBiKAGv0dYAwAAQKAhqCEgENYAAAAQSAhqCBiENQAAAAQKghoCCmENAAAAgYCghoBDWAMAAIC/I6ghIBHWAAAA4M8IaghYhDUAAAD4K4IaAhphDQAAAP6IoIaAR1gDAACAvyGooUggrAEAAMCfENRQZBDWAAAA4C8IaihSCGsAAADwBwQ1FDmENQAAANgdQQ1FEmENAAAAdkZQQ5FFWAMAAIBdEdRQpBHWAAAAYEcENRR5hDUAAADYDUENEGENAAAA9kJQA/4/whoAAADsgqAGXISwBgAAADsgqAGXIKwBAADA1whqgBuENQAAAPgSQQ3IAmENAAAAvkJQA7JBWAMAAIAvENSAHBDWAAAAUNgIaoAHCGsAAAAoTAQ1wEOENQAAABQWghqQC4Q1AAAAFAaCGpBLhDUAAAB4G0ENyAPCGgAAALyJoAbkEWENAAAA3kJQA/KBsAYAAABvIKgB+URYAwAAQEEjqAEFgLAGAACAgkRQAwoIYQ0AAAAFhaAGFCDCGgAAAAoCQQ0oYIQ1AAAA5BdBDfACwhoAAADyg6AGeAlhDQAAAHlFUAO8iLAGAACAvCCoAV5GWAMAAEBuEdSAQkBYAwAAQG4Q1IBCQlgDAACApwhqQCEirAEAAMATBDWgkBHWAAAAkBOCGuADhDUAAABkh6AG+AhhDQAAAFkhqAE+RFgDAACAOwQ1wMcIawAAALgUQQ2wAcIaAAAALkZQA2yCsAYAAIAMBDXARghrAAAAkAhqgO0Q1gAAAEBQA2yIsAYAAFC0EdQAmyKsAQAAFF0ENcDGCGsAAABFE0ENsDnCGgAAQNFDUAP8AGENAACgaCGoAX6CsAYAAFB0ENQAP0JYAwAAKBoIaoCfIawBAAAEPoIa4IcIawAAAIGNoAb4KcIaAABA4CKoAX6MsAYAABCYCGqAnyOsAQAABB6CGhAACGsAAACBhaAGBAjCGgAAQOAgqAEBhLAGAAAQGAhqQIAhrAEAAPg/ghoQgAhrAAAA/o2gBgQowhoAAID/IqgBAYywBgAA4J8IakCAI6wBAAD4H4IaUAQQ1gAAAPwLQQ0oIghrAAAA/oOgBhQhhDUAAAD/QFADihjCGgAAgP0R1IAiiLAGAABgb8V8XYA/WrZsmTZv3mz9vWHDBuv3NWvWaNKkSdbfDRo0UPv27QuzPMAjU6dOlSS9+eab1rSIiAglJiYqPDzcV2UVuG3btmnx4sXW34sWLXKZf/H+WrZsWfXv37+wSgNwiX/++UcffvhhlvMv3l8lafTo0QoODvZyVQCy8tZbbyk5OdntvDfeeEMlS5a0/r7lllt02WWXFVZpAcFhjDG+LsLfvPLKK3r44Yc9avvaa69pzJgx3i0IyId77rnHJaxJCqiwtnr1al1zzTUete3bt6/mzp3r5YoAZCUxMVHR0dFKT0/PsW2VKlW0f/9+7xcFIEtNmzbV+vXrPWr7559/qkKFCl6uKLBw6mMeNG7c2CttAV8I9NMgGzZsKIfD4VFb9lfAtyIiIlSvXj2P2rK/Ar7n6X5YoUIFQloeENTy4Oqrr/aoncPhUKNGjbxcDZB/gRzWoqKiVLduXY/a8sEP8L0mTZp41I79FfA99lfvIqjlQWxsrGrWrJljuzp16igqKqoQKgLyL5DDmqcdhKcHYQB4j6f7Kx/8AN/zdD/0NNDBFUEtjzz5x6QTgb8J1LDmyb5Ys2ZNxcbGer8YANkiqAH+o169egoNDc2xHftr3hDU8oighkAViGGN/RXwH/Xr189xJMcqVaqodOnShVQRgKyEhoaqfv36Obajj80bgloe8cEPgSzQwponA4qwvwL24MmAIuyvgH3ktD8ykEjeEdTyKKdrWRhIBP4ukMKaJwOK8MEPsI+crmdhfwXsg/3VewhqeZTTgCIMJIJAEEhhLaeOgoFEAPvIaX/lgx9gHzntjwwkkncEtXzI7h+TTgSBIlDCWnb7JAOJAPZCUAP8R04DirC/5h1BLR8IaigqAiGssb8C/iO7AUUYSASwl5wGFKGPzTuCWj7wwQ9Fib+HtewGFGF/BewluwFF2F8B+8lqv2QgkfwhqOVDVte0MJAIApU/h7XsBhThgx9gP1ld18L+CtgP+6t3ENTyIasBRRhIBIHM07CWmJiod999tzBLy1FWHQYDiQD2k9X+ygc/wH6y2i8ZSCR/CGr55O4fk04EgS6nsJaYmKju3btr+PDhWrp0qS9KdMvdvslAIoA9EdQA/5HVgCLsr/lDUMsnghqKqqzC2qlTp9S9e3croA0dOlRnzpzxRYmZsL8C/sPdgCKVK1dmIBHAhrIaUIQ+Nn8IavnEBz8UZe7CWlxcnMu3aAcPHtRDDz1U2KW55W5AEfZXwJ7cDSjC/grY16X7JwOJ5B9BLZ8uvbaFgURQ1LgLa5eaNm2aLU6BdDegCB/8APu69PoWrncB7OvS/ZP+Nf8Iavl06YAiDCSComjChAk5trHLKZCXdhwMJALY16X7Kx/8APu6dP/kwEr+EdQKwMX/mHQiKGoyBg7JiV1Ogbx4H2UgEcDeCGqA/7h0QBH21/wjqBWANm3aqEyZMipbtqxat27t63KAQpMR0jw9rdEOp0A2b95cZcuWVenSpdWuXTuf1gIge/Xr11eFChVUunRpNWzYkIFEABsLDQ1V27ZtVbp0aZUtW5agVgAcxhjj6yIA+KdNmzapR48eOnDggMfLVK5cWZs3b1aJEiW8WBkAAIB/4xs1AHnWoEEDbd68WSNHjvR4GbucAgkAAGBnfKMGoEAsW7ZMQ4cO9fjbtcWLF6tTp05ergoAAMA/EdQAFJizZ8/q4Ycf1ttvv51jW06BBAAAyBqnPgIoMNHR0Xrrrbe0dOlSValSJdu2nAIJAACQNb5RA+AVnn67ximQAAAAmRHUAHhVTteucQokAABAZpz6CMCrOnTokO3IkJwCCQAAkBnfqAEoNNl9u8YpkAAAAP9DUANQqLK6do1TIAEAAP6HUx8BFKqsRoY8ePCgvv/+ex9WBgAAYB8ENQA+cem1a6+++qq6devm46oAAADsgVMfAfjc3r17Vb16dV+XAQAAYBsENQAAAACwGU59BAAAAACbIagBAAAAgM0Q1AAAAADAZghqAAAAAGAzBDUAAAAAsBmCGgAAAADYDEENAAAAAGyGoAYAAAAANkNQAwAAAACbIagBAAAAgM0Q1AAAAADAZghqufTyyy/L4XDk+WfSpEm+3gSgSDh58qSio6PlcDgUHx+vtLS0HJdJT09Xly5drP11zpw5hVApAIn+FfAX9K+Fh6CWS+vXr8/X8ldddVUBVQIgO3FxcRo2bJgk6Y8//tCnn36a4zJjx47VwoULJUlPPPGE+vXr59UaAfwP/SvgH+hfC4/DGGN8XYQ/2bt3rxISEjxqe/bsWfXt21eHDh2SJF199dVatWqVIiMjvVkigP/v0KFDqlGjhlJTU9W8eXP9+OOPWbZ99913NXz4cEnSzTffrP/7v/+Tw+EorFKBIo/+FfAf9K+Fg6DmJUlJSerSpYtWrFghSapbt65Wrlyp0qVL+7YwoIgZNGiQPvzwQ0nS2rVr1bJly0xtVqxYoeuvv16pqalq1KiRVq9ezQc+wKboXwF7oH/1Pk599ILU1FT17t3b6kSqVaumpUuX0okAPvDwww9bR+7cXcOyZ88e9e7dW6mpqSpfvry++uorOhHApuhfAfugf/U+gloBczqdGjhwoL799ltJUsWKFbV06VJVrFjRx5UBRVO9evXUtWtXSdJnn32mgwcPWvNOnz6tbt266cSJEwoPD9eXX36pSpUq+apUANmgfwXshf7V+whqBWzEiBH65JNPJEmlS5fWkiVLVL16dR9XBRRtDz/8sKQLo0698cYb1u+33nqrtm/fLkl6//331axZM5/VCCB79K+A/dC/ehdBrQCNHTtW7733niSpRIkSWrhwoa644gofVwWgbdu2atGihaQLFzWfP39eDzzwgDUC1ZNPPskIVICN0b8C9kT/6l0MJlJAxo8fr2eeeUaSFBkZqUWLFqlNmza+LQrw0O+//65PPvlEjRs3VuPGjVWmTBlfl1TgPv/8c/Xq1UuS1KFDBy1btkwSI1ABdkf/Cn83efJkxcbGqnHjxqpbt66Cg4N9XVKBon/1HoJaAZg0aZLuv/9+SVJoaKi++uor3XDDDT6uCvDcmjVrXD74xMfHq0mTJlZwC4TwZoxR3bp1tXPnTmsaQ3oD9kb/ikDQrFkzrVu3TtKFgw0NGza0+tYmTZqoTp06fh3e6F+9h6CWT++//77uvPNOGWMUHBysTz75RDfffLOvywJy5dKg5k4ghLfp06frzjvvlCRVqFBBP//8Mxc3AzZF/4pAcXFQcycQwhv9q3cU83UB/mzevHkaNmyYjDFyOByaPn06nQgC1qFDh3To0CF9/vnn1jR/C281atSwfh8xYgSdCGBT9K8oShISErR27VqtXbvWmuZv4Y3+1TsIank0f/583XbbbXI6nZIunH88aNAgH1eVtWeffVaLFi3ydRmwqd27d+dpuZzC25gxY1S8ePGCKjPffv31V+v3hg0b+qwOAFnzt/51586dGjp0qK/LgI1l921aVnIKb3379lXr1q0Lssx8oX/1DoJaHnz//ffWDfwk6bnnntPo0aN9XFX2nnrqKV+XgCLi4vB2++232yqobdq0yfqdjgSwH3/sX1etWqU1a9b4ugwUAReHt+DgYFsFNfpX72B4/lxav369unXrpsTEREkX7h/x+OOP+7gqAJ7IOOIXFxenKlWq+LYYAC7oXwHP2W2ICfpX7+AbtVzYunWrOnfurLNnz0qSRo4cqZdeesnHVXnmySef1Pz5831dBmzq999/1+nTpwtkXRUrVrTOp4+LiyuQdRaE1NRUbdu2TZLUoEEDH1cD4GL+3L+2adNGjRs39nUZsLENGzYUyHrCw8PVoEEDNW7c2FbXbNK/eg9BzUN79uxRp06ddOLECUnSgAEDNHXqVB9X5bl///vf+ve//+3rMmBTnoz66M7FoSzjgufy5ct7ocL82759u1JSUiRxWgZgJ/7ev9apU0fr16/3dRmwsZxGfXTn4lCW8XPFFVcoJCTES1XmHf2r9xDUPHD48GF17NhRf/31lySpR48emjlzpoKCOHMURYc/hTJ3uNAZsB/6V8C/Qpk79K/eQ1DLwcmTJ9WxY0ft379f0oUjZ08++aR27Njh8Tri4+MVExPjpQqBgufvocwdLnQG7IX+FUWRv4cyd+hfvYcbXudg7ty56tevX77WsXbtWrVs2bKAKgIK3u7duzVnzpyACWXudOjQQcuXL1doaKjOnTvn150iEAjoX1FUvPrqq4qNjQ2IUOYO/av38I1aDjZv3pyv5YODgzm6ANurVatWwN/CIeOIXyB2koA/on9FUfHAAw/4ugSvon/1Hr5RAwAAAACb4WpdAAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABshqAGAAAAADZDUAMAAAAAmyGoAQAAAIDNENQAAAAAwGYIagAAAABgMwQ1AAAAALAZghoAAAAA2AxBDQAAAABs5v8BmC1bFEXlkl8AAAAASUVORK5CYII=", + "image/png": "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69atMWTIEDz++OOOLrPU2rt3Lz7//HPs2bMH165dg5ubGx555BE0bdoUffr0wQsvvFDsZW7YsAGJiYn49ddfcfPmTXh4eCA8PBxPPfUUBgwYYJVHVRVGfz/C/Gftbm5umDFjBkaPHm3T9yeyBVu0pdnZ2UhMTMR///tfHDlyBCkpKfD390dUVBTatm2Lf/7zn1Z7gk5Btm3bhueff97oIfCenp7YtWuXzb/pK40Y3IiIiIhUgte4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4FdOtW7cQEBAAjUYDjUaDefPmObokUqHMzEzUrFlT2Y/0rzfeeKPQ+fbu3Qt3d3ej+bZu3WqnyomIzMe2zvoY3Ipp0qRJSE9PV/5/9OhRB1ZDauXj44PFixfDzc3wEJw7dy52795tcp6srCwMGDAAOp3OYPjAgQPRtm1bm9VKjsGTRHIFbOusj8GtGJKTk7F48WIAgJ+fHwAGN7Jc06ZNMWLECINhIoIBAwYgIyPDaPqEhAScOnXKYFilSpXwwQcf2LROcgyeJJKrYFtnXQxuxfD2229Dq9WidevW6NKlC4CHYU5EHFwZqdX06dMRHR1tMOzs2bOYPHmywbDffvsNM2fONJp/wYIFCAwMtGmNZH88SSRXw7bOehjczLR582Zs2rQJGo0GM2fORGxsLAAgLS0NFy9edHB1pFa+vr5YuHAhNBqNwfCPPvoI+/fvBwDk5uaif//+yM3NNZjmlVdeQfv27e1WK9kPTxLJ1bCtsx4GNzNotVq8/fbbAIBevXqhfv36qF27tjKeZ8JUEq1atcLQoUMNhmm1WvTv3x/Z2dmYMWMGjhw5YjC+YsWKmD17th2rJHvhSSK5KrZ11sHgZobFixfj2LFj8Pb2xvTp0wFAaUwBBjcquffffx+R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shlatWqFjRs3QqvV4h//+IejyyELTJ061eiatoLofzLdvHmzw0K6r68vunXrhgsXLrBjAtnN008/jV27dkGr1aJ9+/aOLodKgZCQEHTo0AF//PEHvLy82DHBDBpxhgt6iGwoNzcX48ePx4cffgidTmf2fAsWLHCKXqZERER6DG5Uavzyyy947bXXcPr0abOm9/f3R3JyMiIjI21cGRERkXl4jRuVGk2aNMHhw4fx9ttvm7zBbX7O1MuUiIgIYHCjUqZMmTKYOXMm9uzZgxo1ahQ5vbP0MiUiIgL4UymVYhkZGZg8eXKR177xJ1MiInIWDG5U6plz7Vvbtm0d2suUiIgI4E+lRGZd+8afTImIyBnwGzeiPAr79o0/mRIRkaPxGzeiPAr79o29TImIyNEY3IjyKaznKX8yJSIiR2JwIypAQd++JSUlObAqIiIqzXiNG5EZ9Ne+1a5dG8uXL4enp6ejSyIiolKIwY3ITBkZGfDw8GBoIyIih2FwIyIiIlIJXuNGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweCWz/vvvw+NRmPxa/bs2Y5eBVKRlJQUBAQEQKPRICIiArm5uUXOo9Vq8fzzzyv73PLly+1QKbkatnVkT2zrrIfBLZ+DBw+WaP7HH3/cSpVQaRAcHIxBgwYBAK5du4bVq1cXOU98fDw2btwIAJg4cSJ69epl0xrJNbGtI3tiW2c9GhERRxfhTC5cuIAHDx6YNW1aWhp69uyJq1evAgCeeOIJ7N69G76+vrYskVzM1atXER0djZycHDRq1Ai//vprgdN+8cUXGDx4MACgW7du+O9//wuNRmOvUsmFsK0je2NbZyVCFsnIyJBWrVoJAAEgtWrVktu3bzu6LFKpV155RdmX9u7da3KaHTt2iKenpwCQevXqyf379+1cJZVGbOvImtjWlRx/KrVATk4Ounfvjp07dwIAoqKisHXrVoSGhjq2MFKtMWPGKGeTpq4dOn/+PLp3746cnBxUrFgRa9eu5bcdZHNs68ja2NaVHINbMel0Orz88sv46aefAADh4eHYunUrwsPDHVwZqVlsbCzat28PAPj2229x5coVZdy9e/fQoUMH3L17Fz4+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", "text/plain": [ - "<Figure size 834.646x393.701 with 1 Axes>" + "<Figure size 582.677x275.591 with 1 Axes>" ] }, "metadata": {}, From 68b59d0a0c7be661185f7fca858763923ea6201b Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Mon, 29 Apr 2024 17:00:24 +0100 Subject: [PATCH 03/10] expand and improve multiple sections --- docs/source/quasi_dags.ipynb | 109 +++++++++++++++++++---------------- 1 file changed, 59 insertions(+), 50 deletions(-) diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index 475f49d9..b1f6b68e 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -11,13 +11,17 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "This page provides an overview of structural causal models for some of the most common quasi-experiments. It takes inspiration from a paper by {cite:t}`steiner2017graphical`, and the books by {cite:t}`cunningham2021causal` and {cite:t}`huntington2021effect`, and readers are encouraged to consult these sources for more details." + "This page provides an overview of causal Directed Acyclic Graphs (DAG's) for some of the most common quasi-experiments. It takes inspiration from a paper by {cite:t}`steiner2017graphical`, and the books by {cite:t}`cunningham2021causal` and {cite:t}`huntington2021effect`, and readers are encouraged to consult these sources for more details." ] }, { "cell_type": "code", "execution_count": 1, - "metadata": {}, + "metadata": { + "tags": [ + "remove-input" + ] + }, "outputs": [], "source": [ "import daft\n", @@ -46,7 +50,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Before we take a look at randomized controlled trials (RCTs) and quasi-experiments, let's first consider the concept of confounding. Confounding occurs when a variable (or variables) causally influence both the treatment and the outcome and is very common in observational studies. This can lead to biased estimates of the treatment effect (the causal effect of $Z \\rightarrow Y$). The following causal DAG illustrates the concept of confounding." + "Before we take a look at randomized controlled trials (RCTs) and quasi-experiments, let's first consider the concept of confounding. Confounding occurs when a variable (or variables) causally influence both the treatment and the outcome and is very common in observational studies. This can lead to biased estimates of the treatment effect (the causal effect of $Z \\rightarrow Y$). The following causal DAG illustrates the concept of confounding. Note that the confounder is written as a vector because there may be multiple confounding variables, $\\mathbf{X}=x_1, x_2,x_3$." ] }, { @@ -87,7 +91,20 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Randomized controlled trials (RCTs) are considered the gold standard for estimating causal effects. One reason for this is that we (as experimenters) intervene in the system by randomly assigning subjects to treatment groups. This ensures that the treatment is independent of any confounding variables. Importantly, this act of intervention breaks the causal link of the confounders $\\mathbf{X}$ upon the treatment $Y$. The following causal DAG illustrates the structure of an RCT." + "One way to tell that our estimate of the causal relationship $Z \\rightarrow Y$ may be biased is the presence of a backdoor path, $Z \\leftarrow \\mathbf{X} \\rightarrow Y$. This path type is known as a \"fork\". Because $\\mathbf{X}$ is a common cause of $Z$ and $Y$, any observed statistical relation between $Z$ and $Y$ may be due to the confounding effect of $\\mathbf{X}$. \n", + "\n", + "Backdoor paths are problematic because they introduce _statistical associations_ between variables that do not reflect the true causal relationships, potentially leading to biased causal estimates. For example, if we ran a regression of the form `y ~ z`, and observe a main effect of $Z$ on $Y$, we have no way of knowing if this represents a true causal impact of $Z$ on $Y$, or if it is due to the confounding effect of $\\mathbf{X}$. \n", + "\n", + "One approach is to \"close the backdoor path\" by conditioning on the confounding variables. Practically, this could involve including confounders $\\mathbf{X}$ as a covariate in a regression model such as: `y ~ z + x₁ + x₂ + x₃`. Without explaining why, the coefficient for the main effect of $Z$ would now be an unbiased estimate of the _causal_ effect of $Z \\rightarrow Y$.\n", + "\n", + "However, unless we are very sure that we have accurate measures of _all_ confounding variables (maybe there is an $x_4$ that we don't know about or couldn't measure), it is still possible that our estimate of the causal effect is biased." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This leads us to Randomized Controlled Trials (RCTs) which are considered the gold standard for estimating causal effects. One reason for this is that we (as experimenters) intervene in the system by assigning units to treatment by {term}`random assignment`. Because of this intervention, any causal influence of the confounders upon the treatment $\\mathbf{X} \\rightarrow Z$ is broken - treamtent is now soley determined by the randomisation process, $R \\rightarrow T$. The following causal DAG illustrates the structure of an RCT." ] }, { @@ -129,7 +146,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The new variable $R$ represents the random assignment of units to the treatment group. So now $Z$ is entirely causally influenced by $R$, and not by any other variables. This means that the treatment effect $Z \\rightarrow Y$ can be estimated without bias." + "The new variable $R$ represents the random assignment of units to the treatment group. This means that the treatment effect $Z \\rightarrow Y$ can be estimated without bias." ] }, { @@ -180,28 +197,18 @@ "cell_type": "markdown", "metadata": {}, "source": [ - ":::{note}\n", - "The assumptions embodied in the DAG are:\n", - "1. The IV is independent of the confounders $\\mathbf{X}$.\n", - "2. The IV causally influences the treatment $Z$.\n", - "3. The IV does not causally influence the outcome $Y$, other than through the treatment $Z$.\n", - ":::" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Readers are referred to {cite:t}`steiner2017graphical` for a more in-depth discussion of the IV approach from the causal DAG and SCM perspective." + "Let's try to get some intuition of why having the $IV$ helps:\n", + "* The presence of $\\mathbf{X}$ is a confounder because it influences both $Z$ and $Y$.\n", + "* But the $IV$ helps overcome this confounding because it is not influenced by $\\mathbf{X}$.\n", + "* Any association between the $IV$ and $Y$ must be through the treatment $Z$.\n", + "* This means that the $IV$ can be used to estimate the causal effect of $Z \\rightarrow Y$, without being confounded by $\\mathbf{X}$. Informally, the $IV$ causes some variation in the treatment $Z$ that is not due to $\\mathbf{X}$, and this variation can be used to estimate the causal effect of $Z \\rightarrow Y$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - ":::{note}\n", - "TODO: Explain the intuition behind how the IV approach works.\n", - ":::" + "Readers are referred to {cite:t}`steiner2017graphical,cunningham2021causal` or {cite:t}`huntington2021effect` for a more in-depth discussion of the IV approach from the causal DAG perspective." ] }, { @@ -210,7 +217,7 @@ "source": [ "## Interrupted Time Series\n", "\n", - "A causal DAG for interrupted time series is given in Chapter 17 of {cite:t}`huntington2021effect`, though that book refers to it as [Event Studies](https://theeffectbook.net/ch-EventStudies.html). These kinds of studies are suited to situations where an intervention is made at a given point in time and any causal effect is assumed to have a lasting (not a transient) effect. Here's the causal DAG - note that $\\text{time}$ represents all the things changing over time such as the time index as well as time-varying predictor variables." + "A causal DAG for interrupted time series is given in Chapter 17 of {cite:t}`huntington2021effect`, though uses the [Event Study](https://theeffectbook.net/ch-EventStudies.html) label. These kinds of studies are suited to situations where an intervention is made at a given point in time at which we move from untreated to treated. Typically, we consider situations where there are a 'decent' number of observations over time. Here's the causal DAG - note that $\\text{time}$ represents all the things changing over time such as the time index as well as time-varying predictor variables." ] }, { @@ -255,7 +262,9 @@ "source": [ "What we want to understand is the causal effect of the treatment upon the outcome, $Z \\rightarrow Y$. But we have a back door path between $Z$ and $Y$ which will make this hard, $Z \\leftarrow \\text{after treatment} \\leftarrow \\text{time} \\rightarrow Y$.\n", "\n", - "The approach taken is to use the pre-treatment data only to create a prediction of what would have happened in the absence of treatment (i.e. the counterfactual). If we can assume that in the absence of the treatment, nothing would have changed, then this counterfactual estimate will be unbiased and we can estimate the treatment effect by comparing the observed (post-treatment) data with the counterfactual." + "The approach taken is:\n", + "1. Use the pre-treatment data only to create a prediction of what would have happened in the absence of treatment (i.e. the counterfactual). Splitting the dataset like this breaks the back door by removing any variation in $\\text{after treatment}$, all values are 0.\n", + "2. If we can assume that in the absence of the treatment, nothing would have changed, then this counterfactual estimate will be unbiased and we can estimate the treatment effect by comparing the observed (post-treatment) data (where all values of $\\text{after treatment}$ are 1) with the counterfactual. " ] }, { @@ -264,14 +273,12 @@ "source": [ "## Difference in Differences\n", "\n", - ":::{warning}\n", - "This section, including the DAG is a work in progress.\n", - ":::" + "Difference in Difference studies involve comparing the change in outcomes over time between a treatment and control group. The causal DAG for this is given in Chapter 18 of {cite:t}`huntington2021effect`:" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": { "tags": [ "remove-input" @@ -280,9 +287,9 @@ "outputs": [ { "data": { - "image/png": "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4SErV66Ub7/91uC2UrrGTESkRo0aBvPc3d3lwIEDyutnZmbK3Llz5fHHHxcvLy8JCQmRHj16GD3ql5+EhASZM2eONG3aVAICAiQoKEjq168vH374odHbOImI7N27V+rXry/e3t5Sr149iYmJEZFHI62HhYVJ9erVJTY21mC9U6dOSffu3SU4OFi8vb3lySeflI0bN+oto2sscz90t//S3WYq92e7c+dOs97v8ePHpWvXrhIYGCheXl7SsGFDmTZtmvz4448SEBAgzzzzjHzyySdy6tQpvfXi4+Nl7NixUrVqVfH29pYKFSpIVFSU8t5NiYuLk9dee00iIyPF29tbqlSpIt27dzcI6yKid7sz3UOj0RgduJjIHHv37pVRo0Ypt8TL/fDz85PAwECpWLGitG/fXqZNmyYnT540uT3doNy5vzCaCigzZsxQAmPuR15Hyq5fvy4LFiyQzp07S9WqVSUoKEj8/PwkKChI6tSpI/369ZO1a9caHUw7L2PGjNH7cq57FCtWzOidF7Zu3SqdOnWSkJAQ5bUnTJggN2/e1Ftu48aNRt+np6enyXY0t08//VReeuklo/W5u7uLv7+/lCxZUmrWrCkvvPCCLF26NM9b/n311VdGt/Xqq69KfHy8TJ48WS/A5v5fFhAQIBEREVK/fn15/fXXZcOGDSYDIhWMRsQBL8oiIiIiIgPsnEBERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEi4X3Hbv3o3Q0FA8++yzEBF7l0NEZBNs64ick8sFtw0bNiA+Ph4bN25EfHy8vcshIrIJtnVEzsnD3gUUtddeew3Hjx9Hy5YtERoaau9yiIhsgm0d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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAATMAAAEzCAYAAABdWOReAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAB7CAAAewgFu0HU+AAAbmklEQVR4nO3deXCU9R3H8c8mJCEhkN1AMaYkIExBkgCBcBjRhiPIIFBgoAUrCM5EpDPFIgiKyiVQQKpDWyx1OEwLgigKhOEo9yEqhwMaEWQ4AiEcUhIoOSDHfvsH7mM22c1ukt19nv3t5zWzM2Gf3fBNeHjzXHkwiYiAiMjPBek9ABGRJzBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlICY0ZESmDMiEgJjBkRKYExIyIlMGZEpATGjIiUwJgRkRIYMyJSAmNGREpgzIhICYwZESmBMSMiJTBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlICY0ZESmDMiEgJjBkRKYExIyIlMGZEpATGjIiUwJgRkRIYMyJSAmNGREpgzIhICYwZESmBMSMiJTBmRKQExoyIlMCYEZESGDMiUgJjRkRKYMyISAmMGREpgTEjIiUwZkSkBMaMiJTAmBGREhgzIlJCwMVs7969aNq0KYYNGwYR0XscIvKQgIvZxo0bkZ+fj02bNiE/P1/vcYjIQxroPYCv/eEPf8CJEyfw5JNPomnTpnqPQ0QeYhJF97XOnj2Ljz76CDNnztR7FCLyAWV3MxcuXAir1ar3GETkI0rGbMeOHcjMzNR7DCLyIeVitmfPHvz2t7/lmUqiAKNUzN59912MHDkSJSUlAB7saprNZpjNZnzwwQewWq3YsWMHhg0bhl/96lfV3n/9+nW88cYbiI6ORk5ODgBg5cqVSEhIQKNGjfDkk0/ixIkT2uu//vprDBo0CE2aNEFMTAxmzJjhdNe2uLgY8+fPR3JyMqKiomA2m9G/f38cOHDA898I8pri4mLMmTMHCQkJaNy4MSwWC37zm9/g2LFj1V578+ZNLFq0CK1bt0ZmZibu3r2L5557Dk2aNMHgwYNx//597bUVFRXIzMzEr3/9a8TGxqJx48bo0qULFi9ebPc6ALBYLDCZTNqj8l7IokWL7Jb16tXL7r3nz5/HtGnT0KxZM+Tk5KCoqAgvv/wyHn74YURGRqJfv34Ovxa/IApKS0sTADJr1iztuaNHj0r//v2lQYMGAkBatmypLbtz545kZGRIWFiYABAAcuHCBRk/frw0atRIYmJitOebN28uN2/elC1btkjDhg2lRYsW0rBhQ235/Pnzq81z5coVSUpKknnz5smdO3ektLRUli9fLmFhYRIUFCQffPCB978pVG8FBQXSqVMniYyMlK1bt0pFRYUcP35cWrVqJSaTScLDwyUqKkosFoskJydLdHS0tl6sWrVKBgwYIJGRkdpze/bsEZEH61///v2lbdu2cvToURERycvLk5EjRwoASUpKkhs3btjNsnXrVu3zVF1/8vPzpVu3bgJA0tLStOfGjBljt45///330qNHD2natKk0b95ce75hw4ayf/9+r38/PS1gYmYzderUajErLy+XvLw8+fvf/679gY4bN07ee+89uXfvnoiIbNq0SUwmkwCQsWPHyoABA+T7778XEZGSkhIZNGiQAJCHHnrI7vezWq2Smpoqr7zySrVZZs6cqa08eXl5nvsGkFc8//zzAkBef/11u+c3btwoAKRBgwZy7tw57flr165JSEiIAJDHH39cPvnkE8nPz5cXX3xRhg4dKoWFhSIiMnr0aAkKCpLs7Gy7z1tRUSE9e/YUANKjRw8pLy+3Wx4bG+swZiIi06dPt4uZzZYtW7R1fNiwYbJy5UqxWq0iIrJ27VoJDQ0VABIfHy/379+v67dKFwEXs3/84x/VYmaTnZ2t/UEfOHCg2vLU1FQBIL179662Yu3fv197b35+vvZ8VlaWAJAzZ85U+3zbt2/X3rNkyZLaf6HkM/fv39e2wDdu3Gi3zGq1SlRUlMMtc9tW/ZgxYxx+3kOHDgkA6d69u8Plhw8fttu6q6xly5ZOYzZr1iyHMTt37pz2+VavXl3tfXPnztWWr1u3zuFMRqXUMTN3NGzY0OmyiIgI7eP4+Phqy1u1aqUtCw4OtlsWGxurfVxYWKh9vHHjRgBAjx49tON3tsfvfvc7hIWFISwsDBcuXKjT10O+kZ+fj3v37gEATCaT3TKTyYRHHnkEAJCbm2u3LDQ0FADQp08fh5935cqVAIBOnTo5XP74449r692///3vug1fSeX19oknnqi2/I9//CPC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", "text/plain": [ - "<Figure size 582.677x275.591 with 1 Axes>" + "<Figure size 267.717x267.717 with 1 Axes>" ] }, "metadata": {}, @@ -292,31 +299,15 @@ "source": [ "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", "\n", - "x_offset = 2\n", - "# time back door\n", "pgm.add_node(\"z\", \"$Z$\", 0, 0)\n", "pgm.add_node(\"y\", \"$Y$\", 1, 0)\n", "pgm.add_node(\"t\", \"time\", 0, 1)\n", - "# pgm.add_node(\"g\", \"group\", 1, 1)\n", + "pgm.add_node(\"g\", \"group\", 1, 1)\n", "pgm.add_edge(\"t\", \"z\")\n", "pgm.add_edge(\"t\", \"y\")\n", - "# pgm.add_edge(\"g\", \"z\")\n", - "# pgm.add_edge(\"g\", \"y\")\n", + "pgm.add_edge(\"g\", \"z\")\n", + "pgm.add_edge(\"g\", \"y\")\n", "pgm.add_edge(\"z\", \"y\")\n", - "pgm.add_text(0, 1.3, \"Time back door\")\n", - "\n", - "# DAG for DiD\n", - "pgm.add_node(\"z2\", \"$Z$\", 0 + x_offset, 0)\n", - "pgm.add_node(\"y2\", \"$Y$\", 1 + x_offset, 0)\n", - "pgm.add_node(\"t2\", \"time\", 0 + x_offset, 1)\n", - "pgm.add_node(\"g2\", \"group\", 1 + x_offset, 1)\n", - "pgm.add_edge(\"t2\", \"z2\")\n", - "pgm.add_edge(\"t2\", \"y2\")\n", - "pgm.add_edge(\"g2\", \"z2\")\n", - "pgm.add_edge(\"g2\", \"y2\")\n", - "pgm.add_edge(\"z2\", \"y2\")\n", - "pgm.add_text(x_offset, 1.3, \"DAG for DiD\")\n", - "\n", "pgm.render();" ] }, @@ -324,7 +315,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Readers are referred to Chapter 18 of {cite:t}`huntington2021effect` for more details." + "Readers are referred to Chapter 18 of {cite:t}`huntington2021effect` for more discussion on the causal DAG for Difference in Differences studies." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + ":::{warning}\n", + "This section is unfinished\n", + ":::" ] }, { @@ -338,7 +338,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": { "tags": [ "remove-input" @@ -398,6 +398,15 @@ "Readers are referred to {cite:t}`steiner2017graphical` and {cite:t}`cunningham2021causal` who discuss limiting graphs in more detail. " ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + ":::{warning}\n", + "This section is unfinished\n", + ":::" + ] + }, { "cell_type": "markdown", "metadata": {}, From d5d61dfedd9caa362a81c726c4e421a46556c8b1 Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Mon, 29 Apr 2024 17:10:50 +0100 Subject: [PATCH 04/10] move daft into an optional dependencies --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a4dcaa48..f72f8a01 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,6 @@ requires-python = ">=3.10" # https://packaging.python.org/discussions/install-requires-vs-requirements/ dependencies = [ "arviz>=0.14.0", - "daft", "graphviz", "ipython!=8.7.0", "matplotlib>=3.5.3", @@ -53,6 +52,7 @@ dependencies = [ dev = ["pathlib", "pre-commit", "twine", "interrogate"] docs = [ "ipykernel", + "daft", "linkify-it-py", "myst-nb", "pathlib", From 447970b917c6735dea3387801c2e0c0785454639 Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Tue, 30 Apr 2024 11:30:37 +0100 Subject: [PATCH 05/10] perfecting the ITS section --- docs/source/quasi_dags.ipynb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index b1f6b68e..a57e3806 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -217,7 +217,7 @@ "source": [ "## Interrupted Time Series\n", "\n", - "A causal DAG for interrupted time series is given in Chapter 17 of {cite:t}`huntington2021effect`, though uses the [Event Study](https://theeffectbook.net/ch-EventStudies.html) label. These kinds of studies are suited to situations where an intervention is made at a given point in time at which we move from untreated to treated. Typically, we consider situations where there are a 'decent' number of observations over time. Here's the causal DAG - note that $\\text{time}$ represents all the things changing over time such as the time index as well as time-varying predictor variables." + "A causal DAG for interrupted time series quasi-experiment is given in Chapter 17 of {cite:t}`huntington2021effect`, though they are labelled as [Event Studies](https://theeffectbook.net/ch-EventStudies.html). These kinds of studies are suited to situations where an intervention is made at a given point in time at which we move from untreated to treated. Typically, we consider situations where there are a 'decent' number of observations over time. Here's the causal DAG - note that $\\text{time}$ represents all the things changing over time such as the time index as well as time-varying predictor variables." ] }, { @@ -262,9 +262,13 @@ "source": [ "What we want to understand is the causal effect of the treatment upon the outcome, $Z \\rightarrow Y$. But we have a back door path between $Z$ and $Y$ which will make this hard, $Z \\leftarrow \\text{after treatment} \\leftarrow \\text{time} \\rightarrow Y$.\n", "\n", - "The approach taken is:\n", - "1. Use the pre-treatment data only to create a prediction of what would have happened in the absence of treatment (i.e. the counterfactual). Splitting the dataset like this breaks the back door by removing any variation in $\\text{after treatment}$, all values are 0.\n", - "2. If we can assume that in the absence of the treatment, nothing would have changed, then this counterfactual estimate will be unbiased and we can estimate the treatment effect by comparing the observed (post-treatment) data (where all values of $\\text{after treatment}$ are 1) with the counterfactual. " + ":::{note}\n", + "Below is an attempt to explain one way that we can deal with this. Though it is a bit of a brain-twister and can take some time to get your head around. Thanks to Nick Huntington-Klein for some clarification in [this twitter thread](https://twitter.com/inferencelab/status/1783882438063661374).\n", + ":::\n", + "\n", + "One approach we can use is:\n", + "1. We want to close the backdoor path, and one way to do this is to split the dataset into two parts: pre-treatment and post-treatment. By fitting a model only to the pre-treatment data, we have removed any variation in $\\text{after treatment}$ (all values are $0$), so there is now no variation in $Z$ caused by $\\text{time}$. This is one way to close a backdoor path, and means that a model fitted to this data (e.g. $Y_{\\text{pre}} \\sim f(\\text{time}_{\\text{pre}})$) will not be biased by the backdoor path.\n", + "2. However, our goal is to estimate the causal effects of the treatment $Z \\rightarrow Y$, but we have just removed any variation in $Z$ and it does not appear in the aforementioned model, $Y_{\\text{pre}} \\sim f(\\text{time}_{\\text{pre}})$, so our work is not done. One way to deal with this is to use the model to predict what would have happened in the post-treatment era if no treatment had been given. If we make the assumption that nothing would have changed in the absence of treatment, then this will be an unbiased estimate of the counterfactual. By comparing the counterfactual with the observed post-treatment data, we can estimate the treatment effect $Z \\rightarrow Y$. By focussing only on the post-treatment data we are looking at empirical outcomes $Y_\\text{post}$ which are affected by treatment $Z = 1$, but have closed the back door because all $\\text{after treatment} = 1$. The final comparison (subtraction) between the counterfactual estimate and the observed post-treatment data gives us the estimated treatment effect." ] }, { From 33408919e555ddb72a0df4686df888be231d1033 Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Tue, 30 Apr 2024 12:16:44 +0100 Subject: [PATCH 06/10] finish the DID explanation --- docs/source/quasi_dags.ipynb | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index a57e3806..e2304790 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -319,16 +319,19 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Readers are referred to Chapter 18 of {cite:t}`huntington2021effect` for more discussion on the causal DAG for Difference in Differences studies." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - ":::{warning}\n", - "This section is unfinished\n", - ":::" + ":::{note}\n", + "For our explanation below, we will assume we are dealing with the simplest case of a two-group, two-time period design, the so called \"classical\" 2$\\times$2 difference-in-differences design. \n", + ":::\n", + "\n", + "Our goal is to estimate the causal effect of the treatment on the outcome, $Z \\rightarrow Y$, but now we have _two_ backdoor paths:\n", + "1. $Z \\leftarrow \\text{time} \\rightarrow Y$\n", + "2. $Z \\leftarrow \\text{group} \\rightarrow Y$\n", + "\n", + "From a regression point of view, both $time$ and $group$ are binary variables. In this situation, treatment is given to the treatment group ($\\text{group}=1$) at time $\\text{time}=1$.\n", + "\n", + "The causal effect of the treatment upon the outcome is typically estimated by fitting a regression model of the form `y ~ time + group + time:group`. The interaction term `time:group` captures the causal effect of $Z \\rightarrow Y$. \n", + "\n", + "We can note that this interaction term $\\text{time} \\times \\text{group}$ encodes the values of $Z$, which as we said above, is equal to 1 for only the treatment group at time 1. So another way to think about the inclusion of an interaction effect is that we are simply conditioning on all the observed data ($Z$, $\\text{time}$, $\\text{group}$, $Y$) to estimate the causal effect of $Z \\rightarrow Y$." ] }, { From 3ebe0b87ce732fe173e2f62230527085aae740ff Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Tue, 30 Apr 2024 12:22:08 +0100 Subject: [PATCH 07/10] synthetic control placeholder --- docs/source/quasi_dags.ipynb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index e2304790..84081401 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -334,6 +334,17 @@ "We can note that this interaction term $\\text{time} \\times \\text{group}$ encodes the values of $Z$, which as we said above, is equal to 1 for only the treatment group at time 1. So another way to think about the inclusion of an interaction effect is that we are simply conditioning on all the observed data ($Z$, $\\text{time}$, $\\text{group}$, $Y$) to estimate the causal effect of $Z \\rightarrow Y$." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Synthetic Control\n", + "\n", + ":::{warning}\n", + "While many texts cover the synthetic control method, they typically do not provide a causal DAG-based treatment. So this section is pending - we hope to update it soon.\n", + ":::" + ] + }, { "cell_type": "markdown", "metadata": {}, From 943508ade58d220e918ce1fa1f219e831c60d947 Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Tue, 30 Apr 2024 14:39:57 +0100 Subject: [PATCH 08/10] finish RDD section --- docs/source/quasi_dags.ipynb | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index 84081401..c6f88b05 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -351,12 +351,12 @@ "source": [ "## Regression Discontinuity\n", " \n", - "The causal graph for the regression discontinuity design is shown below (left). $A$ is a continuous running variable which determines the treatment assignment $A \\rightarrow Z$. Assignment is based on a cutoff value $a_c$. The running variable may also influence the outcome $A \\rightarrow Y$. The running variable may also be associated with a set of variables $\\mathbf{X}$ that influence the outcome, $A - - - - \\mathbf{X}$." + "The regression discontinuity design is similar to the interrupted time series design, but rather than the the treatment being at a specific point in time, treatment is based on a cutoff value $\\lambda$ along some running variable $RV$. This running variable could be a test score, age, spatial location, etc. The running variable may also influence the outcome $RV \\rightarrow Y$. The running variable may also be associated with a set of variables $\\mathbf{X}$ that influence the outcome, $RV - - - - \\mathbf{X} \\rightarrow Y$." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "metadata": { "tags": [ "remove-input" @@ -365,7 +365,7 @@ "outputs": [ { "data": { - "image/png": "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69atMWTIEDz++OOOLrPU2rt3Lz7//HPs2bMH165dg5ubGx555BE0bdoUffr0wQsvvFDsZW7YsAGJiYn49ddfcfPmTXh4eCA8PBxPPfUUBgwYYJVHVRVGfz/C/Gftbm5umDFjBkaPHm3T9yeyBVu0pdnZ2UhMTMR///tfHDlyBCkpKfD390dUVBTatm2Lf/7zn1Z7gk5Btm3bhueff97oIfCenp7YtWuXzb/pK40Y3IiIiIhUgte4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4EREREakEgxsRERGRSjC4FdOtW7cQEBAAjUYDjUaDefPmObokUqHMzEzUrFlT2Y/0rzfeeKPQ+fbu3Qt3d3ej+bZu3WqnyomIzMe2zvoY3Ipp0qRJSE9PV/5/9OhRB1ZDauXj44PFixfDzc3wEJw7dy52795tcp6srCwMGDAAOp3OYPjAgQPRtm1bm9VKjsGTRHIFbOusj8GtGJKTk7F48WIAgJ+fHwAGN7Jc06ZNMWLECINhIoIBAwYgIyPDaPqEhAScOnXKYFilSpXwwQcf2LROcgyeJJKrYFtnXQxuxfD2229Dq9WidevW6NKlC4CHYU5EHFwZqdX06dMRHR1tMOzs2bOYPHmywbDffvsNM2fONJp/wYIFCAwMtGmNZH88SSRXw7bOehjczLR582Zs2rQJGo0GM2fORGxsLAAgLS0NFy9edHB1pFa+vr5YuHAhNBqNwfCPPvoI+/fvBwDk5uaif//+yM3NNZjmlVdeQfv27e1WK9kPTxLJ1bCtsx4GNzNotVq8/fbbAIBevXqhfv36qF27tjKeZ8JUEq1atcLQoUMNhmm1WvTv3x/Z2dmYMWMGjhw5YjC+YsWKmD17th2rJHvhSSK5KrZ11sHgZobFixfj2LFj8Pb2xvTp0wFAaUwBBjcquffffx+R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shlatWqFjRs3QqvV4h//+IejyyELTJ061eiatoLofzLdvHmzw0K6r68vunXrhgsXLrBjAtnN008/jV27dkGr1aJ9+/aOLodKgZCQEHTo0AF//PEHvLy82DHBDBpxhgt6iGwoNzcX48ePx4cffgidTmf2fAsWLHCKXqZERER6DG5Uavzyyy947bXXcPr0abOm9/f3R3JyMiIjI21cGRERkXl4jRuVGk2aNMHhw4fx9ttvm7zBbX7O1MuUiIgIYHCjUqZMmTKYOXMm9uzZgxo1ahQ5vbP0MiUiIgL4UymVYhkZGZg8eXKR177xJ1MiInIWDG5U6plz7Vvbtm0d2suUiIgI4E+lRGZd+8afTImIyBnwGzeiPAr79o0/mRIRkaPxGzeiPAr79o29TImIyNEY3IjyKaznKX8yJSIiR2JwIypAQd++JSUlObAqIiIqzXiNG5EZ9Ne+1a5dG8uXL4enp6ejSyIiolKIwY3ITBkZGfDw8GBoIyIih2FwIyIiIlIJXuNGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweCWz/vvvw+NRmPxa/bs2Y5eBVKRlJQUBAQEQKPRICIiArm5uUXOo9Vq8fzzzyv73PLly+1QKbkatnVkT2zrrIfBLZ+DBw+WaP7HH3/cSpVQaRAcHIxBgwYBAK5du4bVq1cXOU98fDw2btwIAJg4cSJ69epl0xrJNbGtI3tiW2c9GhERRxfhTC5cuIAHDx6YNW1aWhp69uyJq1evAgCeeOIJ7N69G76+vrYskVzM1atXER0djZycHDRq1Ai//vprgdN+8cUXGDx4MACgW7du+O9//wuNRmOvUsmFsK0je2NbZyVCFsnIyJBWrVoJAAEgtWrVktu3bzu6LFKpV155RdmX9u7da3KaHTt2iKenpwCQevXqyf379+1cJZVGbOvImtjWlRx/KrVATk4Ounfvjp07dwIAoqKisHXrVoSGhjq2MFKtMWPGKGeTpq4dOn/+PLp3746cnBxUrFgRa9eu5bcdZHNs68ja2NaVHINbMel0Orz88sv46aefAADh4eHYunUrwsPDHVwZqVlsbCzat28PAPj2229x5coVZdy9e/fQoUMH3L17Fz4+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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm4AAAFFCAYAAABVK2F7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAB7CAAAewgFu0HU+AAA+BElEQVR4nO3dd3RT5f8H8Hc6aOmggyK0tpSChbLLnjIEFFGGgKCgIBsFEUQQEBkHB4oooIAKSFEQRRyALBkiUBAEGS2bIntji9Dd5PP7g1/ut2mSNk2Tpjd5v87JOem9z715bnLz6Ts397nRiIiAiIiIiEo8N0d3gIiIiIgsw+BGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGREREpBIMbkREREQqweBGVAzS09PRrFkzhIeH4/jx447ujlNLT0/Hl19+iZo1a2LatGmO7o7Lu379OmJiYlC9enXcuHGj2B535MiRCAgIwMqVKwu9bGJiIsLDw9G8eXOkp6fboXekd/36dUyZMgUPPfQQduzY4ejuqAKDWyFs3boVr776KsLDw6HRaIxunp6eKFOmDKKiotCqVSuMHj0aGzduRE5OjqO7Tg52/Phx/Pnnn7hy5Qo2btzo6O44rTlz5iA6OhrDhg1jQC6Cb775Bt7e3ibrnEajQbly5SxeV3x8PE6dOoWTJ09i9+7dduy1oWXLluG///7Dt99+W+hlN2/ejCtXrmDv3r3cj+xEq9ViyJAhqFKlCmbMmIFbt245ukvqIVRoFy9eFI1GIwDkkUcekXXr1sm5c+fk33//lTNnzsjq1aulZ8+eSpsqVarI5s2bHd1tciCtVisDBw6Udu3aydWrVx3dHaeVnp4u9+7dk6CgIAEgU6dOdXSXVEur1covv/wibm5uAkAAyNixY+X27duFWs/9+/elW7du0q1bN7l//76demts3rx50rhxY/njjz8KvezVq1elffv2MmDAANFqtXboHYk8eL/Gx8cr+9fvv//u6C6pAoOblR566CEBIK1btzbbZvfu3Uo7Nzc3Wbx4sU370KdPH5uuj4qOr0nJ0KhRIwY3G6lZ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e/dEo9EoBXjFihXKsgsWLLDlJpCTmzRpklEhi4iIMLgExNixY43aVK5cWVJTUx3YcyosV6hHTzzxhBLaEhISCrXsZ599pvR7y5YtJttERkYKAGnUqJEtukvFiLXONpw+uA0dOlR58Y8fP55v20WLFilt33nnnQLXXalSJQEgHTp0kKioKAEeXHCyoOH7RHp///23eHh4GBWqDRs2GLRLS0uT6Ohoo3amLv9AJZcr1KO7d+9K165dJTExsVDLXb16VQICAgSA9OvXz2y7p59+WrlkhE6nK2p3qZiw1tmO0wc3/WF3Hx8fycnJybftlStXlE+tTZs2LXDdTz31lNHOtW7dOlt1nZxcdna2xMbGGu1D5v5p7dq1S9k/9Tc3NzeJj48v5p6TtViPzHv22WcFgISEhMitW7fMtst91CYpKakYe0jWYq2zLacenKDT6ZQTWGvXrg13d/d824eFhSknDO/fv7/AH0nOfUIwADz22GN4+umni9BjciXvv/++0TW9ypcvj08++cRk+5YtWyqXSNDT6XQYNGgQMjIy7NVNshHWI/M2btyIH374AQAwe/ZshISEmG2bd2QplXysdbbl1MHt9OnTSEtLAwDExsZatIz+wrE6nQ7r16/Pt23uQunm5oaPPvrIuo6Syzl+/Djeeecdo+nz589HcHCw2eXee+89VK5c2WDayZMnMW3aNFt3kWyM9ci09PR0jBgxAgDQrl079OvXL9/2DG7qwlpnexqRfK6AR0REREQlhlMfcSMiIiJyJgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4EZERESkEgxuRERERCrB4FaCvfDCC/jggw8c3Q0iIiIqITwc3QEyrU+fPli5cqXy95tvvunA3hAREVFJoBERcXQnyJCIwM3N8GDozJkzGd6IiIhcHL8qLYE0Gg2Sk5MNpk2YMIFfmxIREbk4BrcSKjAwkOGNiIiIDDC4lWAMb0RERJQbg1sJx/BGREREegxuKsDwRkRERACDm2owvBERERGDm4owvBEREbk2BjeVYXgjIiJyXQxuKsTwRkRE5Jr4ywkWOH/+PFavXg0AaNas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", "text/plain": [ "<Figure size 582.677x275.591 with 1 Axes>" ] @@ -378,7 +378,7 @@ "pgm = daft.PGM(dpi=DPI, grid_unit=GRID_UNIT, node_ec=NODE_EC)\n", "\n", "# data generating graph\n", - "pgm.add_node(\"a\", \"$A$\", 0, 1)\n", + "pgm.add_node(\"a\", \"$RV$\", 0, 1)\n", "pgm.add_node(\"z\", \"$Z$\", 0, 0)\n", "pgm.add_node(\"x\", \"$\\mathbf{X}$\", 1, 1)\n", "pgm.add_node(\"y\", \"$Y$\", 1, 0)\n", @@ -395,7 +395,7 @@ "\n", "# limiting graph\n", "x_offset = 2\n", - "pgm.add_node(\"a2\", r\"$A \\rightarrow a_c$\", 0 + x_offset, 1)\n", + "pgm.add_node(\"a2\", r\"$RV \\rightarrow \\lambda$\", 0 + x_offset, 1)\n", "pgm.add_node(\"z2\", \"$Z$\", 0 + x_offset, 0)\n", "pgm.add_node(\"x2\", \"$\\mathbf{X}$\", 1 + x_offset, 1)\n", "pgm.add_node(\"y2\", \"$Y$\", 1 + x_offset, 0)\n", @@ -411,18 +411,15 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The causal effect of $Z \\rightarrow Y$ is identified by comparing the outcome for units just above and just below the cutoff value, $A \\rightarrow a_c$.\n", + "We can see from the data generating graph (left) that the $RV$ is a confounding variable as it influences both the treatment $Z$ and the outcome $Y$. \n", "\n", - "Readers are referred to {cite:t}`steiner2017graphical` and {cite:t}`cunningham2021causal` who discuss limiting graphs in more detail. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - ":::{warning}\n", - "This section is unfinished\n", - ":::" + "If we tried to identify the causal effect of $Z \\rightarrow Y$ by conditioning on the running variable ($RV=rv$), we would eliminate any variation in $Z$ or $Y$ caused by $RV$. And because $Z$ is constant for any given value of $RV$, then the $Z \\rightarrow Y$ path would disappear and we could not estimate the causal effect.\n", + "\n", + "Identification of the causal effect of $Z \\rightarrow Y$ is done with a limiting graph (left). The $RV$ node is replaced by a subset of the data where $RV$ is close to the cutoff value $\\lambda$, hence the name \"limiting graph\" and the symbol $RV \\rightarrow \\lambda$.\n", + "\n", + "In the limit, this eliminates variation in the running variable and so breaks the $RV \\rightarrow Y$ path. The causal effect of $Z \\rightarrow Y$ can be estimated by comparing the outcomes of units just above and just below the cutoff value $\\lambda$.\n", + "\n", + "Readers are referred to {cite:t}`steiner2017graphical` and [Chapter 6](https://mixtape.scunning.com/06-regression_discontinuity) of {cite:t}`cunningham2021causal` who discuss limiting graphs in more detail. Chapter 20 of {cite:t}`huntington2021effect` also covers regression discontinuity designs, but presents simplified (and non-kosher, in his own words) causal DAG." ] }, { From 2b31999b3f98c10c383207ab19bb4b282e986d49 Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Sun, 5 May 2024 10:09:53 +0100 Subject: [PATCH 09/10] left -> right --- docs/source/quasi_dags.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index c6f88b05..6c2b942a 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -415,7 +415,7 @@ "\n", "If we tried to identify the causal effect of $Z \\rightarrow Y$ by conditioning on the running variable ($RV=rv$), we would eliminate any variation in $Z$ or $Y$ caused by $RV$. And because $Z$ is constant for any given value of $RV$, then the $Z \\rightarrow Y$ path would disappear and we could not estimate the causal effect.\n", "\n", - "Identification of the causal effect of $Z \\rightarrow Y$ is done with a limiting graph (left). The $RV$ node is replaced by a subset of the data where $RV$ is close to the cutoff value $\\lambda$, hence the name \"limiting graph\" and the symbol $RV \\rightarrow \\lambda$.\n", + "Identification of the causal effect of $Z \\rightarrow Y$ is done with a limiting graph (right). The $RV$ node is replaced by a subset of the data where $RV$ is close to the cutoff value $\\lambda$, hence the name \"limiting graph\" and the symbol $RV \\rightarrow \\lambda$.\n", "\n", "In the limit, this eliminates variation in the running variable and so breaks the $RV \\rightarrow Y$ path. The causal effect of $Z \\rightarrow Y$ can be estimated by comparing the outcomes of units just above and just below the cutoff value $\\lambda$.\n", "\n", From 245982d3d70c8476a1ff531c31b429e3ad5e6f69 Mon Sep 17 00:00:00 2001 From: "Benjamin T. Vincent" <inferencelab@gmail.com> Date: Sun, 5 May 2024 10:27:57 +0100 Subject: [PATCH 10/10] add admonition box about the parallel trends assumption + add glossary term --- docs/source/glossary.rst | 3 +++ docs/source/quasi_dags.ipynb | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/source/glossary.rst b/docs/source/glossary.rst index c6aedbb2..6f31530d 100644 --- a/docs/source/glossary.rst +++ b/docs/source/glossary.rst @@ -53,6 +53,9 @@ Glossary One-group posttest-only design A design where a single group is exposed to a treatment and assessed on an outcome measure. There is no pretest measure or comparison group. + Parallel trends assumption + An assumption made in difference in differences designs that the trends (over time) in the outcome variable would have been the same between the treatment and control groups in the absence of the treatment. + Panel data Time series data collected on multiple units where the same units are observed at each time point. diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index 6c2b942a..dff18e53 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -331,7 +331,11 @@ "\n", "The causal effect of the treatment upon the outcome is typically estimated by fitting a regression model of the form `y ~ time + group + time:group`. The interaction term `time:group` captures the causal effect of $Z \\rightarrow Y$. \n", "\n", - "We can note that this interaction term $\\text{time} \\times \\text{group}$ encodes the values of $Z$, which as we said above, is equal to 1 for only the treatment group at time 1. So another way to think about the inclusion of an interaction effect is that we are simply conditioning on all the observed data ($Z$, $\\text{time}$, $\\text{group}$, $Y$) to estimate the causal effect of $Z \\rightarrow Y$." + "We can note that this interaction term $\\text{time} \\times \\text{group}$ encodes the values of $Z$, which as we said above, is equal to 1 for only the treatment group at time 1. So another way to think about the inclusion of an interaction effect is that we are simply conditioning on all the observed data ($Z$, $\\text{time}$, $\\text{group}$, $Y$) to estimate the causal effect of $Z \\rightarrow Y$.\n", + "\n", + ":::{warning}\n", + "Achieving an unbiased estimate is strongly dependent upon the {term}`parallel trends assumption`. That is, we assume that the treatment and control groups would have followed the same trajectory (over time) in the absence of treatment. This is a strong assumption and should be carefully considered when interpreting the results of a difference-in-differences study. In the case of the classic 2$\\times$2 design we cannot assess the validity of this assumption empirically, so it is important to consider the plausibility of this assumption in the context of the particular example. \n", + ":::" ] }, {