diff --git a/causalpy/pymc_models.py b/causalpy/pymc_models.py index 35fa50b6..57819687 100644 --- a/causalpy/pymc_models.py +++ b/causalpy/pymc_models.py @@ -453,11 +453,17 @@ def fit(self, X, t, coords): distributions. We overwrite the base method because the base method assumes a variable y and we use t to indicate the treatment variable here. """ + # Ensure random_seed is used in sample_prior_predictive() and + # sample_posterior_predictive() if provided in sample_kwargs. + random_seed = self.sample_kwargs.get("random_seed", None) + self.build_model(X, t, coords) with self: self.idata = pm.sample(**self.sample_kwargs) - self.idata.extend(pm.sample_prior_predictive()) + self.idata.extend(pm.sample_prior_predictive(random_seed=random_seed)) self.idata.extend( - pm.sample_posterior_predictive(self.idata, progressbar=False) + pm.sample_posterior_predictive( + self.idata, progressbar=False, random_seed=random_seed + ) ) return self.idata diff --git a/causalpy/tests/test_pymc_experiments.py b/causalpy/tests/test_pymc_experiments.py index 13f3a947..252908d4 100644 --- a/causalpy/tests/test_pymc_experiments.py +++ b/causalpy/tests/test_pymc_experiments.py @@ -63,7 +63,13 @@ def test_regression_kink_gradient_change(): def test_inverse_prop(): df = cp.load_data("nhefs") - sample_kwargs = {"tune": 100, "draws": 100, "chains": 2, "cores": 2} + sample_kwargs = { + "tune": 100, + "draws": 500, + "chains": 2, + "cores": 2, + "random_seed": 100, + } result = cp.pymc_experiments.InversePropensityWeighting( df, formula="trt ~ 1 + age + race", @@ -93,7 +99,7 @@ def test_inverse_prop(): assert isinstance(ate_list, list) ate_list = result.get_ate(0, result.idata, method="overlap") assert isinstance(ate_list, list) - fig = result.plot_ATE(prop_draws=10, ate_draws=10) + fig = result.plot_ATE(prop_draws=1, ate_draws=10) assert isinstance(fig, mpl.figure.Figure) fig = result.plot_balance_ecdf("age") assert isinstance(fig, mpl.figure.Figure) diff --git a/docs/source/_static/interrogate_badge.svg b/docs/source/_static/interrogate_badge.svg new file mode 100644 index 00000000..5b70fde2 --- /dev/null +++ b/docs/source/_static/interrogate_badge.svg @@ -0,0 +1,58 @@ + + interrogate: 94.2% + + + + + + + + + + + interrogate + interrogate + 94.2% + 94.2% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/source/quasi_dags.ipynb b/docs/source/quasi_dags.ipynb index dff18e53..c972bac4 100644 --- a/docs/source/quasi_dags.ipynb +++ b/docs/source/quasi_dags.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": { "tags": [ "remove-input" @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": { "tags": [ "remove-input" @@ -271,6 +271,87 @@ "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." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Propensity Score Weighting\n", + "\n", + "In this exposition we follow the presentation of {cite:t}`steiner2017graphical`. The idea they discuss is that we should conceive of the propensity score adjustment techniques as a primarily an offset aimed at balancing the existing degree of confounding. The focus is on recovering the condition of __strong ignorability__ such that $Y(1), Y(0) \\perp\\!\\!\\!\\!\\perp Z | X$. This constraint is phrased in terms of potential outcomes $Y(0), Y(1)$, which we won't define here, but basically we're saying the outcomes are independent of the treatment when we condition on the covariates $X$ which determine selection effects. Achieving this status removes the backdoor path between the measured covariates $X$ and the treatment $Z$ thereby giving us license to causal conclusions. They emphasise this point in that the PS (propensity score) is a collider variable we can use to disentangle the confounding influence of the covariates $X$ influencing selection into the treatment. \n", + "\n", + "> \"This general result is obtained because the PS _itself_ is a collider variable and, thus, conditioning on the PS offsets the confounding relation $X \\rightarrow Z$ regardless of the choice of a specific PS design— matching, stratification, or weighting\" -pg 176 \"Graphical Models\n", + "for Quasi-experimental Designs\"\n", + "\n", + "However, we have to be wary that the design assumes all relevant variables are measured in $X$, it cannot account for unmeasured confounding. In this way, we try to recover the conditions of an RCT using PS but need to be wary of unmeasured confounding. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABvQAAAJRCAYAAACa1FDJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAB7CAAAewgFu0HU+AACo9UlEQVR4nOzdd3gU1dvG8TuNkJCQ0EKXLh2lqKAIKiiIoogNsFBFQaz8VLBjA+yiWFCQImJFsYPSO4jSpHekt4QSQsqe94+8O2azu+mbnWy+n+vykuxOOdtmzpx7npkgY4wRAAAAAAAAAAAAAFsK9ncDAAAAAAAAAAAAAHhHoAcAAAAAAAAAAADYGIEeAAAAAAAAAAAAYGMEegAAAAAAAAAAAICNEegBAAAAAAAAAAAANkagBwAAAAAAAAAAANgYgR4AAAAAAAAAAABgYwR6AAAAAAAAAAAAgI0R6AEAAAAAAAAAAAA2RqAHAAAAAAAAAAAA2BiBHgAAAAAAAAAAAGBjBHoAAAAAAAAAAACAjRHoAQAAAAAAAAAAADZGoAcAAAAAAAAAAADYGIEeAAAAAAAAAAAAYGMEegAAAAAAAAAAAICNEegBAAAAAAAAAAAANkagBwAAAAAAAAAAANgYgR4AAAAAAAAAAABgYwR6AeTgwYNq0KCBGjZsqEOHDvm7ObmWmJioV199VS1btlSpUqVUr149Pf/880pMTPR30/Ll7NmzatOmjapVq6YNGzb4uzk+t2LFCt1yyy0677zzFBsbq2uuuUbLli3zd7MQwIwxmjlzpq699lpdddVV/m5OkTB69GhFR0frtdde83dTAPjArl27NHToUMXExGjXrl0uz+W3XzJ16lTFxMTowQcfLKDWwk4OHz6spUuX+rsZPrN8+XL17t1bERERbs+lpqZq+vTp6tixo9f+xJAhQxQTE6Np06blar3r16/XPffc43G9Be2XX36RMcbn6wEA2EtSUpLGjx+vpk2b6vnnn3d7/vXXX+cYsJjK73gx4weBI1DHbA8fPqwRI0aoYsWKmjdvnstzxhjdeOONKl++vNtzRRWBXi6MGjVK4eHhCgoKcvsvJCRE0dHRatiwoe6++24tXLgwy2Vt2bJFAwYMUI0aNRQdHa2KFSvqiiuu0OjRo7Vhwwa99NJL+umnn3LVvsWLF2vz5s3atGmTFi1alJ+XWuhOnDihK6+8UpGRkVq1apVmzpypgwcPasSIEbrxxhv93bx82bBhg5YtW6Z9+/bp119/9XdzfGrSpEm65557NHbsWG3evFldunTR77//rrZt22r+/Pn+bh4C0Ny5c9WyZUt17txZv/32mxwOh7+bVCR89tlnOn36tCZPnuzvpgC2s3HjRj3++ONq1aqVYmNjFRsbq3r16unGG2/UF198obNnz+r06dPq2rWrv5vq5uTJk+rVq5fq1aunN998UydPnnSbJr/9ki+++EInT57Up59+WhBNDmiDBw9WWFiYx2OH0NBQxcbGqlmzZho4cKDWrl2b5bL+/PNP9ejRQ1WqVFF0dLSqVKmizp07a8yYMdq6dasGDRqk9evX56u9EyZM0IMPPqi6devmazk5lZycrClTpuimm27Seeedp4iICFWrVk0tW7bU8OHDrcB51KhR+u233/K1rr1796pbt25q166dJk+erKSkJJfn//jjD1155ZW6+eabNXv2bK/9iUmTJunkyZP6/PPPc7zerl27qmnTpvrkk0/c1usrXbt21Y4dOwplXQBgB3Yfr/Pk1KlTatq0qdLS0vK9rPfee0/16tXTgAEDvPYHJk2axDGgjXz55ZcKCQlx+65u27YtV8vZu3evW3+zZMmS+uqrr6xp8jtezPhBYAjEMVtjjAYOHKjatWvr+eef1+HDh92mOX78uH744QcdO3ZM3377rR9a6QMGuZKammo+/vhjI8lIMtHR0ebWW281DzzwgOnatasJCwuznhs4cKBxOBxuy5gxY4aJiIgwN9xwg9m4caNxOBzm9OnT5ttvvzXNmze35v/xxx9z1bbTp0+bbt26mW7dupnTp08X1EsuFHfffbcpX768y/s1ZcoUI8lERESYlJQUP7Yuf9LS0ky/fv1Mhw4dzP79+/3dHJ/ZtGmTKVGihBkzZoz1WGJiomnatKmRZF5++WU/tg6B6syZMyY1NdV06NDBSDLt27f3d5OKhK+++sq0atXKfPXVV/5uCmAbx48fN7179zZBQUHmoosuMl988YU5dOiQMcaY5ORks2jRItOjRw9TtmxZU61aNXP++ef7ucXuHA6HSUxMNJMmTbL6kzt37nSZJr/9kvnz55uLL77YZX8P786dO2eeffZZ6/OoUKGC6dWrlxkyZIjp2LGjCQ4ONpJMcHCwGTFihMdlfPjhhyYkJMQMGDDA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6GhrmTt37nSZZuHChaZkyZLm008/NampqSYxMdFMmjTJREdHmxtvvDHH61qyZImJjIw0l1xyiTlw4IBJTU01X331lQkNDTWSzM8//5zr9j/33HNe38utW7eaKlWqGEmmd+/eLs8lJyebQYMGud1g/ttvvzVt2rSxHu/du7eZM2eOiYmJMVWrVjUlS5a0npsyZYrbOg8cOGBatGhhLrnkErN+/XrjcDjMX3/9ZWJiYowk8+qrr7pM/+mnnxpJpkaNGi6Pp6Wlmf79+5sKFSpkeWPODRs2mNq1a5sbbrjB7NmzxxhjzF9//WWaNWtmJJmePXtaN2ROTU01jz/+uNsyH3roIRMeHm6qVatmgoKCjCRTrlw5Ex8fn4NP4D/Tp083pUqVMk8//bQ5efKkSU1NNdOnTzdlypQxwcHBZsyYMV7nzeo1ZsfTvJs3bzadOnWyXo8ks2HDBpfXWL16dWv6L7/80px//vnm999/N6mpqWb//v2mR48eRpI577zzzN69e61pk5KSTOvWrU2JEiXMb7/9ZoxJ/65dcMEFRpK57bbb3Nro7XNetGiRad26tdXG9u3bmz179pjatWubypUrm8jISOu5vn37mrS0NHPXXXdZn5fzufDwcLN9+3a39eb0dX388cemSZMm1vKee+45M23aNBMREWGqV69uwsLCjCQTFBRkFixY4LYe5zYttzeozs02Ib9tPHLkiGnatKmpUqWK9V3ZsmWLufTSS01wcLDX7Uh27S9Xrpzp37+/OXjwoHE4HGbChAnWzajnz5/vMn1CQoLp1KmTOf/8882KFSuMMcbs27fP3H777UaSadKkiTl06JA1fXJysnn77bet13z55Zd7vNnwv//+aySZ1157zTgcDmOMMUePHjV169Y1ZcuWNX/++acxxphVq1aZ6tWrG0nm8ccft+afMWOGufDCC12+h5999pmJjY21HrvrrrvM5MmTrRule9quGmPMI488YiSZF154waSmppoTJ06YXr16GUmmZs2abu3fuXOn132P8z245ZZbzK233mpt4+bPn2/OO+88I8n069fPZfovvvjClCpVyvz888/G4XCYkydPmjfffNOEhYWZhx56yMsnCeTNFVdcYX1/M98gPC/Gjh1rIiIizJgxY0xSUpI5d+6c+eSTT0x4eLgpWbKk+fbbb61p16xZY2699VZrn1ajRg3z77//mkaNGply5cqZsmXLWm3r37+/x/UNHz7cBAUFmRdeeMEkJiaa06dPm+eff96EhIS4/S5z2i/xtj/49ddfTbt27az2etveDh8+3ERHR5tp06aZ1NRUc/r0aTNy5EgTFBRkYmNjzeLFi61p586dazp16uSy7Vq3bp2pUqWKqVixokvf9sUXX8zVZ5Hb7XV+91HZyWq7e+bMGau/EBYWZo4fP+7yOurWrety7HDppZeaZcuW5boNGc2ePdtIMsHBwebs2bMep3E4HKZ79+7W98HhcJj9+/ebDh06GEnmkksusfZZ2Zk3b57V/gsvvDBfbTcm/bNs2bKladOmjdm4caMxJr0vd+WVVxpJ5sorrzSnT592m2/u3Lluxw4ZeTsueeONN0zDhg1dvh+ZpaWlmTvvvNOEhYWZjz76yKSkpJhjx46Ze++91+qneFrv+vXrTd26dc2HH35ozpw5Y86cOWP9ZkqWLGlmzpxpjMn5vj6zd99912MfFgAClZ3G6zI7fvy4KVWqlPnwww+NMcacPHnSREVFGUnm/PPPz9F+dfny5SY2Nta0bdvWGkP4448/TOXKla39Tcb91DfffGOaN2/utS+yYsUKU6pUKY/7tzNnzpgbbrjB437k6NGjplq1aub+++83p06dMqmpqWbevHmmQYMGJiYmxq3dnvqYqampZujQoS59vrlz55qXXnrJlCxZ0lStWtV6PCIiwmzcuNGsWLHClClTxlSqVMl67ySZe+65x22dCQkJpl27dmbIkCHmyJEjJi0tzXz33XemTJky1jGvMcbs3r3b9O3b1xrHkGQSEhJM27ZtTenSpU1cXJz1eIcOHdzW4228KKfat29vvff9+/e31vX11197nH7BggVGklm4cKHLe5v5O5+T8WJjvI/n5WT8wOFwmD59+hhJZuTIkSYpKcns37/fXH311dZYV0xMjImNjTWPPfaYNU9u+5jZ9eFy+lk7jRo1ylSsWNEsXbrUGJP+fR42bJiRZN566y2P6/DmySefNKVLlzaff/65SUxMNAkJCea6664zkkyrVq3cxlAWLVpkKlSoYO655x5z5MgRY4wxc+bMscZInO+TMemf4ZAhQ6zfqCSzZcsWc/PNN5vIyEhTuXJl6/H69eublJQUj23M6vgvt20yJn1c9a677vL6mSxYsMA6bnT+5vP7OzPGmPfff98EBwebQYMGmfj4eHPu3DkzduxYl7H+jK/xiSeesH4fmbc/+T3+27VrlznvvPNM5cqVzZIlS0xaWpr5448/TNmyZU1wcLCJjIw0MTExpmzZsmbVqlUeX09eEejlUVYdhClTplhfhi5durg9Hx8fb22kMv7XsWNH8/fff+e5TT///LPXDXTnzp1NixYt3OaZOHFirgK99u3bG0lm3LhxLo/feOONRpLp0aNHrtudVaBnjLEGkj3tOGbOnOm28UhMTDTGGKvDctFFF5kbbrjB/PPPP8YYY06fPm1atWplJJnWrVu7LC8lJcW0bt3aVKpUyS0Mc4YoJUqUMCdPnrQez27H/c8//3jdcCYmJprzzz/fnHfeeW6DKQcOHLAO0IcOHeoyz+rVq61lXnPNNeb555+32rR06VKrE+fsJObEP//8Y8LDwz2GWb/99pu1vh9//NHj/NntHLKS1bxvvPGG9fwdd9xhDh8+bBYtWmQ6duxo3n77bWNM+qBoZGSkWb16tcu8KSkppk6dOkaS6dq1q/W48zO79NJLXab/7rvvrMEt5/co8zyZP+djx46ZI0eOmMsvv9xI6QOEvXr1sgbakpOTrcHDsLAwM3DgQPPcc8+ZU6dOGWOMWbt2rdXBeOKJJ1yWnZvXlZiYaJKTk60dYLt27UzPnj3N7t27jTHGHDp0yNpuefqd5jXQy802IT9tdDgcpl27diY4ONgsX77c5bkjR46Y0qVLZ7kd8WTXrl2mbNmypnPnzm7PVapUyeM24s477zTBwcFm3bp1Lo+npaWZyy67zOp8OkP4zO9Hu3btPLZl6dKlpnHjxi6dVue2sVevXi7TvvXWW0aSqVSpkttyunbtaiSZhg0bmt69e5vU1FQzfvx4c/nll7v8vi666CKP29UdO3ZYv7fk5GTr8ePHj1udMWcI7pRdoPfEE0+Y1q1bu70nc+bMsebLGHI0aNDAdO/e3W05zz//PIEeClzGcGvRokX5WtYff/xhgoKCXMJ2pw8//NDaD/z111/GGGPt9x9++GEjycTFxZmuXbuaX3/91doWDB482EgyoaGhbuHEJ598YiSZIUOGuK3P2Xfy9LvMql9iTPb7g1tvvdXr9tbZpvfff9/tOecBcmxsrHUyinNf261bNyPJNGjQwHTp0sUsWbLEGJO+v3Nu1zxt87KS2+11fvej2clqIOTFF1+0nh88eLDb83v37rVOOsr436233mq2bduW67YYY8zQoUONJFOrVi2v0zgHTqpUqeLy+N9//221YdOmTTla39ixY12OefLD4XCY9u3bm+joaJdQ1pj0gUdnH+nmm292mzevgZ4x6YOOzv6Bp0Dv6aefNpLM66+/7tZe53cu83pPnz5t6tSpY9577z235d19991GkqlYsaJLvzSn+3qnjMeIGzZs8Pi6ASCQ2HG8zunVV181pUuXdunXDRw40FpP5mOtzA4ePGjKly9vqlat6jZmNWvWLJeB6cycY2Se+iLOINPTfB999JHHsZBRo0YZSS7jY8akn2BTvnx5t+V462Pu3bvX/PDDD1bbe/ToYV588UVrzGTJkiVWmHHLLbeYDh06WCFMWlqauffee40kExISYs3jdPvtt5tbbrnFrS3Ok3iDgoLMqlWrzLlz50xaWprLybi33367mTp1qtVXHD16tNf+T0EGehs2bLCOvS+++GKP03fr1s1ccskl1t9ZfeeNyXq82Jjsx/O8jR8YY8ykSZOMJNOmTRuXx/fv32+FLJMmTXJ5Li99zOz6cDn9rI1JH6eLjo42jz76qNv0ffr0yVWg5zxx6osvvnB5POM4asaxWedv2FNouW7dOitEevfdd40x6d/xpKQk8/3331vL69q1q3n33XdNUlKSMSa9ECC7bUhWn3Fu2+SUcZvjiTNsdP7m8/s7mzVrlgkKCjLXX3+927qefPJJr68xISHBOuE14/Ynv8d/zhMJM4+HOsfsYmNjc11ok1MEennk/ECbN29udu/ebRwOhzl9+rQZO3asCQ8PN5L7mb8ZpaWlmXfffdeq+nL+FxwcbO677z63HWJObNiwwesGun79+iYqKsrs37/f5fHU1FRz77335ngdzjMzMp/F/sQTT+T5AD27QK93795edxxZbdBvu+02I6VXxGQ+Q8HZIcl81pBzJzx8+HC35X333XcmNDTUVK9e3SV8y27HnZiY6HWj4hzA8TT4Z4wxL7/8svW92Lp1q8dlfvTRR27zOSsUczP47ey0/vLLLx6fd55dU6tWLbeBeWN8F+hl3AnOnj3b4/zdu3d3C16cnGFacHCwdca7c4fbrVs3l2k3btxorevff/91eS67z9k5MNawYUO3cHbz5s3WcidMmOA2r/NsphtuuCFfr8sYYy6++GIjpVd2ZjZ8+HAjyVxwwQVuz+U10MvLNiEvbXS+/9dee63Hdtxxxx1Zbkc8cW5bnGe+Z/S///3POmBwWrhwYZad6sWLF3v9nOfPn291IjP+lp369OnjFsA7v1MPP/ywy+O//vqrkdIH+DNzDpiXKVPGOqvKE+f2MfN2dd26dVbHI7OKFSsaSeazzz5zeTyrQO/w4cOmZMmSHk8uOHv2rDVfxt9ieHi4Oe+889zCi2PHjrmdFQbkV8azA3MaTHjicDhMvXr1jOR5wNzhcJj69etbBwoZvf/++9bv7uDBgy7PZdx/ZBxEio+PNzExMSYkJMTs27fPbX2///67199lVv0SY7LfHzz++OMet7enT582MTExJjQ01CQkJLjNd+bMGavfe/fdd3tcZr169dwGYjKevHXixAmPbcosP9vrvO5Hs+Nc33XXXWf2799vHA6HOX78uBkxYoR1ItYVV1zhdkKR07lz58xzzz1nHWc4/ytRooR5+umnzblz53LVHmd16pVXXul1mh9//NFI7hV1GbffOQ3CX3rpJWuevASiGTkHYz2dhGaMMVOnTrXWNWfOHJfn8hPoGfPf9yPzgOfWrVtNaGioKVOmjMeKx48//tjjeseMGWNCQ0PdvvfGGPPBBx9Y82TsZ+V0X++UsX+b234eABRFdhyvMyZ9/K1mzZrmgQcecHk8Y4jhaaA6I+cx7OjRoz0+77wKkKdgznlSlqexNeeJup7m8zYW4gzSPJ307enqEln1MU+dOmW9B5nDH2OM6dmzp5HST/7KXO20a9cua17niXPGpJ88LXkOODLuGzMeb//yyy/W45s3b3aZ58yZM9axw3fffefyXEEGesYYq7pLkttVg7Zu3WqCg4PNV199ZT2WXaCX1XixMdmP53kbPzDmv1DD0/ijs7rz6quvdnk8L33MrPpwuf2sDxw4YCTPJ2OvW7cux4Ge85isatWqbkHYyZMnTe3atU1wcLCZMWOG9bizAtPTCZDGGHPPPfcYSSY6OtolDMr4GXoaw3Je3c5b27P6jPPapuz61d5+83n5naWmplon7WU+yd+Y9N9FVq/RGdp52v7k5fhv9+7dHo/TjUk/Id753NSpU92WWRC4h14+HTp0SPfff78aNGigqlWr6rnnnlOLFi30+uuva/ny5YqLi/M4X3BwsIYMGaItW7bonnvuUXBw+kfhcDj04Ycf6qKLLtK+ffty1ZaSJUt6fa5+/fo6ffq02rZtq5kzZ1qPh4SE6MMPP8zxOiZPnqyJEye6XC/8+PHj2rlzp6T06xXbhfO607Vr11ZoaKjLc9WrV5f0301BnZz39rj44ovdltetWzedPHlSO3bsyPK9zszbtMYYTZgwQZJ0wQUXeJymV69ektK/F862Sf+9Nkk6//zz3ebz9vq82bVrl3U98uzasnPnTi1atChHyy0IJUqUsP7t6X49ycnJ+uWXX7Rq1SrrOtAZ//vxxx8VHh6usLAw63rS/fv317hx41yui+1wOPT3339bf+f2u+y8x19cXJzbZ57xWvO1atVym7dKlSqS5HIfuLy8Lum/70ZBfC9yIi/bhLy00Xk/gI4dO3psR506dXLV7uTkZH3zzTeSPP/eX3vtNZ06dUpfffWV9dj48eMlef+NXHrppdZnPXnyZJfn2rVrpwsvvFDGGL333nsuzx0/fly//fab7rzzTpfHn3zySX344Yd6+umnXdq9bt06SZ7fW+fvpVmzZipfvrzHdkret0tNmjTR119/rV9++cXl8TVr1ljry81v49dff1VSUpKGDh3q9h2uVKmSwsPDFR4e7nId//r162vPnj1q166dy72AypYtq1dffTXH6wZyIuNvwdM9UnJqwYIF2rp1q8LCwtSwYUO354OCgtSjRw9r2t27d1vPObeJMTExqlixost8zm2i5LpdnDhxohISEtSoUSNrH5JRVtvE3PRhcjP/N998o4SEBNWqVUulS5d2ez4yMtK6b/NXX33lcg8753tQpUoVRUVFuczn7T3ISn62177ej27dulV9+vRRvXr1VKNGDY0dO1bt27fXuHHj9PvvvysiIsLjfCVKlNDzzz+vDRs2qHv37tbjycnJeumll3TllVfq5MmTuWqHlH5/Om+uvfZaTZw40e2+Ec77xEg53ycU1G9Nyv7z7d69u7W+zJ9vfnn7/o8dO1apqalq27atx2m8/Sa/++47paWlqVq1am77yccee8zaT2bs6+V0X+9UtmxZ69/e7uUJAIHITuN1Uvo94Xbt2qXBgwe7PH7hhRfqkksukST98ssv2rFjh8f5jx49qs8//1yS9+Pi2rVre11/fvuAmTnvX9ajRw9rP+jk7V7p3jjHUyTpvPPOc3ve2W+rWLGiy7SSXPrCGcdUnPdNu/XWW932sZdccom1j3WOXUhZj7VFRkZa+9SCHFPx5H//+5/179dee83lubfeeks1atRw6Q9mx1f9fyn9vmuS3O6jJv33fdy7d6/L4wXZx5Ry/1nHxcWpTJkyWr58uTp16qRNmzZZy2rSpIkefvjhHK33p59+UkJCglq1auX2+qOjo7Vt2zYlJCTohhtukCSdOXNGX375paTsx15PnTql77//3no8u3HgatWqWfPlRn7alFd5+Z399NNP2r59u0qXLq2LLrrIbZnZjQlm9R3Oy/Gf83svuX/3y5QpY923MPN3v6AQ6OVTvXr19OOPP2rz5s2Kj4/XkSNHtGTJEg0dOtRtJ+NJXFycxo0bp7///tslrNi8ebN69uyZq7Z42ng6jRgxQjExMdqxY4c6d+6syy67TD/99FOuli+l39iyd+/eCgkJ0ZIlS3THHXfo1ltv1bFjxySlh1R24ex0eeIcLMl8g1lnoJN5MCnjfJnDwex4+1z+/fdfa2cSExPjcZqaNWuqQoUKkqTVq1dbj2f12pztlGTddDg7CxcutD47b23JGHpkbIuvZfW9ltIHJpKSktS9e3fFx8e7/XfmzBklJSUpKSlJrVq1kpT+/txzzz2qUaOGDh8+rBEjRqhNmzaaO3eutdzcfpez+kwyhpKehIWFSXL9vPLyurJrR26/FzmRl21Cbtt45MgR6zvn6UbcUvbfk8y2bNmiM2fOSPL+e3feGNlpwYIFkrz/RiRZHQtPv5EHHnhAUvqNiTMeaIwfP149evSwbgjsVLZsWd17770qV66cdu7cqf/9739q166d1qxZ43X9OX0fsprulltuUZs2bZSUlKRPPvlE7dq1c7nBem5+G87w8ZtvvvH4PXZ+hzOG6a+++qrCw8P1119/qXXr1urSpYsWLlyY43UCuZFxAODw4cN5Xk5Otg/e9qM52SZKrtvF33//XVLetom53V7mdP7cvAdJSUkuB855eQ+ykp/tta/3o23atNHMmTO1bds2nTx5UocOHdKcOXN0zz335KiPWbt2bX377bdasGCBmjdvbj2+ZMkS3X///Tlux4kTJyRlHeiFhISod+/eatKkiU6ePKm33npLbdq0sQ76pZzvEwrqt+ZwOLR48WJJ3j/fkiVLqmnTppIKvs/q7fuf19/kunXrFBcX53EfeerUKWs/+eijj2a7LG8yHpMeP348V/MCQFFmp/E6SRozZow6dOigBg0auD133333SUrfz73//vse5583b551Ukxe+oDZjSPl1oABA9SkSROdOXNGQ4YMUb169TR27FglJSXlelnZtS2rMRXneIrk2kdzHouuWLHCbR+bkJBg7WMzBhQFPdaWV1dccYVatmwpSfr555+1ceNGSen78YkTJ+rhhx9WSEhIjpfnq/6/9N9J6xmDUSdnPzHzSYsF2ceUcv9ZBwcH6/XXX1dwcLBmz56tJk2aqGfPnlq7dm2O1yllP4YcFBTk8txff/1ljQV568dmDAd9OQ5cEG3Kq7y8Fmdfu0aNGh6/j9l9x/O6bfT2vtasWdNaZm6++wWFQM8mmjVrptmzZ+vjjz+2dkYLFy4ssEqoCy+8UKtXr9aNN94oKf2gv2vXrrriiitczhLPifXr1+vKK6/UyJEjNWzYMM2ePVtt27YtkHb6W0JCgqT0M598LeMZXYmJiV6ncw6AZDyT3R9tyTgQ48u25FZ8fLwk5foMubNnz+rxxx9X27Ztdf7552vx4sV68sknfdDCvMnr6/IHX28TMlZvZReO5pTzty7l/Pfu/Czy+nvt1auXypcvr5MnT2rSpEmS0nfy48aNcztL0+n48ePq37+/brzxRl111VVaunSpBgwYkKP25sf48ePVqFEjHTp0SD/++KMmTJjgtZOalbx8jzt16qQVK1bo8ssvl5Re5deuXTt1796dgUgUOOfZ0JK0bdu2PC8nN9sHKf/7UedBQ0FtEwtCYb8HBdUWO/VpcuPyyy/XypUr9eKLL1oHk1OnTtWePXtyNL/zdWc+uS2ztLQ0jR49WhdeeKHCw8M1Z84cjRkzJtftzfhby1htlluHDx+2BjPt9Pnm9TcZHx+vY8eO5WnwM6fyEooDAP5TEON1a9as0fz587Vs2TKPV+B56KGHrP35hAkTdPbsWbdlZBw0tkMfMDo6WsuWLdPQoUOtq64MGTJEjRo1sq4A5U9FaUzFk6FDh0pKHzN44403JEkffvihwsPD1b9/f382zYUzjJ45c6YOHDjg8tyff/4p6b8Kr4wKqo8p5e2z7tevn+bMmaNmzZopLS1NX3zxhZo3b66BAwfmuF+W2zHknIy9RkVFWVc7KYx+rB3b5Indjn8rVapkZSwTJ050ec5ZmRkdHe1yNbOCRKBXyB5++GGXgeTMBgwY4FIJsWLFigJbd82aNfX9999r2bJl6tChgyRp/vz5atu2rXWWbnamT5+uiy66SG3atNGPP/5onf0aKJxnKS9dujTL6ZzVR/mRsRrHU5rv5DwIz3jJqYKWk7ZkHAzwZVtyy3lm3apVq7IsLc9c8XXRRRfpl19+0bJly9SzZ89cV176Wl5elz8UxjYh42Cjs6OWXxkrErL6vZ86dUrJycmS/vud5PX3WrJkSd1zzz2SpHfffVfGGP3666+qU6eO6tWr5zb9li1b1KxZM+3cuVMrVqxQly5d8n1mXXYcDod69uyphx56SN98842eeuqpLCtcsuP8Hs+bNy/L6TJ/j5s1a6YFCxZo5syZ1pmJ3333nTp06JDvS7UBGd16663WvzNfajY3nNuHxMREr9VHBbkfdW4XC2qbWBCc78Hu3bu9nlFbWH2J/G6v7aRfv35e38+QkBA9/fTTeuyxxySlD/g4B06y4zxJI6tQ7OzZs+rQoYPeeecdzZkzR4MHD/Z6SdDs1K5d29qe79+/P89n99qp/5xRXn+TkZGRSk1NtaoOvclPfy/joJTz8j8AAHe+HK9755131KhRI506dcpjVXZCQoJ1mcUTJ0643HLFyRfHxflVqlQpvf7669q6dasGDhyokJAQ7dy5U9dee222+zZfy+uxqF3ceuutqlGjhiTps88+0+7du/Xee+/p3nvvdbu6jz/deOONGjFihJKTk9WrVy/t2rVLZ86c0ejRo7V48WJ1797d7aTkguxjSnn/rNu3b6/Vq1fryy+/VL169eRwOPTxxx/rlltuydF6neNKK1euzPISoc7Az479WDu2yRM7Hv+OHz9el1xyiWbMmKHXX39dp0+f1q5du9S/f3+FhYVpwoQJObo8fl4Q6BWy1NRUzZ8/P8tpBgwYYP2gCqok3jmILKWfIfvHH39oypQpCg0N1b///quPP/4422UcPHhQd955p0JDQzVixIgCaVdOOIOW7M4gLojLfTrve/PFF19Yl+PL7Pvvv892J5ETDRo0sD7nrC4n5wxzrrzyynyv05uMl2z01hZnO4KDg9WuXTuftSW36tatq5CQEJ09e1YffPCB1+leffVV674hAwcO1D///KOnnnrK5b4idpKX11XYCmub4OzESv9dSiG/6tata51dmdX1/Z977jnroM75O1m2bJnXzlp2v9fBgwcrNDRUmzdv1qxZs/T+++9ryJAhHqft0aOH9u3bp5dffrnA73fgzbvvvqsvvvhCd9xxh1q0aJHv5Tnvq/DNN994rQZ3OBy69957rb8z7q+uueYarVy50rp33urVq63r4wMF4brrrlPjxo0lpV/GIzdndf7777/W5ctzsx+NiYlxuVRiXji3i+vXr8/XcgqS8z04c+aM/vrrL4/TON+D+vXrq3Llyj5vS36213Zx+PDhbPd9Ge/zkdNjB+f9abz1d6X0e7nOnz9fDzzwgNdLe+XG448/bv37008/zdW848aNk8PhUHR0tHV/C3/3nzNy/iZz209x7iedZ957snTpUuu+23mR8cSwSpUq5Xk5ABDofDVed/ToUU2bNk1PPPFElidoPvzww1b1Seb7rku+OS52ysm4W+Yxt8cff9waXK9evbo++ugjLV++XFWrVlVycrJefvnlAm1jbjn3sZ988onX+wyfPn3a5bLWdhIaGqqHHnpIUnpVVJcuXXTs2DE9+OCDfm6ZuyFDhqhly5aKiIjQxRdfrPPOO0/ff/+9PvjgA3399dduv5WC7mPm9rOOj4+3TogLCgrSbbfdpvXr11vv7c8//5yjwN45hnz8+HGv4xRnz561rgbmPLlNsk8/Nj9tylgYkZttR144t387d+50uYWNP5UtW1bPP/+8mjZtqmnTpqlatWq67LLLFBcXpyVLluQ4GM4LAr08ys+XMavBecm1U1BQl637888/XS5bJ0l33nmnda+NrFJ4p4ULF1pl/96u1Zxd6OaJ8wwJb++p84yHgwcPuj2XcYDYWUWTH85y2cOHD1sb94wOHjyo5557Tp07d7Yec35eub1UTlhYmFV2/vvvv3t8fcnJydq+fbvKli1r3UTVF1q3bm3tADPflNbJec3uq6++WlWrVnV5LuNZLnn5bTg7tXm53FB0dLTat28vKT18yXgfPKetW7dqxowZqlu3riRp1qxZkrx/jyX373JeP+e8ysvryo+8vD5fbRMyq1Spki688EJJ6RWBWS0zp2fXRUZGWjcS/+WXX1yu1e60YMECbd682bqPZe/evSWlnzH5448/elyu83fSp08fj89Xq1ZNN910kyTpqaee0qZNm9SlSxe36Y4cOWJdjz0339P8ys9vQ3L//nTp0kUhISFKSkrSbbfd5vGM17feesu67r4k/fbbby4DzEFBQXrssces7XNO9ldATgUHB1uXT0pMTLTudZmdxMRE676WknTDDTeoTJkykqTJkyd7nMe5fejRo0e+Q/prr71WknTo0CHrfnHe5Pas47zu7+644w7roC6798DbNrKgFMT2uiDl9yA2u2MHZz8qJCREbdq0ydEymzVrJinrG7XnZZ+Qldtuu03XXXedJGns2LFeg9/MvvrqK6WmplrfTefnu379epd7sGa0ceNGlShRwuMlnnzB+Zv0dMyVWcbfZNeuXSWlX1565MiRbtOePXtWQ4cOVadOnfLctoyXgXL2pwAgkNltvO79999XXFxctvukKlWqWPfmc16iM6OrrrrKCvy+/vrrLJeV2/5fTsbdMo+5JScna8aMGS6PtWzZ0gojMx+3FfaYinMf6zwR2dOY4fDhw13uc51X+X1t3r6zAwYMsK6Ys2HDBvXs2dPjSXHO+fP63c/PmNypU6d0xRVXaNCgQfrll190+PBhHTt2TEuXLtV9993nMfgu6HGHvHzW3333ncs6SpQoobffftvqK+Vk3KFLly7W8c///vc/HTlyxG2aRx55xDpmrFKliq6++mpJ6b9hT+/33r17debMGTVo0ECtW7fOtg05kdWYbX7alPHKV5m3HcePH7eCt4IYr3f2tR0Oh6ZPn57ltIVVdfv777+rd+/emjdvnlatWqX4+Hjt27dPX3/9tcsJv75AoJdHzkHJrMrxvfntt9+sagNPpk6dqjNnzuj666/P1Rcg4yVzMl9v2xjj8R5NzoT7ggsuyHb5zoGq06dP66WXXpKUfpbIuHHjrE7PwYMHZYzR22+/neN2Oy/36e2aw84bBi9YsMAq2U9MTNQrr7ziUlm4YcMGl42x86yM7K7vm/G9uvfee62w6oMPPtDNN9+s2bNna+XKlRo7dqyaN2+uXr16uZQkOzdghw8f1qZNm5SSkqJBgwZZ683qc3nhhRdUrlw5nTt3zuP926ZPn66kpCS98cYbLjdtznjGSVavz9N11z0JCgrSO++8o6CgIK1Zs8bjQNzUqVMVHh7u8bPNeMnWvNx/0PkeOjus33zzjX744QdJcjmz3tv9s0aMGKHg4GAlJSWpU6dOevjhh7Vw4UL9+eefeu+999S+fXsNHTrU6qQ4v8uvvvqqtczly5e7DOodOHBAy5cv15IlS1za6O1zdr7XnnZ+GV+Dpx2Zc2eT+fPK7euScva99/S9yPwZLF261OvNuJ3yuk3ISxufffZZSenXon7zzTfdpndehjE3Z+o8++yzVgfyzjvv1BNPPKHly5dr4cKFGj58uDp37qynn37amr5Hjx7WQdtTTz3l9lnv3btXCxcuVO/evbPseDnP+lq1apXuvfdejx3c0qVLW20bMWKEzp49K2OMZs2a5VKJceDAAf3000/Wvb+c37Xs7jXn3C5lfp+dn+nUqVOtG0Lv2bNH/fv3tyqXDhw4oEOHDunzzz+X5NqJc35/3njjDa1evVo1a9ZUv379JKVfkubCCy/URx99pL///lvz5s3ToEGD9Oabb7pUKZ46dcq63ExGudlfAbnRpk0bffbZZwoODtZ3332nAQMGZHlp14SEBPXt21fPPPOMdS+BUqVKafTo0ZKkH3/80ePZ3VOnTlX58uX14osvujyel/5Kv379rP7Ko48+6rY9ytj+zNvFrPolUvb7A2/bj/POO8+qwPr444+1efNml+fT0tL05Zdfqn79+nrkkUdcnsvLe5CV/Gyv87ofzUrG44W8HDuMGzdO06ZNy/J5SRo0aFCOb7x+xRVXSEq/T623wR/nPuH999+37s23ceNGde/e3ZrmwIED2rp1q1Wtmp0vvvhCrVu3Vlpamq699lotW7Ysy+m//vprLV261OU45uGHH7ZOZnrsscfc2r9s2TLt2LFDw4cPtyoRnTKeMOLpcqPO571ditTb9/+RRx5RVFSUHA6HHnzwQbdBKG+/yfvvv9+qmnvyySd144036ueff9bq1av11Vdf6fLLL1fz5s1dXkdO9/VOzt9ieHi4zwcXAMAO7DRed+zYMb399tvq06dPjm7zkXFM4rnnnnN5Li4uzrpf2eTJkz3uQ/NyXCz9N+723XffadOmTZLSx3keeeQR67L0R44c0ZEjR1z2cU899ZTb/sjbcVtWfcyM+9WsxlSyGk/JvJzLL7/cCip+/PFHtWrVSp999plWr16tWbNm6bbbbtOCBQt0++23W/Pkdawtu/Gi7CQkJHj8vkZHR2vgwIHW38776nmaP+P/M8tt/z/jmFzG+T3NO2rUKK1bt07bt2/XqlWrtHHjRm3evFnbtm3Tnj17PN5CJi99zMzjDsYYPfbYYzp06FCePuvt27frtddec2lXUFCQ1edynvyWlapVq1pXG9qzZ48uueQSTZo0SatXr9aMGTPUsWNHLVmyxGW9b7zxhsLDw3Xo0CGP25qpU6cqKCjIbTwuP+PA2Y3Z5rVN9erVs8atXn31Veu3OHv2bOvkBCl9vF76L6TNy2vp2rWrFbY+88wzbrfCyur4V8r6O5yX4z9jjPr27WtdOn/dunXatGmTtmzZou3bt2v//v2+vV2MQa4kJyeb999/30gykkxYWJj5/fffjcPhyNH8999/vzVv586dzW+//WbOnDljjDHm4MGDZtSoUSYiIsK0bdvWxMfH57hdDofDPPvss9ayn3/+eZc2XXDBBUaS6dmzp9m9e7cxxpg1a9aYGjVqmIsvvtgkJSVlu47Tp0+b6tWrW+uIi4szUVFR5o477jAjR460Hq9QoYL56KOPctTuLVu2mKpVqxpJJjg42Pzyyy9u0xw9etTExsYaSSYoKMhUq1bNREREmIEDB5o5c+ZY642JiTEDBgwwqampZt++fSYuLs5IMtWrVzf79u2zlpeWlmYeeugha75Jkya5rG/58uWmTJky1vMZ/+vVq5dJS0tzmX7Pnj0mNDTUSDIRERGmXLly5t1337WeHz9+vDV///79TWpqqsv8S5YsMTExMUaSefTRR82JEyeMw+EwP//8sylbtqx59tln3d6TTz75xFrmwIEDXZZ55MgRU6tWLSPJVK1a1ezfvz9Hn4Uxxrz77rsmODjYREREmAkTJpjk5GRz9uxZ8/rrr5vSpUubH374wW2e1NRUM3z4cKs911xzjUlISMjxOo0x5pprrrHmr1atmrnkkktMamqqSUpKMn379rWee/TRR825c+c8LuODDz4wwcHBHj+3Rx991GXaRx991HquZMmSpnLlyqZWrVpm3rx5Lt+nDh06mOTkZGNM1p9zfHy8adq0qZFkSpUqZTZs2OCyvk8//dRa7uDBg61lGmPMiRMnTIsWLYwkExUVZdauXZvn17VhwwZTokQJI8k0b97c5XM4d+6c6d69uzXvvHnzXOYdOHCg9VyVKlVM3bp1s/0c87JNyE8bhw0bZm0rXnjhBXPq1CmTkpJixo8fbypUqGAkmdDQUDN16lTz008/Zdl2p48++sgEBQW5vbfBwcHm/fffd5v+8OHDpnHjxkaSufrqq822bduMMcasX7/eNG/e3Fx33XXm1KlT2a63RYsWJiIiwhw7dszrNBnfi+joaFOhQgXTvHlzM2PGDOvxsmXLmjvuuMMYk76tbNasmdX+r776yuO+ad++faZSpUrWZ51x+/jDDz+4vAfVq1c3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atWqmfbt25spU6a4Bf7eTJw40fTr1y/LaY4dO2Z69uxpYmJiTKVKlcwTTzxhzp49a9LS0kzHjh1NTEyMeeyxx0xKSop55513PG5Pq1Sp4rLMF154weM24oUXXrCmGTt2rKlZs6aJjIw0nTt3tg6Yxo0bZ6KioswVV1zh9v1YuXKladKkiSldurQZMGCA2yC5s40XXHCBCQ8PN2XLljW33HKLx9+yM6DI2Cls3ry5+eijj9yCB6CgJSYmmilTpphu3bqZOnXqmFKlSplSpUqZOnXqmFtuucV8/fXX2f7Of/nlF9OpUydTtmxZExsba5o0aWKefPJJc+DAAZfp5s2b53E/V6tWLWOMsQ5YM+/vMw6ObN++3dx5552mfPnypkSJEqZJkybmscceMytXrjQlS5Y0HTp0MCNHjjQrV640aWlpOeqXeNsfTJo0yWN7+/fv7/YefPbZZ+byyy83MTExpnz58qZ58+Zm1KhRboNfkydP9rgfvOKKK8y+fftMyZIlPfZvc3IimvPzzOn2uiD2UZkNGjTI43vm7O8uXLgw29dw9913my1btpgFCxaYZ555xlx22WWmfPnyplSpUqZcuXLmmmuuMV999VWO3o/MnAfTn332mcfn09LSrP1rdHS0ue2226wD42eeecaUKlXK3HjjjebQoUN5Wv/atWvNsGHDTMuWLU3FihVNaGioqVSpkrnooovMU089ZZ2E6M3x48fN448/burVq2dKlixpatasaa699lqPJ6AdO3bM4zFAyZIlTWpqqvn+++89flYdO3Y0xnj/fmQ+MfDvv/82N954o4mJiTHh4eGmZcuW5sUXXzQ//fSTiY6ONtddd5156623zLp161zm27NnjxkwYICpUqWKKVGihKlTp4557rnnXAZ/c7qvz8w5SJfTk50AoCiy23hdxgHkjPuNV155xes8nvZTzv/mzp1rTXfu3DkzevRoU79+fRMWFmadULlo0SJzxRVXmIYNG5oHHnjAzJgxw5w8edKazxno9e3b1+P6f/vtN9O0aVNTsmRJ06JFC/PNN98YY9JPUK5Ro4YZPXq0yxhPxhPlpfQgq1atWua+++5z6/ca472P6W2Ma+HChebll1/22lc0xnjsK4aFhbn0Ic6cOWNGjBhh6tevb0qUKGEqVqxo+vbta/VpjDFmx44dHr8/JUuWNElJSdbJNJ7GdZy8jQt68+WXX3ocL4qKinLrW911111m1qxZLo+99dZbXr/z4eHhVtib3XixMZ7H5IzJ2fhBcnKy6dKli6lXr56pXr26iY6O9thvjoiIsI458trH/OWXX0zt2rVNuXLlzOOPP+42PpCTz9qY/wK9jL/NsmXLmjZt2pivv/46288us+TkZPPGG2+YRo0amRIlSpgqVaqYIUOGmCNHjnidZ8OGDeauu+4yVapUscbTevfubVavXu0ynbfPsESJEmbLli2ma9eubs+FhISY8ePH53rMNqdtyvye9+/f38TGxppy5cqZAQMGmKNHjxpj0n/bN998sxWEFcTv7NChQ2bw4MGmcuXKJiwszJx//vnmvvvuM7t27TKhoaHm0ksvNc8++6xZsGCBSU5O9hi2hoaGmrlz5+b7+G/Tpk2mXLlypkmTJiYuLs5ERERkOT5ckIKMKYA7EwIAAAAAioydO3eqfv36uvXWWzV16lR/Nwc+kJiYqHLlyqlJkyZauXKlv5sDAPCjPn36aNKkSRoyZIjeffddfzcHAWLBggV68cUX9euvv7pdVtbhcOjUqVPasGGDevfurQceeCDH9ywH7O7+++9Xs2bNrMuuZpSSkqKjR4/qhx9+0KBBgxQfH2/drqMgcA89AAAAAChmatWqpQceeEAzZszI0z2QYX9ffvmlUlJS9N577/m7KQAAP3PWczjvwwzk17///qubbrpJL7zwgsd7RAYHBysmJkZt2rRR165dFRxMDIHA8MEHH2j27NkewzxJCgsLU+XKlXXvvfeqXLlyCgoKKtD180sCAAAAgGJo1KhRatGihZ555hl/NwUFLDU1VS+99JKeeuopXXLJJf5uDgDAz1JSUiRJrVu39nNLECiGDRum48ePKzw8PMvp4uPj9dNPP6lr166F1DLAd+Lj4/X444+rZMmSyu7Cl999951atWql6OjoAm0DgR4AAAAAFENhYWH6+uuv9ccff+j777/3d3NQgB555BG1bdtWzz//vL+bAgAoZP/++6+ef/55rV271nrs0KFDqlevntq1a+fHliGQbNy4UZLUtWtXTZgwQcePH3d5Pjk5Wb/88osuu+wyDRkyROedd54/mgkUqL179+r06dNas2aNunTpogULFig1NdVlmkOHDmnUqFF66KGHNHbs2AJvA/fQAwAAAIBi7OjRo+rVq5ceeeQRXXvttf5uDvLB4XDohRdeUGJiokaOHKmQkBB/NwkAUMgeeeQRvf3224qMjNTYsWNVrVo19ejRQz/++KPatGnj7+YhQCxdulTdu3fXwYMHrcfi4uJUunRpJScn68CBAypRooTGjh2r3r17+7GlQMF65pln9Morr8jhcEj67xKb4eHhSkhI0OHDh3XBBRfo22+/VZ06dQp8/QR6AAAAAFDMpaWl6aOPPlLdunV1zTXX+Ls5yKMRI0bosssuU8eOHf3dFACAn2zatEn9+vXT33//rcjISF155ZV64YUX1KhRI383DQHm1KlTGjdunGbMmKH169fr1KlTKl26tOrVq6fOnTtr8ODBiouL83czgQK3bt06ffjhh5o7d6527dqltLQ0VahQQRdddJFuu+023X777T67bySBHgAAAAAAAAAAAGBj3EMPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyMQA8AAAAAAAAAAACwMQI9AAAAAAAAAAAAwMYI9AAAAAAAAAAAAAAbI9ADAAAAAAAAAAAAbIxADwAAAAAAAAAAALAxAj0AAAAAAAAAAADAxgj0AAAAAAAAAAAAABsj0AMAAAAAAAAAAABsjEAPAAAAAAAAAAAAsDECPQAAAAAAAAAAAMDGCPQAAAAAAAAAAAAAGyPQAwAAAAAAAAAAAGyM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wgR6AAAAAAAAkDCBHgAAAAAAACRMoAcAAAAAAAAJE+gBAAAAAABAwgR6AAAAAAAAkDCBHgAAAAAAACRMoDfC1772tSiVStP+5/bbb8/6PwEAkrJ9+/Y46qijolQqRUdHR+zbt2/C37N///646KKLhv5+/cY3vlGHSSkaex0AVJe9jqzY66gn9zogVQK9EZ555pkZ/f6lS5dWaRIAKIb29va47rrrIiLirbfeinXr1k34e770pS/F+vXrIyJi7dq18dnPframM1JM9joAqC57HVmx11FP7nVAqkqVSqWS9RAp+e///u/YvXv3pK7dtWtX/MIv/EJs3rw5IiK6urri8ccfj9bW1lqOCAC5s3nz5jjppJNi7969cfrpp8fTTz895rV33XVXfP7zn4+IiMsvvzy+9a1vRalUqteoFIi9DgCqz15HFux11Jt7HZAigd409ff3x0UXXRSPPfZYREQsWrQofvCDH8RHPvKRbAcDgER97nOfi3vvvTciIp566qk488wzD7nmsccei/PPPz/27t0bH/vYx+KJJ57wjTc1Z68DgKmx15Eqex3V5F4HpMYjN6dh7969ccUVVwwtBz/90z8dGzZssBwAwDjWrFkz9CnF0c6weO211+KKK66IvXv3xvz58+ORRx7xjRA1Z68DgKmz15Eiex3V5l4HpEagN0UHDhyIX/7lX45/+Zd/iYiI4447LjZs2BDHHXdcxpMBQNqWLFkSF198cUREPPjgg/Hmm28Ovbdz585YuXJlbN26NcrlcvzjP/5jLFiwIKtRaRD2OgCYHnsdqbHXUQvudUBqBHpTdP3118f9998fEREf+chH4nvf+16ceOKJGU8FAPmwZs2aiIjYv39/fP3rXx/69S/+4i/Gyy+/HBERPT098fGPfzyzGWkc9joAmD57HSmx11Er7nVASgR6U/ClL30p/vqv/zoiIo4++uhYv359LF68OOOpACA/PvWpT8UZZ5wRER8cHP7+++/Hb/3Wb8X69esjIuLmm2+Oz372s1mOSIOw1wHAzNjrSIW9jlpyrwNSUqpUKpWsh8iDr371q3HLLbdERERra2t897vfjRUrVmQ7FACFdMMNN0RHR0d0d3dHd3d34c58ePjhh+Oyyy6LiIif/dmfjUcffTQiIi6//PL41re+NXRGAdSKvQ6AevmVX/mVOPnkk6O7uzu6urqivb0965Gqyl5H1ux12atUKnHVVVcNff/a1dUVbW1tWY9VVe51QCoEepNw++23x2/+5m9GRERTU1M88sgjccEFF2Q8FQBF1dHREW+99dbQ687OzqFvjooQ8lUqlVi0aFH8+Mc/HvpaV1dXPP744w4Qp+bsdQDUU0tLS/T39w+9Pumkk4btdHkP+ex1ZMlel4ZKpRKHHTb8IXAf/ehHD7nX5Tnkc68DUiHQm0BPT09ce+21UalUYtasWXH//ffH5ZdfnvVYABTYyEBvNHkP+e6+++649tprIyLi2GOPjY0bNzpAnJqz1wFQbyMDvdHkPeSz15EFe106Rgv0RpP3kM+9DkjB4VkPkLIHHnggrrvuuqhUKlEqleLuu++2HACQhDfeeCPeeOONeOihh4a+lqeQ76STThr69fXXX+8bIWrOXgdAql577bV47bXX4oEHHhj6Wp5CPnsd9Wavy6dXX301Xn311fjmN7859LU8hXzudUAKBHpj+Pa3vx2/9Eu/FAcOHIiIiD/7sz+Lz33ucxlPNbYvf/nL8Yd/+IdZjwFAhsYL+b74xS/G2WefneF0w/3whz8c+vXy5cszm4PGkLe97vOf/3zcddddWY8BQIbGC/nWrFkT3d3dGU43nL2OesrbXnfZZZfFww8/nPUYyRov5LvpppvilFNOyXC64dzrgBRM3IduQN///vfjiiuuiL1790ZExO///u/Hr//6r2c81fiEeQCMZjDge/rpp7MeZZgf/ehHQ7/2zRC1lMe9TpgHwGgGA76Df6icAnsd9ZLHvU6YN3WDAd+LL76Y9SjDuNcBKRDojfDMM8/EypUro6+vLyIi1qxZE1/+8pczngoAZqZUKmU9wjCDP4hqb2+Pzs7ObIehsOx1ABSRvY5GZK9rPO51AIfyyM2DvPjii3HhhRfGrl27IiJi9erVcdttt2U81eSsX78+Hn300azHAKAK/uiP/mjGf0apVIqFCxfGqaeeGt3d3bFy5coqTFYde/fujZdeeikiIpYtW5bxNBRVnve6Bx98MLlWLQDTU429btasWbF48eKhve7888+vwmTVYa+jHvK81917772xadOmrMeoqUqlEn/8x3884z/n8MMPjyVLlgzd61I6MsK9DkhFqVKpVLIeIgWvvfZafPKTn4x33nknIiKuvvrquPfee+Oww5QYAaivjo6OeOuttyZ9/cjwrru7O5YvXx5HHnlkDaecvueff37om6Df+I3fiD/90z/NeCKKxl4HQCpaWlqiv79/0tePDO+6u7tj2bJl0dLSUsMpp89eR63Z69JXqVSm/P9jZHjX3d0dp5xySpTL5RpNOTPudUAqNPQi4u23347zzjtvaDn4zGc+E/fcc4/lAIDk5C28G43DxKklex0AeZG38G409jpqyV5XDHkL70bjXgekouEDve3bt8d5550Xr7/+ekRELFy4MG6++eZ45ZVXJv1ndHR0RFtbW40mBKBRFSG8G43DxKkVex0AqSpCeDcaex21Yq/LpyKEd6NxrwNS0fCB3ne/+91hy8Arr7wSp5566pT+jKeeeirOPPPMao8GQIO69dZb42d+5mcKEd6NZvDTjU1NTbF48eJsh6FQ7HUApOb222+PZcuWFSK8G429jlqx1+XLHXfcUZjwbjTudUAqGj7Qm+nBtLNmzfLJDACq6ld/9VezHqGmBj/duHjx4jjiiCMynoYisdcBkJrrr78+6xFqyl5Hrdjr8qNUKsUNN9yQ9Rg15V4HpKJUqVQqWQ8BAAAAAAAAjM4psgAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACRPoAQAAAAAAQMIEegAAAAAAAJAwgR4AAAAAAAAkTKAHAAAAAAAACftfxVaZbbyxQaMAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "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$\", 3, 0)\n", + "pgm.add_node(\"x\", \"$X$\", 2, 2)\n", + "pgm.add_node(\"ps\", \"$PS$\", 1, 1)\n", + "\n", + "pgm.add_node(\"z1\", \"$Z$\", 4, 0)\n", + "pgm.add_node(\"y1\", \"$Y$\", 7, 0)\n", + "pgm.add_node(\"x1\", \"$X$\", 6, 2)\n", + "pgm.add_node(\"ps1\", \"$PS$\", 5, 1, observed=True)\n", + "\n", + "pgm.add_node(\"z2\", \"$Z$\", 8, 0)\n", + "pgm.add_node(\"y2\", \"$Y$\", 9, 0)\n", + "pgm.add_node(\"x2\", \"$X$\", 10, 2)\n", + "pgm.add_node(\"ps2\", \"$PS$\", 9, 1, observed=True)\n", + "\n", + "\n", + "pgm.add_edge(\"x\", \"ps\")\n", + "pgm.add_edge(\"z\", \"y\")\n", + "pgm.add_edge(\"x\", \"y\")\n", + "pgm.add_edge(\"z\", \"ps\")\n", + "\n", + "pgm.add_edge(\"x1\", \"ps1\")\n", + "pgm.add_edge(\"z1\", \"y1\")\n", + "pgm.add_edge(\"x1\", \"y1\")\n", + "pgm.add_edge(\"z1\", \"ps1\")\n", + "\n", + "pgm.add_edge(\"x2\", \"ps2\")\n", + "pgm.add_edge(\"z2\", \"y2\")\n", + "pgm.add_edge(\"x2\", \"y2\")\n", + "\n", + "pgm.add_text(0, 3,label=\"PS is a function of treatment and covariates\")\n", + "pgm.add_text(4, 3,label=\"Condition on PS (a Collider)\")\n", + "pgm.add_text(8, 3,label=\"PS Adjustment Mitigates confounding\")\n", + "\n", + "pgm.render();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One nice feature of this set up is that we can evaluate the claim of __strong ignorability__ because it implies that $T \\perp\\!\\!\\!\\perp X | PS(X)$ and this ensures the covariate profiles are balanced across the treatment branches conditional on the propensity score. This is a testable implication of the postulated design! Balance plots and measures are ways in which to evaluate if the offset achieved by your propensity score has worked. It is crucial that PS serve as a balancing score, if the measure cannot serve as a balancing score the collision effect can add to the confounding bias rather than remove it. " + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -441,7 +522,7 @@ "kernelspec": { "display_name": "CausalPy", "language": "python", - "name": "python3" + "name": "causalpy" }, "language_info": { "codemirror_mode": { @@ -453,7 +534,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.4" } }, "nbformat": 4,