diff --git a/chirho/robust/ops.py b/chirho/robust/ops.py index 3ae74d98..e9acd198 100644 --- a/chirho/robust/ops.py +++ b/chirho/robust/ops.py @@ -19,8 +19,8 @@ def influence_fn( model: Callable[P, Any], guide: Callable[P, Any], functional: Optional[Functional[P, S]] = None, - **linearize_kwargs -) -> Callable[Concatenate[Point[T], P], S]: + **linearize_kwargs, +) -> Callable[Concatenate[Point[T], bool, P], S]: from chirho.robust.internals.linearize import linearize from chirho.robust.internals.predictive import PredictiveFunctional from chirho.robust.internals.utils import make_functional_call @@ -43,7 +43,7 @@ def _fn( points: Point[T], pointwise_influence: bool = False, *args: P.args, - **kwargs: P.kwargs + **kwargs: P.kwargs, ) -> S: param_eif = linearized( points, pointwise_influence=pointwise_influence, *args, **kwargs @@ -53,6 +53,21 @@ def _fn( lambda p: func_target(p, *args, **kwargs), (target_params,), (d,) )[1], in_dims=0, + randomness="different", )(param_eif) return _fn + + +def one_step_correction( + model: Callable[P, Any], + guide: Callable[P, Any], + test_data: Point[T], + functional: Optional[Functional[P, S]] = None, + **influence_kwargs, +) -> Callable[P, S]: + def _one_step(*args, **kwargs) -> S: + eif_fn = influence_fn(model, guide, functional, **influence_kwargs) + return eif_fn(test_data, pointwise_influence=False, *args, **kwargs) + + return _one_step diff --git a/docs/source/automated_dr_learner.ipynb b/docs/source/automated_dr_learner.ipynb index 8631edc6..3c6d2465 100644 --- a/docs/source/automated_dr_learner.ipynb +++ b/docs/source/automated_dr_learner.ipynb @@ -8,32 +8,73 @@ "# Automated doubly robust estimation with ChiRho" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Outline\n", + "\n", + "- [Setup](#setup)\n", + "\n", + "- [Overview: Systematically adjusting for observed confounding](#overview:-systematically-adjusting-for-observed-confounding)\n", + " - [Task: Treatment effect estimation with observational data](#task:-treatment-effect-estimation-with-observational-data)\n", + " - [Challenge: Confounding](#challenge:-confounding)\n", + " - [Assumptions: All confounders observed](#assumptions:-all-confounders-observed)\n", + " - [Intuition: Statistically adjusting for confounding](#intuition:-statistically-adjusting-for-confounding)\n", + "\n", + "- [Causal Probabilistic Program](#causal-probabilistic-program)\n", + " - [Model description](#model-description)\n", + " - [Generating data](#generating-data)\n", + " - [Fit parameters via maximum likelihood](#fit-parameters-via-maximum-likelihood)\n", + "\n", + "- [Causal Query: average treatment effect (ATE)](#causal-query:-average-treatment-effect-\\(ATE\\))\n", + " - [Defining the target functional](#defining-the-target-functional)\n", + " - [Closed form doubly robust correction](#closed-form-doubly-robust-correction)\n", + " - [Computing automated doubly robust correction via Monte Carlo](#computing-automated-doubly-robust-correction-via-monte-carlo)\n", + " - [Results](#results)\n", + "\n", + "- [References](#references)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here, we install the necessary Pytorch, Pyro, and ChiRho dependencies for this example." + ] + }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ - "import collections\n", + "from typing import Callable, Optional, Tuple\n", + "\n", "import functools\n", + "import torch\n", "import math\n", "import seaborn as sns\n", + "import pandas as pd\n", + "import numpy as np\n", "import matplotlib.pyplot as plt\n", - "from typing import Callable, Optional, Tuple, TypedDict, TypeVar\n", "\n", - "import torch\n", "import pyro\n", "import pyro.distributions as dist\n", - "from pyro.infer.autoguide import AutoNormal\n", "from pyro.infer import Predictive\n", - "from typing import Callable, Dict, List, Optional, Tuple, Union\n", - "from pyro.nn import PyroModule, PyroParam, PyroSample\n", - "from chirho.robust.internals.utils import ParamDict\n", - "from chirho.robust.ops import Point\n", - "from chirho.robust.ops import influence_fn\n", "\n", - "from chirho.observational.handlers import condition\n", - "from chirho.robust.internals.linearize import linearize\n", + "from chirho.counterfactual.handlers import MultiWorldCounterfactual\n", + "from chirho.indexed.ops import IndexSet, gather\n", + "from chirho.interventional.handlers import do\n", + "from chirho.robust.internals.utils import ParamDict\n", + "from chirho.robust.ops import one_step_correction \n", "\n", "pyro.settings.set(module_local_params=True)\n", "\n", @@ -42,12 +83,53 @@ "pyro.set_rng_seed(321) # for reproducibility" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Overview\n", + "\n", + "In this tutorial, we will use ChiRho to estimate the average treatment effect (ATE) from observational data. We will use a simple example to illustrate the basic concepts of doubly robust estimation and how ChiRho can be used to automate the process for more general summaries of interest. \n", + "\n", + "There are five main steps to our doubly robust estimation procedure but only the last step is different from a standard probabilistic programming workflow:\n", + "1. Write model of interest\n", + " - Define probabilistic model of interest using Pyro\n", + "2. Feed in data\n", + " - Observed data used to train the model\n", + "3. Run inference\n", + " - Use Pyro's rich inference library to fit the model to the data\n", + "4. Define target functional\n", + " - This is the model summary of interest (e.g. average treatment effect)\n", + "5. Compute robust estimate\n", + " - Use ChiRho to compute the doubly robust estimate of the target functional\n", + " - Importantly, this step is automated and does not require refitting the model for each new functional\n", + "\n", + "\n", + "Our proposed automated robust inference pipeline is summarized in the figure below.\n", + "\n", + "![fig1](figures/robust_pipeline.png)" + ] + }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "# Probabilistic model for the data generating process" + "## Causal Probabilistic Program\n", + "\n", + "### Model Description\n", + "In this example, we will focus on a cannonical model `CausalGLM` consisting of three types of variables: binary treatment (`A`), confounders (`X`), and response (`Y`). For simplicitly, we assume that the response is generated from a generalized linear model with link function $g$. The model is described by the following generative process:\n", + "\n", + "$$\n", + "\\begin{align*}\n", + "X &\\sim \\text{Normal}(0, I_p) \\\\\n", + "A &\\sim \\text{Bernoulli}(\\pi(X)) \\\\\n", + "\\mu &= \\beta_0 + \\beta_1^T X + \\tau A \\\\\n", + "Y &\\sim \\text{ExponentialFamily}(\\text{mean} = g^{-1}(\\mu))\n", + "\\end{align*}\n", + "$$\n", + "\n", + "where $p$ denotes the number of confounders, $\\pi(X)$ is the probability of treatment conditional on confounders $X$, $\\beta_0$ is the intercept, $\\beta_1$ is the confounder effect, and $\\tau$ is the treatment effect." ] }, { @@ -56,23 +138,7 @@ "metadata": {}, "outputs": [], "source": [ - "class DataConditionedModel(PyroModule):\n", - " r\"\"\"\n", - " Helper class for conditioning on data.\n", - " \"\"\"\n", - "\n", - " def __init__(self, model: PyroModule):\n", - " super().__init__()\n", - " self.model = model\n", - "\n", - " def forward(self, D: Point[torch.Tensor]):\n", - " with condition(data=D):\n", - " # Assume first dimension corresponds to # of datapoints\n", - " N = D[next(iter(D))].shape[0]\n", - " return self.model(N=N)\n", - "\n", - "\n", - "class HighDimLinearModel(pyro.nn.PyroModule):\n", + "class CausalGLM(pyro.nn.PyroModule):\n", " def __init__(\n", " self,\n", " p: int,\n", @@ -106,50 +172,239 @@ " return pyro.sample(\"treatment_weight\", dist.Normal(0.0, 1.0))\n", "\n", " def sample_covariate_loc_scale(self):\n", - " loc = pyro.sample(\n", - " \"covariate_loc\", dist.Normal(0.0, 1.0).expand((self.p,)).to_event(1)\n", - " )\n", - " scale = pyro.sample(\n", - " \"covariate_scale\", dist.LogNormal(0, 1).expand((self.p,)).to_event(1)\n", + " return torch.zeros(self.p), torch.ones(self.p)\n", + "\n", + " def forward(self):\n", + " intercept = self.sample_intercept()\n", + " outcome_weights = self.sample_outcome_weights()\n", + " propensity_weights = self.sample_propensity_weights()\n", + " tau = self.sample_treatment_weight()\n", + " x_loc, x_scale = self.sample_covariate_loc_scale()\n", + " X = pyro.sample(\"X\", dist.Normal(x_loc, x_scale).to_event(1))\n", + " A = pyro.sample(\n", + " \"A\",\n", + " dist.Bernoulli(\n", + " logits=torch.einsum(\"...i,...i->...\", X, propensity_weights)\n", + " ),\n", " )\n", - " return loc, scale\n", "\n", - " def forward(self, N: int = 1):\n", + " return pyro.sample(\n", + " \"Y\",\n", + " self.link_fn(\n", + " torch.einsum(\"...i,...i->...\", X, outcome_weights) + A * tau + intercept\n", + " ),\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, we will condition on both treatment and confounders to estimate the causal effect of treatment on the outcome. We will use the following causal probabilistic program to do so:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "class ConditionedCausalGLM(CausalGLM):\n", + " def __init__(\n", + " self,\n", + " X: torch.Tensor,\n", + " A: torch.Tensor,\n", + " Y: torch.Tensor,\n", + " link_fn: Callable[..., dist.Distribution] = lambda mu: dist.Normal(mu, 1.0),\n", + " prior_scale: Optional[float] = None,\n", + " ):\n", + " p = X.shape[1]\n", + " super().__init__(p, link_fn, prior_scale)\n", + " self.X = X\n", + " self.A = A\n", + " self.Y = Y\n", + "\n", + " def forward(self):\n", " intercept = self.sample_intercept()\n", " outcome_weights = self.sample_outcome_weights()\n", " propensity_weights = self.sample_propensity_weights()\n", " tau = self.sample_treatment_weight()\n", " x_loc, x_scale = self.sample_covariate_loc_scale()\n", - " with pyro.plate(\"obs\", N, dim=-1):\n", - " X = pyro.sample(\"X\", dist.Normal(x_loc, x_scale).to_event(1))\n", + " with pyro.plate(\"__train__\", size=self.X.shape[0], dim=-1):\n", + " X = pyro.sample(\"X\", dist.Normal(x_loc, x_scale).to_event(1), obs=self.X)\n", " A = pyro.sample(\n", " \"A\",\n", " dist.Bernoulli(\n", - " logits=torch.einsum(\"...np,...ap->...n\", X, propensity_weights.expand(torch.broadcast_shapes(propensity_weights.shape, (1,) + propensity_weights.shape[-1:])))\n", + " logits=torch.einsum(\"ni,i->n\", self.X, propensity_weights)\n", " ),\n", + " obs=self.A,\n", " )\n", - " return pyro.sample(\n", + " pyro.sample(\n", " \"Y\",\n", " self.link_fn(\n", - " torch.einsum(\"...np,...ap->...n\", X, outcome_weights.expand(torch.broadcast_shapes(outcome_weights.shape, (1,) + outcome_weights.shape[-1:])))\n", + " torch.einsum(\"ni,i->n\", X, outcome_weights)\n", " + A * tau\n", " + intercept\n", " ),\n", - " )\n", - "\n", - "\n", - "class KnownCovariateDistModel(HighDimLinearModel):\n", - " def sample_covariate_loc_scale(self):\n", - " return torch.zeros(self.p), torch.ones(self.p)\n", - "\n", + " obs=self.Y,\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "cluster___train__\n", + "\n", + "__train__\n", + "\n", + "\n", + "\n", + "intercept\n", + "\n", + "intercept\n", + "\n", + "\n", + "\n", + "Y\n", + "\n", + "Y\n", + "\n", + "\n", + "\n", + "intercept->Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "outcome_weights\n", + "\n", + "outcome_weights\n", + "\n", + "\n", + "\n", + "outcome_weights->Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "propensity_weights\n", + "\n", + "propensity_weights\n", + "\n", + "\n", + "\n", + "A\n", + "\n", + "A\n", + "\n", + "\n", + "\n", + "propensity_weights->A\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "treatment_weight\n", + "\n", + "treatment_weight\n", + "\n", + "\n", + "\n", + "treatment_weight->Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "X\n", + "\n", + "X\n", + "\n", + "\n", + "\n", + "X->Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "A->Y\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "distribution_description_node\n", + "intercept ~ Normal\n", + "outcome_weights ~ Normal\n", + "propensity_weights ~ Normal\n", + "treatment_weight ~ Normal\n", + "X ~ Normal\n", + "A ~ Bernoulli\n", + "Y ~ Normal\n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Visualize the model\n", + "pyro.render_model(\n", + " ConditionedCausalGLM(torch.zeros(1, 1), torch.zeros(1), torch.zeros(1)),\n", + " render_params=True, \n", + " render_distributions=True\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Generating data\n", "\n", - "class BenchmarkLinearModel(HighDimLinearModel):\n", + "For evaluation, we generate `N_datasets` datasets, each with `N` samples. We compare vanilla estimates of the target functional with the double robust estimates of the target functional across the `N_sims` datasets. We use a similar data generating process as in Kennedy (2022)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "class GroundTruthModel(CausalGLM):\n", " def __init__(\n", " self,\n", " p: int,\n", - " link_fn: Callable[..., dist.Distribution],\n", " alpha: int,\n", " beta: int,\n", + " link_fn: Callable[..., dist.Distribution] = lambda mu: dist.Normal(mu, 1.0),\n", " treatment_weight: float = 0.0,\n", " ):\n", " super().__init__(p, link_fn)\n", @@ -162,9 +417,6 @@ " outcome_weights[self.beta :] = 0.0\n", " return outcome_weights\n", "\n", - " def sample_treatment_null_weight(self):\n", - " return torch.tensor(0.0)\n", - "\n", " def sample_propensity_weights(self):\n", " propensity_weights = 1 / math.sqrt(self.alpha) * torch.ones(self.p)\n", " propensity_weights[self.alpha :] = 0.0\n", @@ -174,79 +426,106 @@ " return torch.tensor(self.treatment_weight)\n", "\n", " def sample_intercept(self):\n", - " return torch.tensor(0.0)\n", - "\n", - " def sample_covariate_loc_scale(self):\n", - " return torch.zeros(self.p), torch.ones(self.p)\n", + " return torch.tensor(0.0)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "N_datasets = 100\n", + "simulated_datasets = []\n", "\n", + "# Data configuration\n", + "p = 200\n", + "alpha = 50\n", + "beta = 50\n", + "N_train = 500\n", + "N_test = 500\n", "\n", - "class MLEGuide(torch.nn.Module):\n", - " def __init__(self, mle_est: ParamDict):\n", - " super().__init__()\n", - " self.names = list(mle_est.keys())\n", - " for name, value in mle_est.items():\n", - " setattr(self, name + \"_param\", torch.nn.Parameter(value))\n", + "true_model = GroundTruthModel(p, alpha, beta)\n", "\n", - " def forward(self, *args, **kwargs):\n", - " for name in self.names:\n", - " value = getattr(self, name + \"_param\")\n", - " pyro.sample(name, dist.Delta(value, event_dim=len(value.shape)))" + "for _ in range(N_datasets):\n", + " # Generate data\n", + " D_train = Predictive(\n", + " true_model, num_samples=N_train, return_sites=[\"X\", \"A\", \"Y\"]\n", + " )()\n", + " D_test = Predictive(\n", + " true_model, num_samples=N_test, return_sites=[\"X\", \"A\", \"Y\"]\n", + " )()\n", + " simulated_datasets.append((D_train, D_test))" ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "# Closed-form influence function for average treatment effect" + "### Fit parameters via maximum likelihood" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ - "class ATETestPoint(TypedDict):\n", - " X: torch.Tensor\n", - " A: torch.Tensor\n", - " Y: torch.Tensor\n", + "fitted_params = []\n", + "for i in range(N_datasets):\n", + " # Generate data\n", + " D_train = simulated_datasets[i][0]\n", "\n", + " # Fit model using maximum likelihood\n", + " conditioned_model = ConditionedCausalGLM(\n", + " X=D_train[\"X\"], A=D_train[\"A\"], Y=D_train[\"Y\"]\n", + " )\n", + " \n", + " guide_train = pyro.infer.autoguide.AutoDelta(conditioned_model)\n", + " elbo = pyro.infer.Trace_ELBO()(conditioned_model, guide_train)\n", "\n", - "class ATEParamDict(TypedDict):\n", - " propensity_weights: torch.Tensor\n", - " outcome_weights: torch.Tensor\n", - " treatment_weight: torch.Tensor\n", - " intercept: torch.Tensor\n", + " # initialize parameters\n", + " elbo()\n", + " adam = torch.optim.Adam(elbo.parameters(), lr=0.03)\n", "\n", + " # Do gradient steps\n", + " for _ in range(2000):\n", + " adam.zero_grad()\n", + " loss = elbo()\n", + " loss.backward()\n", + " adam.step()\n", "\n", - "def closed_form_ate_correction(\n", - " X_test: ATETestPoint, theta: ATEParamDict\n", - ") -> Tuple[torch.Tensor, torch.Tensor]:\n", - " X = X_test[\"X\"]\n", - " A = X_test[\"A\"]\n", - " Y = X_test[\"Y\"]\n", - " pi_X = torch.sigmoid(X.mv(theta[\"propensity_weights\"]))\n", - " mu_X = (\n", - " X.mv(theta[\"outcome_weights\"])\n", - " + A * theta[\"treatment_weight\"]\n", - " + theta[\"intercept\"]\n", - " )\n", - " analytic_eif_at_test_pts = (A / pi_X - (1 - A) / (1 - pi_X)) * (Y - mu_X)\n", - " analytic_correction = analytic_eif_at_test_pts.mean()\n", - " return analytic_correction, analytic_eif_at_test_pts" + " theta_hat = {\n", + " k: v.clone().detach().requires_grad_(True) for k, v in guide_train().items()\n", + " }\n", + " fitted_params.append(theta_hat)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Causal Query: Average treatment effect (ATE)\n", + "\n", + "The average treatment effect summarizes, on average, how much the treatment changes the response, $ATE = \\mathbb{E}[Y|do(A=1)] - \\mathbb{E}[Y|do(A=0)]$. The `do` notation indicates that the expectations are taken according to *intervened* versions of the model, with $A$ set to a particular value. Note from our [tutorial](tutorial_i.ipynb) that this is different from conditioning on $A$ in the original `causal_model`, which assumes $X$ and $T$ are dependent.\n", + "\n", + "\n", + "To implement this query in ChiRho, we define the `ATEFunctional` class which take in a `model` and `guide` and returns the average treatment effect by simulating from the posterior predictive distribution of the model and guide." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Defining the target functional" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ - "from chirho.counterfactual.handlers import MultiWorldCounterfactual\n", - "from chirho.indexed.ops import IndexSet, gather\n", - "from chirho.interventional.handlers import do\n", - "\n", "class ATEFunctional(torch.nn.Module):\n", " def __init__(self, model: Callable, guide: Callable, num_monte_carlo: int = 7):\n", " super().__init__()\n", @@ -255,225 +534,269 @@ " self.num_monte_carlo = num_monte_carlo\n", " \n", " def forward(self, *args, **kwargs):\n", - "\n", " with MultiWorldCounterfactual():\n", " with pyro.plate(\"monte_carlo_functional\", size=self.num_monte_carlo, dim=-2):\n", - " posterior_guide_samples = pyro.poutine.trace(\n", - " self.guide\n", - " ).get_trace(*args, **kwargs)\n", + " posterior_guide_samples = pyro.poutine.trace(self.guide).get_trace(\n", + " *args, **kwargs\n", + " )\n", " model_at_theta = pyro.poutine.replay(\n", " trace=posterior_guide_samples\n", " )(self.model)\n", " with do(actions=dict(A=(torch.tensor(0.0), torch.tensor(1.0)))):\n", - " with pyro.poutine.trace() as tr:\n", - " Ys = model_at_theta(*args, **kwargs)\n", + " Ys = model_at_theta(*args, **kwargs)\n", " Y0 = gather(Ys, IndexSet(A={1}), event_dim=0)\n", " Y1 = gather(Ys, IndexSet(A={2}), event_dim=0)\n", - " return pyro.deterministic(\"ATE\", (Y1 - Y0).mean(dim=-2, keepdim=True).mean(dim=-1, keepdim=True).squeeze())\n" + " ate = (Y1 - Y0).mean(dim=-2, keepdim=True).mean(dim=-1, keepdim=True).squeeze()\n", + " return pyro.deterministic(\"ATE\", ate)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Closed form doubly robust correction\n", + "\n", + "For the average treatment effect functional, there exists a closed-form analytical formula for the doubly robust correction. This formula is derived in Kennedy (2022) and is implemented below:" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ - "def one_step_correction(\n", - " model: Callable,\n", - " guide: Callable,\n", - " target: Callable,\n", - " test_data: Dict[str, torch.Tensor],\n", - " **influence_kwargs, \n", - ") -> Callable:\n", - " def _one_step(*args, **kwargs):\n", - " eif_fn = influence_fn(model, guide, target, **influence_kwargs)\n", - " batched_eif = torch.func.vmap(lambda data: eif_fn(data, *args, **kwargs), randomness='different')\n", - " return batched_eif(test_data).mean(axis=0)\n", - " # result = 0\n", - " # num_samples = next(iter(test_data.values())).shape[0]\n", - " # for i in range(num_samples):\n", - " # datapoint = {k: v[i] for k, v in test_data.items()}\n", - " # result = result + eif_fn(datapoint, *args, **kwargs) / num_samples\n", - " # return result\n", - " return _one_step" + "# Closed form expression\n", + "def closed_form_doubly_robust_ate_correction(X_test, theta) -> Tuple[torch.Tensor, torch.Tensor]:\n", + " X = X_test[\"X\"]\n", + " A = X_test[\"A\"]\n", + " Y = X_test[\"Y\"]\n", + " pi_X = torch.sigmoid(X.mv(theta[\"propensity_weights\"]))\n", + " mu_X = (\n", + " X.mv(theta[\"outcome_weights\"])\n", + " + A * theta[\"treatment_weight\"]\n", + " + theta[\"intercept\"]\n", + " )\n", + " analytic_eif_at_test_pts = (A / pi_X - (1 - A) / (1 - pi_X)) * (Y - mu_X)\n", + " analytic_correction = analytic_eif_at_test_pts.mean()\n", + " return analytic_correction, analytic_eif_at_test_pts" ] }, { - "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ - "# Empirical evaluation" + "### Computing automated doubly robust correction via Monte Carlo\n", + "\n", + "While the doubly robust correction term is known in closed-form for the average treatment effect functional, our `one_step_correction` function in `ChiRho` works for a wide class of other functionals. We focus on the average treatment effect functional here so that we have a ground truth to compare `one_step_correction` against." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 10, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Run 0/1\n", - "torch.Size([500, 20]) torch.Size([500]) torch.Size([500])\n" - ] - }, { "name": "stderr", "output_type": "stream", "text": [ + "/Users/raj/Desktop/causal_pyro/chirho/robust/internals/predictive.py:127: UserWarning: Since max_plate_nesting is not specified, the first call to NMCLogPredictiveLikelihood will not be seeded properly. See https://github.com/BasisResearch/chirho/pull/408\n", + " warnings.warn(\n", "/opt/homebrew/anaconda3/envs/basis/lib/python3.10/site-packages/torch/nn/functional.py:3195: UserWarning: There is a performance drop because we have not yet implemented the batching rule for aten::fill.Scalar. Please file us an issue on GitHub so that we can prioritize its implementation. (Triggered internally at /Users/runner/work/pytorch/pytorch/pytorch/aten/src/ATen/functorch/BatchedFallback.cpp:84.)\n", " return torch.binary_cross_entropy_with_logits(input, target, weight, pos_weight, reduction_enum)\n" ] } ], "source": [ - "# Since we have access to the true data-generating distribution, we\n", - "# can keep simulating new datasets and retraining the model to get the \n", - "# sampling distribution of each estimator. In practice, one would need to \n", - "# use bootstrapping to approximate the true sampling distribution.\n", - "\n", - "N_runs = 1\n", - "plug_in_estimates = []\n", - "one_step_correction_monte_carlo = []\n", - "one_step_correction_analytic = []\n", - "\n", - "p = 20\n", - "alpha = 5\n", - "beta = 5\n", - "N_train = 500\n", - "N_test = 500\n", - "\n", - "link = lambda mu: dist.Normal(mu, 1.0)\n", - "\n", - "for i in range(N_runs):\n", - " pyro.clear_param_store()\n", - "\n", - " # Generate data\n", - " benchmark_model = BenchmarkLinearModel(p, link, alpha, beta)\n", - "\n", - " D_train = Predictive(\n", - " benchmark_model, num_samples=1, return_sites=[\"X\", \"A\", \"Y\"]\n", - " )(N=N_train)\n", - " D_train = {k: v[0] for k, v in D_train.items()}\n", - " D_test = Predictive(\n", - " benchmark_model, num_samples=N_test, return_sites=[\"X\", \"A\", \"Y\"]\n", - " )(N=1)\n", - " D_test_flat = {k: v[:,0] for k, v in D_test.items()}\n", - "\n", - " print(f\"Run {i}/{N_runs}\")\n", - " model = KnownCovariateDistModel(p, link)\n", - " conditioned_model = DataConditionedModel(model)\n", - " guide_train = pyro.infer.autoguide.AutoDelta(conditioned_model)\n", - " elbo = pyro.infer.Trace_ELBO()(conditioned_model, guide_train)\n", - "\n", - " print(D_train['X'].shape, D_train['A'].shape, D_train['Y'].shape)\n", - " # initialize parameters\n", - " elbo(D_train)\n", - "\n", - " adam = torch.optim.Adam(elbo.parameters(), lr=0.03)\n", - "\n", - " # Do gradient steps\n", - " for step in range(2000):\n", - " adam.zero_grad()\n", - " loss = elbo(D_train)\n", - " loss.backward()\n", - " adam.step()\n", - "\n", - " theta_hat = {k: v.clone().detach().requires_grad_(True) for k, v in guide_train().items()}\n", - " analytic_correction, analytic_eif_at_test_pts = closed_form_ate_correction(D_test_flat, theta_hat)\n", - "\n", - " guide = MLEGuide(theta_hat)\n", - " functional = functools.partial(ATEFunctional, num_monte_carlo=1000)\n", - " one_step_result = one_step_correction(model, guide, functional, D_test, max_plate_nesting=1, num_samples_outer=1000, num_samples_inner=1)(N=1)\n", - " ate_plug_in = functional(model, guide)(N=1)\n", - "\n", - "\n", - "# ATE_plugin =average_treatment_effect(model, theta_hat, n_monte_carlo=10000)\n", - "\n", - "# ATE_correction = one_step_correction(\n", - "# model,\n", - "# theta_hat,\n", - "# average_treatment_effect,\n", - "# D_test,\n", - "# pointwise_influence = False,\n", - "# n_monte_carlo=100*p,\n", - "# )\n", - "\n", - "# ATE_onestep = ATE_plugin + ATE_correction\n", - "\n", - "# analytic_correction, analytic_eif_at_test_pts = closed_form_ate_correction(D_test, theta_hat)\n", + "# Helper class to create a trivial guide that returns the maximum likelihood estimate\n", + "class MLEGuide(torch.nn.Module):\n", + " def __init__(self, mle_est: ParamDict):\n", + " super().__init__()\n", + " self.names = list(mle_est.keys())\n", + " for name, value in mle_est.items():\n", + " setattr(self, name + \"_param\", torch.nn.Parameter(value))\n", "\n", - "# plug_in_estimates.append(ATE_plugin.item())\n", - "# one_step_correction_monte_carlo.append(ATE_correction.item())\n", - "# one_step_correction_analytic.append(analytic_correction.item())\n", + " def forward(self, *args, **kwargs):\n", + " for name in self.names:\n", + " value = getattr(self, name + \"_param\")\n", + " pyro.sample(\n", + " name, pyro.distributions.Delta(value, event_dim=len(value.shape))\n", + " )\n", "\n", - "# plug_in_estimates = torch.tensor(plug_in_estimates)\n", - "# one_step_correction_monte_carlo = torch.tensor(one_step_correction_monte_carlo)\n", - "# one_step_correction_analytic = torch.tensor(one_step_correction_analytic)" + "# Compute doubly robust ATE estimates using both the automated and closed form expressions\n", + "plug_in_ates = []\n", + "analytic_corrections = []\n", + "automated_monte_carlo_corrections = []\n", + "for i in range(N_datasets):\n", + " theta_hat = fitted_params[i]\n", + " D_test = simulated_datasets[i][1]\n", + " mle_guide = MLEGuide(theta_hat)\n", + " functional = functools.partial(ATEFunctional, num_monte_carlo=10000)\n", + " ate_plug_in = functional(CausalGLM(p), mle_guide)()\n", + " analytic_correction, analytic_eif_at_test_pts = closed_form_doubly_robust_ate_correction(D_test, theta_hat)\n", + " automated_monte_carlo_correction = one_step_correction(\n", + " CausalGLM(p), \n", + " mle_guide, \n", + " D_test,\n", + " functional, \n", + " num_samples_outer=max(10000, 100 * p), \n", + " num_samples_inner=1\n", + " )()\n", + "\n", + " plug_in_ates.append(ate_plug_in.detach().item())\n", + " analytic_corrections.append(analytic_correction.detach().item())\n", + " automated_monte_carlo_corrections.append(automated_monte_carlo_correction.detach().item())\n", + "\n", + "plug_in_ates = np.array(plug_in_ates)\n", + "analytic_corrections = np.array(analytic_corrections)\n", + "automated_monte_carlo_corrections = np.array(automated_monte_carlo_corrections)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Results" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 23, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "tensor(0.5682, grad_fn=)" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "ate_plug_in + one_step_result" + "results = pd.DataFrame(\n", + " {\n", + " \"plug_in_ate\": plug_in_ates,\n", + " \"analytic_correction\": plug_in_ates + analytic_corrections,\n", + " \"automated_monte_carlo_correction\": plug_in_ates + automated_monte_carlo_corrections,\n", + " }\n", + ")" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 26, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
plug_in_ateanalytic_correctionautomated_monte_carlo_correction
count100.00100.00100.00
mean0.330.230.23
std0.100.110.11
min0.09-0.10-0.09
25%0.270.160.17
50%0.330.220.22
75%0.410.300.30
max0.600.480.49
\n", + "
" + ], "text/plain": [ - "(tensor(0.0837, grad_fn=),\n", - " tensor(0.4845, grad_fn=),\n", - " tensor(0.1284, grad_fn=))" + " plug_in_ate analytic_correction automated_monte_carlo_correction\n", + "count 100.00 100.00 100.00\n", + "mean 0.33 0.23 0.23\n", + "std 0.10 0.11 0.11\n", + "min 0.09 -0.10 -0.09\n", + "25% 0.27 0.16 0.17\n", + "50% 0.33 0.22 0.22\n", + "75% 0.41 0.30 0.30\n", + "max 0.60 0.48 0.49" ] }, - "execution_count": 8, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "ate_plug_in, one_step_result, analytic_correction" + "# The true treatment effect is 0, so a mean estimate closer to zero is better\n", + "results.describe().round(2)" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 8, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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M45fuHChctVVV9V7LScnR8nNzfV4X92ppfft8uKLLyoPPPCAMnXqVJ8NKlp67998843y1FNP1XvtqaeeUu68806P97WtMjMzlf79+9cLDJYtW6ZMmTLljGOff/555aabbqr32i233KL861//8ng/PaEl975o0SLl1VdfrffaXXfdpfzlL3/xeD/drSX37fLQQw8pL7zwgk8HFS257yeeeEL54x//WO+1o0ePKvn5+R7vpye05N7ffPNNZcyYMcrhw4cVp9OprFixQhk0aJBy4sQJb3a5Qfr2HilpLovFQl5eXoPvmc1mbDYb/fv3r3stKSkJi8VCZmYmAwYMqHf8zp076d+/P3/+85/54YcfMJlMXHbZZdxxxx0evYfWcOd9A6xfv55ly5bx6aefMnv2bI/12x3cee8zZ85k5syZ9a69atWqDv85ADh06BBhYWF069at7rWkpCSOHz9OeXk5ISEhda8fPny43ucEoG/fvuzfv99r/XWnltz7ddddV+/coqIiNm3axCOPPOK1/rpLS+4b4IsvviArK4snn3yS//73v97urtu05L537tzJuHHj+OMf/8jPP/9MREQE8+bN46qrrmqPrrdZS+591qxZfPbZZ1xwwQXodOp27M899xyxsbHt0fV6fCao2LFjBzfccEOD7917770ABAQE1L1mMpkAGpxjLysr4/vvv2f+/Pk89thjHDlyhDvvvBOj0cgtt9zigd63njvvu6ioiEcffZQXX3zRJ7bIdue9n66yspJ7770Xf39/5s2b557OelBVVVXdvbm4/l1dXV3vh01Dx/r7+1NdXe35jnpAS+79dAUFBdxxxx2kpaVx4YUXeryf7taS+z5y5Aj//Oc/+fDDD9G1YSvtjqAl911WVsa7777LP//5T5599lm2bdvGHXfcQWhoKOedd55X++0OLbl3m81GSkoKTz75JCkpKXz11Vf86U9/IikpieTkZK/2+9d8JlFz9OjRHDhwoMGPKVOmAOpfry6u5w1t0Wo0Ghk0aBCXX345BoOBlJQUrr/+epYvX+6Ve2kJd923oig8+OCDzJ07l7S0NK/1vy3c+X/ucvToUa6++mrsdjvvvvtuo8d2FAEBAfXuE07d66+DQ5PJhMViqfeaxWLxiSCyIS25d5ft27dz+eWX07t3b15++WX0ep/526lOc++7pqaGP/zhDzz66KPExcV5tY+e0JL/b6PRyDnnnMOUKVPQ6/WMHDmSiy++uEP+HG+Oltz7X/7yF/r168fgwYMxGo1cdtllDB06lM8//9xr/T0bnwkqGtO7d28MBgOHDx+ue+3IkSMYDAYSExPPOD4pKQmr1VrvNafTieJjG7a25L5PnPj/9u2epZEojALwuxDtxNY/EBWTgVHGD8QUks6IoGBhCChYaGMhCAoqaGcjQiAIAQurFFpoIVpYhBQWaQwoIjiKVbbQgBCsTHK2WHYwKrszm8tMIueBFJnc4hwuGV6SOz8lm81KIpEQwzDEMAzJ5/OyublZl3/7/IvTPRf5/VTE5OSkhEIh2dvbk9bWVpfS1sbv98vLy4s8Pz9b1+7v76WtrU1aWlqq1ra3t8vd3V3VNdM0xe/3u5JVNSfdRUQODw9lZmZGpqenZXt7W5qbm92Mq4zd3ldXV/L4+Cirq6vW91pEZH5+XjY2NtyOXTMn+/3VfbxcLjfcffwPJ93z+fyn7j6fT5qamlzJ+lcen+lQZmlpCbFYDIVCAYVCAbFYDMvLy1+uNU0TwWAQyWQSpVIJt7e3CIVC2N/fdzl17Zz0/qiRD2oCzrpfXl4iEAjg4ODA5ZRqTE1NYXFxEcVi0ToVHo/HP60zTROapuHk5MR6+kPTNDw8PHiQWg273c/OzhAIBJDJZDxIqZ7d3h818kFNwH7vi4sLdHV14ejoCJVKBdlsFrqu4/z83IPUatjtvrOzg/7+flxfX6NcLuP09BSapuHm5saD1NW+zVBRLBaxtraGwcFB9Pb2YmVlBa+vr9bnIyMj2N3dtd7ncjlEo1EYhoGhoSEkEglUKhUvotfEae/3Gn2ocNJ9bm4OHR0d0HW96jU7O+tVfEeenp6wsLCAvr4+DAwMYGtrC6VSCQCg6zqOj4+ttZlMBmNjY9B1HZFIBOl02qvYStjtPjo6is7Ozk97vL6+7mX8/+Zkz99r9KHCSe90Oo2JiQl0d3cjHA4jlUp5FVsJu93f3t4Qj8cxPDyMnp4ejI+P180w/QNo0N+KiIiIqK58izMVRERE5D0OFURERKQEhwoiIiJSgkMFERERKcGhgoiIiJTgUEFERERKcKggIiIiJThUEBERkRIcKoiIiEgJDhVERESkBIcKIiIiUoJDBRERESnxC56gSh0pvAtnAAAAAElFTkSuQmCC", + "image/png": "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", "text/plain": [ "
" ] @@ -483,20 +806,21 @@ } ], "source": [ + "# Visualize the results\n", "fig, ax = plt.subplots()\n", "\n", "sns.kdeplot(\n", - " plug_in_estimates, \n", + " results['plug_in_ate'], \n", " label=\"Plug-in\", ax=ax\n", ")\n", "\n", "sns.kdeplot(\n", - " plug_in_estimates + one_step_correction_monte_carlo, \n", + " results['automated_monte_carlo_correction'], \n", " label=\"DR-Monte Carlo\", ax=ax\n", ")\n", "\n", "sns.kdeplot(\n", - " plug_in_estimates + one_step_correction_analytic, \n", + " results['analytic_correction'], \n", " label=\"DR-Analytic\", ax=ax\n", ")\n", "\n", @@ -505,6 +829,42 @@ "sns.despine()\n", "ax.legend(loc=\"upper right\")" ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGsCAYAAAA7XWY9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABhD0lEQVR4nO3deViUZdsG8HOGHQSURQaX0hAXQmVTc8ndxBBccklzXwPNJXPX1EzTMi1zN81SMktNRdFyyy0VU8mMNxcS3EBlkX1YZp7vD76ZGBhgZhyYYTh/x9HxNc8888zlHPW9Z/dy3SJBEAQQERERmSixoQsgIiIiqkgMO0RERGTSGHaIiIjIpDHsEBERkUlj2CEiIiKTxrBDREREJo1hh4iIiExatQ87giAgMzMTbDdERERkmqp92MnKyoK/vz+ysrIMXQoRERFVgGofdoiIiMi0MewQERGRSWPYISIiIpPGsENEREQmjWGHiIiITBrDDhEREZk0hh0iIiIyaQw7REREZNIYdoiIiMikMewQERGRSWPYISIiIpPGsENEREQmzWjDTnJyMsLCwhAQEIA2bdpg2bJlKCgoUHvvuHHj0Lx5c/j6+ir/Onv2bCVXTERERMbI3NAFlGbatGlwc3PDuXPnkJSUhNDQUOzYsQPjxo0rce/Nmzexbds2tG7d2gCVEhERkTEzypGd+Ph4REVFYebMmbCxsUH9+vURFhaG8PDwEvc+ePAAaWlp8PLyMkClREREZOyMMuzcuXMHNWvWhJubm/Kah4cHHj9+jPT0dJV7//rrL9jZ2WH69Ol47bXX0Lt3b+zdu7eySyYiIiIjZZRhJysrCzY2NirXFK+zs7NVrufl5cHHxwfTp0/HuXPnMGfOHCxbtgxHjx6ttHqJiIjoP/Hx8ejduzcePnxo6FIAGGnYsbW1RU5Ojso1xWs7OzuV63379sXXX38NLy8vWFhYoEOHDujbty/DDhERkQEcOHAAPj4+OHLkCEJDQw1dDgAjDTuenp54/vw5kpKSlNdiY2MhkUhgb2+vcu/evXtLBJu8vDxYWVlVSq1EREQE5ObmYurUqejXrx+eP3+O1q1bY+3atYYuC4CRhp0GDRrA398fy5cvR2ZmJh48eIANGzZgwIABJe7NzMzE0qVLERMTA7lcjt9++w2HDx/G4MGDDVA5ERFR9XP37l20a9dOGW4++OADnDt3Dg0bNjRwZYWMduv52rVr8dFHH6Fbt24Qi8Xo27cvwsLCAAC+vr5YsmQJQkJCMHLkSGRnZ2Py5MlITk5G/fr1sXLlSgQEBBj4T0BERGT6Ll++jB49eiAjIwPOzs749ttvERQUZOiyVIgEQRAMXYQhZWZmwt/fH1evXkWNGjUMXQ4REVGVkp2djTZt2sDMpgbeW7oWXo1eQeuGTjATiwxdmpLRjuwQERGRcfr333/RoEEDiMVinP03DZa9FyJJZo2lp58Cp5/C3dEai4K9EOjtbuhSARjpmh0iIiIyHJlcwMXYZByMfoSLscmQyQsngQRBwI4dO9C8eXOsXLkSx24mIHTXNSQLdhCJzZSfT0yTInTXNRy7mWCoP4IKjuwQERGR0rGbCVgSEYOENKnymrujNWZ1exk/r/sIO3fuBACcOXMWB+UBULcWRgAgArAkIgY9vCQGn9LiyA4REREBgHKkpmjQAYD7d2IwqFdn7Ny5E2KxGB9//DEWrP0WiRl5pT5LAJCQJkXUvZQKrrp8HNkhIiIiyOQClkTEqIzUCIKAzOijSDm5FZDlw9LBBb8c2ofOnTriYPQjjZ77NENa/k0VjGGHiIiIEHUvpcSITkHaE2XQsfFoBec3p8Gq3qsAgNr21ho9V9P7KhLDDhEREakdgbGoKYFT9wkQ8nJg36ovRCKx8r7WDZ3g7miNxDSp2nU7IgASR2u0buhUsYVrgGt2iIiICLXtrSEIAtKvHERuwh3ldXufXnBo3R8ikVh5HwCYiUVYFOwFoDDYFKV4vSjYy+CLkwGGHSIiIgLg4SAgI2I5Uk9tRdKhlZDnqR7ILULhrqyiIzWB3u7YOMwPEkfVqSqJozU2DvMzmj47nMYiIiKq5i5cuIC3334bqQ8fAmbmcGjVDyKL/wJMWSM1gd7u6OElQdS9FDzNkKK2vTU7KBMREZFxkMvlWLlyJRYuXAiZTAZPT09MWbYO4XfNVBYrS8rpiGwmFqGth3Nlla01hh0iIqJqKCMjAwMGDMCvv/4KABg6dCg2bdoEe3t7hMoFox6p0RbDDhERUTVkZ2cHc3Nz2NjYYN26dRg9ejREosJAY+wjNdpi2CEiIqomZDIZ8vLyYGNjA7FYjG+//RZPnjzBq6++aujSKhR3YxEREVUDjx49Qrdu3RAWFqa85uLiYvJBB2DYISIiMnlHjx6Fj48Pzpw5g7179yI+Pt7QJVUqhh0iIiITlZ+fj1mzZuHNN99EUlISfH19ce3aNbz88suGLq1Scc0OERGRCYqLi8OQIUNw6dIlAMB7772Hzz77DFZWVgaurPIx7BAREZkYmUyGwMBA3Lp1CzVr1sS2bdvQv39/Q5dlMJzGIiIiMjFmZmb48ssv0bZtW1y/fr1aBx2AYYeIiMgk3L17F8ePH1e+7tmzJ86fP48GDRoYrigjwbBDRERUxe3evRt+fn4YOHAg/v33X+V1sZj/Mw8w7BAREVVZ2dnZGD9+PIYOHYqMjAy0aNGiWi5ALg/DDhERURUUExOD1q1b4+uvv4ZIJMLChQtx6tQp1K1b19ClGR3uxiIiIqpivvnmG0yaNAk5OTlwc3NDeHg4unXrZuiyjBZHdoiIiKqY6Oho5OTkoHv37vjzzz8ZdMrBkR0iIqIqQBAE5ankn376KV599VWMGzeOi5A1wF+IiIjIiAmCgE2bNiEwMBAFBQUAACsrK0yYMIFBR0P8lYiIiIzU8+fPMWjQIISGhuLXX3/F999/b+iSqiROYxERERmhK1euYPDgwbh37x7MLSwwYso8NGr3JmRyAWZikaHLq1I4skNERGREBEHA6tWr0b59e9y7dw9WtSRweXsFTpq3wtCvL6PDylM4djPB0GVWKQw7RERERmTGjBmYMWMG8vPzYdukPWqP+AJWdZoo309MkyJ01zUGHi0w7BARERmRcePGwcnJCQ1CpsClzxyIrWuovC/8//9dEhEDmVwo+QAqgWGHiIjIgORyOX7//Xflay8vL+w5dRVCszeUW82LEwAkpEkRdS+lkqqs2hh2iIiIDOTJkycIDAxEx44dcf78eeX1LMFCo88/zZBWVGkmhWGHiIjIAE6ePAkfHx8cP34cVlZWePTokfK92vbWGj1D0/uqO4YdIiKiSpSbl48x732AHj16IDExEd7e3spt5gqtGzrB3dEapW0wFwFwd7RG64ZOlVJzVcewQ0REVEl2nbwG1yYB+Gbd5xAEATVa9oTNgBW4L6+lcp+ZWIRFwV4AUCLwKF4vCvZivx0NMewQERFVgmM3EzDts+3IiLsBkaUNXIJnwjnwPTzLgdqt5IHe7tg4zA8SR9WpKomjNTYO80Ogt3tlll+lsYMyERFRBZPJBSyJiIFdy0Dkpz9DDe9usHCqC6BwZ5UIhVvJe3hJVEZrAr3d0cNLgqh7KXiaIUVt+8KpK47oaIcjO0RERBUkLi4OQ4YMwakbcUhIk0IkEqFWxxHKoKNQ1lZyM7EIbT2c0cenLtp6ODPo6IAjO0RERBVg//79GDt2LJ4/f44kKYAmw8r9DLeSVwyO7BAREelRVnYOBo4Yj7feegvPnz9H6zZtEDptlkaf5VbyisGwQ0REpCfbjlxAbc8W2LvzawCAQ+v+QO8lsK4l4VZyA2LYISIi0oOV2/difP8eyH58F2IbB9QesBi1uozB08wCTPr+GkJaFu6e4lbyysewQ0RE9P9kcgEXY5NxMPoRLsYma3zQpkwu4KdYEcSWNrCq7w330Wth4xEA4L+DOw/9mYD1Q325ldwAjHaBcnJyMhYuXIioqCiYmZkhJCQEs2fPhrl56SXfvn0bAwcOxJYtW9CmTZtKrJaIiKq6YzcTsCQiBglp/y0Sdne0xqJgr1KDyKNHj1C3bl1E3UtBkswabkNXwtyxNkRiM5X7FLutatlZ4fzsrtxKXsmMdmRn2rRpsLW1xblz57B3715cvHgRO3bsKPX+nJwczJgxA1IpV7ITEZF2jt1MQOiuaypBBwAS06RqG/4JgoDt27fD09MTO3fuVO6isqjlXiLoFPU0Q8qt5AZglGEnPj4eUVFRmDlzJmxsbFC/fn2EhYUhPDy81M8sWbIE3bt3r8QqiYjIFCga/qmbsFJcWxIRo5zSysjIwPDhwzF27Fjk5OTgwIEDPLjTyBll2Llz5w5q1qwJNzc35TUPDw88fvwY6enpJe4/cOAA4uPjMXny5Mosk4iITEDUvZQSIzpFFW34Fx0dDX9/f4SHh8PMzAzLli3DTz/9xIM7jZxRhp2srCzY2NioXFO8zs7OVrkeGxuLNWvW4PPPP4eZWelDh0REZHp0XVBclCaN/ARBwI5tm/Haa6/hzp07qFevHs6cOYN58+ZBLBbz4E4jZ5QLlG1tbZGTk6NyTfHazs5OeS03NxfTp0/HvHnzUKdOnUqtkYiIDEuXBcXqaDK1lPckFlu+nQ8ACA4OxjfffANnZ2fl+zK5AEcbS4xp3wA/Rz9CSla+8j1HGwuMbt8APbwkGtdE+iUSBEH7GFzB4uLi0LNnT1y4cAEuLi4AgMjISKxcuRJnzpxR3vfHH39gzJgxsLS0VF7LyMiAra0t+vTpg8WLF5f7XZmZmfD398fVq1dRo0YNvf9ZiIhI/xQLiov/D5hi3ESbrdwyuQD/j4/jeXZ+qffYWZmhr+wCXF2cMXXqVIhE/43QqAtdNazMIRcEZOfJlNd0CWKkH0Y5jdWgQQP4+/tj+fLlyMzMxIMHD7BhwwYMGDBA5b6AgADcuHEDf/zxh/IvANi0aZNGQYeIiKoebRcU60IQBKT/cRD5zxMBAFm5Mpy07Yym3QeXCDrqdnFl5haoBB2g9J1dVPGMMuwAwNq1a1FQUIBu3bph0KBBeP311xEWFgYA8PX1xaFDhwxcIRERGYI2C4o1fV7RUR1ZTjqe7fsIqSe3IunQSgiyAgBAYrpqWCkrdJVWF/DiQYy0Z5RrdgDAxcUFa9euVfve9evXS/3crVu3KqokIiIyApqeDK7LfdIHN5EUsQqyjCTAzAI1WrwBFOubsyQiBj28JOWGLnWKBrG2Hs7l3k/6YbRhh4iISB1997SpbW8NQS5D+qW9eH4+HBDkMHeqB9c+s2BZ+xWVe4uGFU3DlDov8lnSHsMOERFVKYqeNolpUrVTSCIUnjelaU+bRo5A2s9LkHb3GgDA7tUucHojDGJLm1I/ozjqQVdsLli5jHbNDhERkTr67mnjYF8Drhb5EFlYwfnN6XDpPaPMoANAeaZVWY0E1WFzQcNg2CEioion0NsdG4f56XyCeEFBAQoKChceW1lZ4VjEz9i091c0av9mmZ8rGlbKCl2lfRZgc0FDMMo+O5WJfXaIiKoumVwo9QTx0t57+PAhhg4dis6dO+Ojjz4q8bx1p+5izYnbJb6rtB4+6vrs1LS1AACVXV7ss2M4DDsMO0REJqe07sq9HBOw9sNpSE5OhqOjI2JjY1U6IZf3+dLCirpgBaDUIEaVi2GHYYeIyKSo664syPLx/OxOpEftBwD4+flhz549aNSoUanPKWvUiKoW7sYiIiKToa7RX0HaEzw7+CnyEgr7sEna9sO5k9/D1sa6zEBjJhaxF46JYNghIiKTUbzRn1CQh8RdMyHLTIHYyg7Ob06DVeO2+PNxFtJyUvVykCgZP+7GIiIik1G8WZ/I3BI1Xx8GqzpN4T76K9g2bgsAOB6TqPZMK55fZZo4skNEREZH1/Uyte2tkZ/yCPLcLFi5NwYA2DXvATvvbhAVOfbhQPTjUg8SFeG/IyG4Rsc0MOwQEZFRKWsnlOJMqtJCUOzFY0j8dhpEVjXgPnotzGzsC08pF/0XdByszZGSlVfq9/P8KtPDsENEREZD3U4qoHB66d1d11DT1kJt75qOrzhiypQp2LZtGwDAys0D+P/TyotLl6q/XhzPrzIdXLNDRERGQd1OKgXFtaJBBygMQWPX/IxmLXyxbds2iEQifPjhh9gXcRT16r7YImOeX2U6OLJDRERGofhOqvIIgoDMv44j5fhmCAW5kEgkCA8PR9euXQEAPV6tg9c+OYGUrPxynqRK24NEyfgx7BARkVHQZdooJ/YPCAW5sG7gi6/3fI+urZsq37san6pT0AF4fpWpYdghIiKjoO20kUgkgnOvKbB6qTns/YKQZ2Gv8r4u4UnCPjsmiWGHiIiMQuuGTnB3tEZimlT9uh1BQOb1I8hNuA3nN6dDJBJBbF0DDv7BAIClh/+GjYVYGVQ0DU8Lg5rBxd6KR0KYMC5QJiIio2AmFmFRsBeA/6aTFOTSTCQd+AQpxzch6+YpSP+9WuLzKVn5Kg0BFeGptOgiQuFurlHtG6KPT1209XBm0DFRDDtERGQ0Ar3dsXGYHySO/43K5D6+hSffTkX27d8BsTlqdRsP61f81X5eALD40N+QyYUywxPX5lQvDDtERGRUAr3dcX52V4SPbY0ueZfwbPds5D1/Akm9l9Fk/BdwCOhT2CiwFInpuVh36q7yWcXDE1C4NmfjMD+uzakmuGaHiIiMjlgEfLNyLnb8f5PAQYMGYcuWLTgVm4HpP/5Z7ufXnLiNJpIaCPR2R6C3e7mdl8m0cWSHiIi0JpMLuBibjIPRj3AxNhkyubolxboTiUQYPnw47OzssGnTJvzwww9wdHSExNFG42csiYhR1mUmFqGthzPX5lRTHNkhIiKtlHV21YtMC8lkMvz9999o0aIFAKBTp06Ij4+Hs/N/51MpFh1r0nyQ51uRAkd2iIhIY4qzq4qHjcQ0qcpOKG0lJiaiZ8+eaNeuHW7duqW8XjToAKo7tjTB860IYNghIiINaXJ2VdGpI00dP34cLVu2xMmTJyEIgkrYUSfQ2x3Tu3tq9Gyeb0UAww4REWmovLOrBPw3daSJgoICzJ8/Hz179sTTp0/RvHlz/PHHHwgJCSn3s5O7ekLiUHqQUfTQ4flWBDDsEBGRhjSdEtLkvgcPHqBLly5Yvnw5BEHAhAkTcPnyZTRr1kyj7zATi7A4xAsisIcOlY9hh4iIyiWTC0jKyNXoXk2mjrZt24bz58/D3t4eP/zwAzZv3gwbG813WgHsoUOa424sIiIqk7rdV+qIUBg0NJk6mj9/PhITEzFz5kx4eHjoXBt76JAmGHaIiKhUit1X5S05Lm/q6N69e1ixYgW++uorWFpawsLCAps2bdJLjYoeOkSlYdghIiK1ytp9VZykjD47e/fuxbhx45CWlgYXFxcsW7ZM/8USlYFhh4iI1Cpv95XCwqBmGNW+YYkRHalUihkzZmDDhg0AgLZt22LixIkVUitRWbhAmYiI1NJ095WLvVWJoHP79m289tpryqAzZ84cnDlzBi+99JLe6yQqD0d2iIhMgEwu6H2RrqYN+Yrfd+TIEQwePBhZWVlwdXXFzp070bNnzxeqhehFMOwQEVVxFXVWVWpWXrn3uDtaw//lWrgYm6wMWo08G0MsFqNLly7YtWsX6tSpo3MNRPogEgRBv0fVVjGZmZnw9/fH1atXUaNGDUOXQ0SkldJ2SynGdHTtNyOTC+iw8lS5a3bGv94Ah28k4mHiU5jZOAAoDEAjmogwoU8nmJmZaf3dRPrGNTtERFVURZ1VBWi+OHnL2Xu4ffYQHm0cg5z4PwEUHgr6aVQOjv/vqdbfS1QRGHaIiKoofZ9VVZQmi5PludlIiliFlGNrIeRLkXXzpPJ7Ad2DFpG+cc0OEVEVpc+zqoorb3Fy3pNYPDu4AgWpCYBIjJodR8ChTX/l+0WDFhv+kaEx7BARVVG67pbShP/LteBkZ4mUYouUBUFAxrXDSD29DZAVwMzBFS7Bs2BdT/0BnroELSJ9Y9ghIqqiWjd0grujNRLTpGrX7WhzVlVRit1dxYMOAEjjopF6YjMAwMbzNTj3mgozG/tSn6VL0CLSN4YdIqIqykwswqJgL4TuugYRoBJ4yjurqjTlnYVl3cAHrv490a9be/zp2BZP0nP1GrSIKgIXKBMRVWGB3u7YOMwPEkfVERSJo7XW287V7e4SBDkyrh2GLCcDAOBcwxIPLh7B5pULsTjkVQD/BSsFXYMWUUXhyA4RURVTvFtyDy8JenhJXriDcvHdXbLsNCQfWYOcf/9Azr3rcO2/AClZ+bh2/znaejgrg1bxhoZlHQpKZAgMO0REVUhFdUsGVBcTS+//haSIzyDLTIHI3BI2Hq3U3hfo7a6XoEVUkYx2Gis5ORlhYWEICAhAmzZtsGzZMhQUFJS4Ty6X46uvvkKnTp3g6+uL4OBgREZGGqBiIqKKpVhPU7y3TmKaFKG7ruHYzYQXen5te2sIchmeX9iNJz/MhywzBeZO9SAZsRr2PoEQiUTK+4oyE4vQuqETattb42lG4XZz9tchY2K0IzvTpk2Dm5sbzp07h6SkJISGhmLHjh0YN26cyn3h4eE4cOAAdu7ciZdeegmnT59GWFgYvL29ebouEZmM8roli1DYxK+Hl0TnUZUGdgV4vm8x0v+9DgCw8+4Gpx6hEFsWhpvSFh1X5GgTkT4Y5chOfHw8oqKiMHPmTNjY2KB+/foICwtDeHh4iXvfeecdRERE4KWXXkJeXh5SUlJgY2MDa2tudyQi01GR3ZJlcgEXY5Nx6nYSzLKeQmRhDZeg6XAJmq4SdICSi44rerSJSB+McmTnzp07qFmzJtzc3JTXPDw88PjxY6Snp8PBwUF5XSwWw9bWFufPn8f48eMhCALmzp2L2rVrG6J0IqIKoUu35OILmdWtpTny50MsPfIPEtNzAQBWgTPR2N4O5k71kZn739IBdYuOK2O0iUgfjDLsZGVlwcbGRuWa4nV2drZK2FFo3bo1/vrrL1y5cgVhYWFwdXXFm2++WSn1EhFVNJcaVlrdp8nU0s4Tf2D8qJGw8+4Ke59AAICVpBGkAFAk6DjZWWBhULMSU1LajDbxyAgyJKOcxrK1tUVOTo7KNcVrOzs7tZ+xtLSEubk52rZtiz59+iAiIqLC6yQiqjSarvcVNJtaOnDwEMaEdEXuoxg8P78L8vzSQ0tqVj4mfX+9xJRURZ7NRaRPRhl2PD098fz5cyQlJSmvxcbGQiKRwN5etS35ihUrsGLFCpVreXl5qFmzZmWUSkRUKZKycjW672mGtMypJUGWj9Hvvod+ffugICcDlpJGkLzzGcQWpa9zLO0U84o8m4tIn4wy7DRo0AD+/v5Yvnw5MjMz8eDBA2zYsAEDBgwocW9AQAB++OEHXLlyBXK5HKdOnUJkZCQGDhxogMqJiCqGpoEhJSuv1Kml/OeJSAifhcQL+wAA9gF9IHnnM1jUKn/HlLoF0IqzuUpbjSNC4dQZj4wgQzPKsAMAa9euRUFBAbp164ZBgwbh9ddfR1hYGADA19cXhw4dAgB0794dCxYswIIFC9CqVSusX78eX331Ffz8/AxZPhGRXmkaLJxKWdsjk2Yi8dtpyEu4A7F1DYxatB5O3cZDZG6hVR1Fp6QUZ3Mpvr94PQCPjCDjIBIEoVp3fsrMzIS/vz+uXr2KGjVqGLocIqJSKdbiAOoP/dw4zA+ONpYYsvWS2s8/P/89pHHX4RIyE3umB+ODvX+WemJ6aRYGNcOo9g1LbD9nnx0yZgw7DDtEVIWUFywibzzG5N3XIReA/OSHgEgEC6e6AABBLgMEAXWcauD87K44HpOoNjyVR12Q0WSbO5GhMOww7BBRFVNasFCM/AgAMm+eQsqvG2Beyx3uwz+HyNxS+fmJHRti7puF00/qwlN5io4kceSGqgKj7LNDRESlMxOLSvStUTT4k+VJkXJ8E7JungAAiK3tIc/LgVmRsHPozwTMCmwGM7GoxEGecUlZ2B11X9lkUB02DKSqhmGHiMgERN1LQfzdf5B0cCXykx8AIjEc2w+BY9tBEInNVO5NSJNizfFbaN/IVTkqVDQ8Te7qiR0X7mHpkf+V+n1sGEhVCcMOEVEVpZjOepKeg/BvtyPxu2UQCvJgVsMJLsEzYf1S81I/u+50LNadjlW7/sZMLIKLvWYdm9kwkKoChh0ioiqo6FobQS7Dk592QyjIg3VDf7j0fh9mto4aPUfRVbn4+hs2DCRTwrBDRFTFFF2IDAAisRlcQmYh+9YF2LfqA5FI8xZqpa2/UfT1KW1rugiFh4OyYSBVBUbbVJCIiEqSyQUsPvQ30q5GIPXsd8rr5o614dC6n1ZBR0Fdd2Q2DCRTwrBDRFSFnIj+Fzd2LETqic1Iv/gjch/f0tuzi6+/CfR2x8ZhfpA4qk5VSRytue2cqhROYxERVRGXLl3C8P4DkZPwEDAzR60uY2Hp3ljtvZO7NIKHqx1SsvKQkp2H9adjy32+uvU3xbems2EgVUUMO0RUrRlT59/SapHL5fj8888xb948FBQUwLymO1z6zIaVpFGpz2rfyEW5JVwmF7D/2iOd19+o6+tDVJUw7BBRtWVMZzqVVcuOj6djz549AIDBg99GbJMhSMo10zi4KNbfhO66BhHUn6vF9Tdkyrhmh4iqJcWOpuLHJCi2Yh+7mWA0tTTw6whra2ts3rwZu3d/j6UDWwHQbuEw199QdcazsXg2FlG1I5ML6LDyVKnnQSlGR87P7lrhox3qahHkMhSkPYVFLXdlLbM71IbI3kk5vXU8JlGnUaniU2X+L9fC1fhUo5jGI6oonMYiomon6l5KmQdfVuZRCMVrKchMQVLEKhQkP4D76LUws6uFhDQpph25D+A+gP9CzfnZXbVeb1R0/c2xmwno9Nlpo5jGI6pInMYiompH0yMOKuMohKLfkfPvVSR88x5y79+APC8HeU/j1H5GMb11PCYRbT2c0cenLtp6OGs1ImNM03hEFY1hh4iqHWM6CqG2vTUEWQFSz+zA058WQZ6dBovaDeE+8gvYNPRV+xnF2oMlETGQybVfiaA4IV3dJ1/02UTGSOewExsbi8zMTABAdHQ0YmPL7+FARGQMFEchlDUOUtPWolKOQnA3z0LKj/ORfmkvAKCGbxDch38OC+d6ZX5OXddjTWkzjUdkCnQKO0ePHkXfvn0RFxcHALh+/ToGDhyIM2fO6LM2IqIKodiKXda4xfPsfByPSazwWlZ8shyZ9/+GyNIWrn3mwPmNUIjMLTX+vC5TbcY0jUdUGXQKO+vWrcOGDRvg7e0NABg9ejS+/PJLfP7553otjoioovTwkqCmrUWp7ysOx6zoqZzPPvsMgwcPxrYDJ+HRprvWn9dlqs2YpvGIKoNOYSchIQGvv/66yrUOHTrg8ePHeimKiKiiRd1LwfPs/FLfr6ipnNjYWMybNw+Krh/29vb44YcfMKJnG6wa0BKTu3hgcpdG2DmmNSQOVqVOtYlQuHNKl6m28qbxXuTZRMZIp63ndevWxblz51QCz8WLF1GnTh29FUZEVJEqeypHJhfwybrt+GT+dGRnZsC9Th28N3kyAPXdk/dds0YfnzrYcvae3rses6MyVTc6hZ0JEyZg0qRJeOONN1C3bl08fvwYx48fx8qVK/VdHxFRhdB0iiYpIxcHox+9UMO9g3/8iwmTpuJp1GEAgFVdL2y/7wT5idtIy8nH9gtxJT6TmCbFlrP3MKFjQxz6M0ElCEn00AtH0VG5eMjSx7OJjI3OHZQvX76MAwcO4NmzZ3B3d0e/fv3g5+en7/oqHDsoE1VPis7FpR2OCQBiEVB0yU7xhnuaHCK69dBZTBo3EvnP4gCI4NB2IGp2eAcisVm5NSq6J5+Z2aXCuhwb00GoRBWFx0Uw7BBVW4rGegDK3JmloIgAG4cV/oddecc17N27D4PfGQZ5nhRi25pw6f0+bBpq/x+Fu8e/xlPHiV6AVtNYEyZMwJYtWzB8+HCIROqT/3fffaeXwoiIKlppUznFR3QUBBQGnjn7/0Jadn6JgKToPqw4WDMVNSAvyIf1yy3g3PsDmNfQbcFvYloOLsYmc/SFSEdahR1/f38AQJs2bSqkGCKiyhbo7Y4eXhLlVE5SRi6WHvlfqfcLQKm7uAQAQm42lkTEoIeXBLUbecNtyApY1Wms0bRVaZYe+R9SsvKUr3l+FZF2tAo7EydOBAB4eHigV69eJd7fs2ePfqoiIqpERQ/HPBj9SKdnCIKAzD9/wfMzO5A/dAWi7vmgtr01rOs1e+H6igYdoOQIEhGVTeM+Ozk5OXj8+DEeP36MefPmISEhQfn68ePHuHXrFlasWFGRtRIRVThdGunJc7ORdOhTpPyyDnJpJjKjj+FphlSjYyl0wfOriLSj8chOZmYmgoKCIJVKIQgCunTpoly3IwgCRCIRunfXvvsnEZExUQSUsnZpFZWbeBdJB1ei4HkCIDZDzY4j4dC6L1xqWJXZz6Y8TnYWSMnSrOkhFy8TlU3jsOPq6ooTJ04gJycHwcHBOHz4sMr7VlZWcHFx0XuBRESVqbyGewIKDwl9npWH9KsRSD29HZAXwMyhNlxDZsGqblMAwIwfo7E45NVSF0GXZmz7BujuJUFiuhTT90SXez/PryIqn1ZrdpydC//rYf78+XB2doa1Nc9NISLTU17DPQAYPm8NUk9uAQDYNG4L515TYWb9X/uKJ+m5Kutqii6CjkvKxu6o+0hML33b+sXYZI1q5flVROXTqc9OcHAwHj16hMDAQLz11lvKXVpVEfvsEFFpymq4d+TPh3hnYH+IX/aDvV9vte04FE0Bz8/uWmKreHnN/MpreljWs4lIlU4HgUZEROC7776Dra0tJk+ejJ49e2Lz5s148uSJvusjIqpQMrmAi7HJOBj9CBdjkyGTC8prh28UHm7cu0UdtGlYC99s3waptHA0JqhlPRw+fAQO/sGl9h0r6zBRxQ6wPj510dbDuURgUUynASixwJnnVxFpR6ezsQDA29sb3t7emDNnDs6fP4+1a9di7dq1aN++PYYOHYrOnTvrsUwiIv1TdwBnTVsLAKq9dFzMcoAz63H1wm+4fv061q9fDwA4deupRt+j67oanl9FpB86hx0A+Pvvv3Hw4EFERkZCLpdj+PDhqFu3Lj7++GP89ttvWLx4sZ7KJCLSnbopo+MxiQjdda3EFFHxhoHS+zcQHbEKsswUWFhaoWVLH8jkAi79m4w9fzzQ6PtfZF1N8fU+7KBMpD2d1uxs2bIFBw8eRHx8PDp06IABAwagc+fOMDcvzE43btzAyJEjcf36db0XrG9cs0Nk2tSN3kgcrCAtkJfaCRkABLkMab/vQdrvPwCCHBbO9eHSZzZcX2oEkUhU5meLcrKzwJX5PRhOiAxIp5GdAwcOoH///ujbt6/a7eZ16tTBvHnzXrg4IqIXoTjos8QZVum5ZX6uIDMFSRGrkHv/BgDArnl3OHV/F2JLa6TlFGhVQz+fugw6RAamU9iJjIws830XFxcMHDhQp4KIiPRBJhewJCJGq0Z+/324APlPYiGysIZTz0mo8WoXnevo7iXR+bNEpB9ahZ2yTjtX4KnnRGQMou6laNTET0HRCR4AzB1rw6XvXJg7uMLCqa5O36/YGt66oW4nnROR/mgVdnjaORFVFdrsgCpIf4qkQ6vg0HYgbD1aAQBsGvjo/N3cGk5kXLQKO5MnT66oOoiI9ErTHVDZdy4hOfILyKWZSD2xBTYN/SASm73Qd3NrOJFx0WnNTmpqKnbu3IknT55ALpcDAPLz83H79m0cOnRIrwUSEZWmrC7E5R3oKRTkI/v8t0i6fAAAYOnuCZeQ2ahVwxqCIGi9EBkAbC3NsHV4AF5T0ySQiAxHp7Azd+5cxMXFwcnJCZmZmahTpw7Onz+Pd955R9/1ERGppW5LuZOdJT7u4403W7iXeaBnfmoCkg6tRF7iXQDA22NC8da7M1HXyQGtGzrh97tJGL49SuuaJnZ8Be09eSAykbHRKexcuXIFkZGRePLkCbZs2YJ169bh4MGDJU5CJyKqCKVtKU/JykPY99cw8WFDzH3TS9mBeM7+v5R9cQrSk5CwYyqEvGyIre3hEjQdI6e/qzLldFnN8Q7lqWVrgcldPV/kj0VEFUSns7HMzc3h5uaGBg0a4NatWwCAoKAgxMTE6LU4IqLiNNlSvvnsPUT+/7lWPbwksDb/bw2OuYML7Jp2gFU9L7iPXgvbRq2xJCIGMnnRJ2q3YV0E4JP+zTl1RWSkdAo7devWxc2bN+Hg4ICsrCykpKQgOztbeUCePiQnJyMsLAwBAQFo06YNli1bhoIC9XPou3fvRs+ePeHr64uePXsiPDxcb3UQUeUpeijnhbtJuHAnSeWATgC49G+yRlvKFxy8qVzT8+DeHciyUpXvOfV4F25DPoG5g6vawzrbvqL5VJS7ozXWD/WDo41liVqJyDjoNI01dOhQDB8+HEeOHEHv3r0xcuRImJubo1WrVnorbNq0aXBzc8O5c+eQlJSE0NBQ7NixA+PGjVO578SJE1i9ejW2bt2Kli1bIjo6GhMmTICLiwt69uypt3qIqGKpW4NTlLujNUJaumPPlYcaPS8lKx9R91Kw+/tdSPh2NqzqeqH2oCUQicQQmVuWuL/oVvXXPJxR09aizCMhbC3NsHVEANKy87D0iGrd7tyNRWRUdDobCyg8/6pp06YQiUT45ptvkJWVhTFjxsDR0fGFi4qPj8cbb7yBs2fPws3NDUBh1+bPPvsMp0+fVrk3PDwcWVlZmDBhgvLa5MmTIZFIsGDBgnK/i2djERleaWtwXoQ8LwfOf+5C9KmDAADrl1vAtd8CiK1s1d6/e/xraOvhrFLTu7uulfr8TcP8AEBt3YrJrI3D/Bh4iIyAzqeet2jRQvn3RYOGPty5cwc1a9ZUBh0A8PDwwOPHj5Geng4HBwfl9eI7wJKTk3HlyhXMnTtXrzURUcV4oWMdSpH39B6eHVyJBykPAZEYjh2GwvG1gWr755TW6TjQ2x2bhvlh8aG/Vc7SkjhYYXHIq+jhJUGHlafUb2v//+cuiYhBDy8J1/IQGZhOYefOnTv49NNPERcXp+yzo3Dy5MkXLiorKws2NjYq1xSvs7OzVcJOUc+ePcPEiRPh7e2N3r17v3AdRFTxtD3WoSyCICDzz1+QenILhII8mNVwhkvITFjX91Z7f3mdjgO93dHDS6K2l8/F2LLXDhVdC1R0xIiIKp9OYefDDz+EjY0NJkyYAHNznQeHSmVra4ucnByVa4rXdnZ2aj8THR2NqVOnIiAgAJ988kmF1EVE+qfNsQ7lEQpykR61H0JBHmxeCYBz0HSY2ZY+te5kZ4ll/bzLnGoyE4vUhhVN69bnn4+IdKNTIrh16xbOnj1bYWtcPD098fz5cyQlJcHFpXBXRGxsLCQSCezt7Uvcv3fvXnz88ceYMmUKxowZUyE1EZHmyupsXJymxzpoQmxhDdc+syGN/xP2rfpCJCp7w+mCoGY6r6nRtG59/vmISDc6hZ3atWsjLy9P37UoNWjQAP7+/li+fDk++ugjpKamYsOGDRgwYECJe3/55RcsXrwYGzduxOuvv15hNRGRZtTtqiprd1J5xzqURRAEZPxxCCIzM9j7FU5dW7p5wNLNQ6PPSxxtyr+pFOXVzVPPiYyHTn12hg0bhkmTJuHo0aO4cuWKyl/6snbtWhQUFKBbt24YNGgQXn/9dYSFhQEAfH19lWdwrVu3DjKZDFOmTIGvr6/yrw8//FBvtRCRZhS7qoqvZUlMkyJ01zUcu5lQ4jOKYx2A/9bQaEKWk4Fn+z9G6qmtSDn5NfJTHmn8WREKA9iLBJGy6uap50TGRaet502bNlX/MJEI//vf/164qMrEredE+iGTC+iw8lSpi3YVIx3nZ3dVGwDK67NTlPRhDJIOfQZZxjPAzBxOXcehhm8QRKLyg4W+t4VrO5JFRJVPp2msf/75R+31/PzSG3ARkWkrb1dVebuTiu98cqlhBQjAyX+eYPuFOIgAyAU50i/vw/OzOwFBDvNa7nDtM0fjaSugMHDpM4iUtWOLiIyDXrYsZWRkYPfu3di5cyfOnTunj0cSURWj791JYpEIrV9xQntPF7Ru6ITFh/7Gje3zkBNbOF1u69UJzm9MKrVJYFGTu3jA082+woJIaTu2iMg4vFDYefjwIXbs2IH9+/fDysoK/fr101ddRFTFaLrrKC4pS+31yBsJWHDwJlKy/tv8UHQ6qGtTNzT8rQWk8Tfg1GMi7Jr30GjaCgDaN3JlGCGqxnQKOzdu3MC2bdtw4sQJCIKAJUuWoG/fvrCwsNB3fURURbRu6ASJgzUS08seudkddR+Tu3qqjK58EhmDzWfvlbj3cWoWxm88jq2hPeBoYwlz3z5wf6UtLGpKNKqJO6KICNByN9aJEycwZMgQjBw5ErVq1cKhQ4fg4OCAjh07MugQVXNmYhGGtH6p3PsS03NVThiPvPFYbdApyEjGkz0L8GTPAny47yoS03IgEom1CjoAd0QRkZYjO5MnT8aQIUOwdetW7lwiohIauJS/fgb4b92OTC5gwcGbJd7P+fcqkg5/DnlOOkQW1rh/539IyfLSqhZ9L0QmoqpLq7AzevRo7N+/H9euXcOwYcMQEhJSUXURURWkbVfhqHspSMn6bxenICvA83O7kH55LwDAovYrcO0zGxZOdVHL1rLcJn5OdpZYENQMEkcb7ogiIiWtprFmz56Ns2fPYtiwYfj+++/RsWNHZGVlIS4uroLKI6KqRNFVuLSIUbyZX9GdWQVpT/Hk+znKoGPvFwT34atg4VQXAPBxZAxCWrorn1P8uQCwrJ83+vnVQ1sPZwYdIlLSuoOylZUVBg4ciJ9//hnr169Ht27dMHbsWPTr1w87d+6siBqJqIrQtqtw0ZGglJNbkPv4H4is7ODSdy6ceoRCZG753/tZ+dhy9h4mdGwIiaPqCJLE0VpvTQKJyPTo1EG5uKdPn2L37t3Yu3dvleuzww7KRPp37GYCFh+KUdmZpa6rcNGuywUZyUj5ZR1qdZ9Y6iJkxe6qMzO74Gp8Kpv4EZFGdDobq6gtW7agdu3amDp1Kk6fPq2PmoioipHJBVyMTcbB6Ee4GJsMuVwAiq2sKf7fVXfv3sWXX6zBomAviACY2zuj9oBFZe62UnRhvhqfirYezujjU5dTVkRUrhfuoLxp0yZMmDCh8GHmemnITERViKZnWj1Jz0XormvYOMwPKTd+w/gJE5CdlYnl652xfugbWHpEs3OxAM27MBMRAXo6LoKIqifFKeeazIULAIT8XLwzahxSrkYCAKzqeWH9TaB+WgwWBjVDQpoUS4+Uf5iwpru+iIgAPUxj6WHJDxFVQTK5gCURMRoFHQDIT3qAhO/e//+gI4JD28FwG/IJzB1ckJgmxaTvr8Pd0Vqr3VxERJp44ZGdrVu36qMOIqpiyjvlvKismDNIPrYWQn4uxHY14dL7A9g08FG+L6AwyCw98j8sDPLCpO+vlXjGi3RElskFnkpOVI1pHXYyMzMRHx8PT09PWFpaIiAgAACQkpKCefPmYdOmTXovkoiMjzbrZkTmlhDyc2H9cku49P4AZjVqlbhHsfj4ztMMONpa4Hl2vsr7NW0t8En/5lpvL1e3pkjdzjAiMl1aTWNdvHgRnTp1woABA9CrVy8kJiYCAH7//XcEBwfj9u3bFVIkERmf8tbNCAX/nV5u27gtag9cgtqDPlIbdIpac+JOiaADAKlqrpVHsaao+AhUYpoUobuu4djNBK2fSURVj1Zh5/PPP0dQUBAOHTqEVq1aYePGjTh8+DAmTJiANm3a4ODBgxVVJxEZmdK6JQuCgIzoo3i0ZQIKMpKU121e8YdIbKbz94kALImIgUyu2SqhstYUKa5p8zwiqrq0CjuxsbGYNWsWPD09MWvWLJw6dQqLFy/GwoULsXr1atjb21dUnURkZNR1S5bnZiHp0KdI+WU9ZBlJyLx+VG/fp5jmKnpielnKW1Ok7fOIqOrSKuyIRCJll2EnJyekpqZiwYIFGDx4cIUUR0TGLdDbHRuH+UHiaI3chNtI2DEV2f+cA8RmqNVlDBxff0ej52izVFjTtUL6vo+Iqq4X2npuYWGBPn366KsWIqqCer4qwUDrG0jaPRsFzxPh4FoHknc+hUPr/hCJNPt/MRJHa0zv3lije7U9WV1f9xFR1fVCW88tLCwgEnH7JlF1tmHDBsx4/30AQPvub+L+qyMgti79nDkRADcHK3w+yAdJmbnKreAyuYAvT95GWUtoxCLA/+WyFzgrKNYUJaZJ1a7bUZyzxZ49RKZPq7CTl5eHdevWKV9LpVKV1wAwefJk/VRGRFXC6NGjsX37doweMwa70ppAnJ5b7mcWh7yK9o1cVK5F3UspM+gAgFyA8lys8ijWFIXuugYRVE/qepGePURU9WgVdnx9fXH58mXl65YtW6q85igPkemTy+X44Ycf8Pbbb0MsFsPW1hZRUVGIinuOVVsvlfv5QG8JHG0sIZMLKkGjItbYKNYUFe+zI2GfHaJqRauws3PnTgCFjQWjo6Px/PlzODs7o2XLlrC1ta2QAolI/3TpKCyTCzh25R8smB6K6ItnEH//PubOmQMAMDMz0ziEHL2ZiKM3E+HuaI2FQV6oZWeJpxlSJGWUPyIEaL/GJtDbHT28JOygTFSNab1m5+uvv8a6deuQm5urPBfLzs4O77//Pt55R7OdF0RkOLp0FD52MwHvfxGO2z8shywrFSJzK3z9RzJ8byYoP6NtCElIkyKs2LEQYhFKncp6kTU2ZmKRRlNfRGSatNqN9dNPP2HTpk2YP38+zp49i5s3b+LMmTP44IMP8OWXX+KXX36pqDqJSA906Sh8JPoB3p74Pv63bRZkWamwcHkJkhGrIW/UWeUzpTUZ1EZZQQfgGhsi0o1WYef777/HJ598goEDB8LV1RXm5uZwc3PDkCFDsHjxYuU0FxEZH106Ct9/8BBD+vVG2u8/ABBQo8UbkIxYDUvXl0t8Rl2TQV0VzzMSR2tsHObHNTZEpBOtprHi4uLQpUsXte91794dH3/8sV6KIiL906ajsGLK59S128h4EAORpQ2ce06CnVfnMj9T2oJgbckFYGFQM7jYW3GNDRG9MK3Cjkgkgrm5+o9YWlpCKmUnUiJjpekC4ifpOcq/r/VyE7gEvQ9LNw9YONXV6NlFFwRfuPsM607H6lSvi70V+viU/p1ERJp6oQ7KRFR1aLKAuCDtCT4Y9RauXr2q/Ixds45lBh11z1YsCJ7eo4nO63jY2ZiI9EWrkZ2CggIcOHCg1PdlMtmL1kNEFaS8jsLZt39HcuSXkOdmYciIMbh1MxqtGzpB4mCFxFIaBZa3Q6qsxn6lYWdjItI3rcKOi4sL1q5dW+r7zs7c2klkrBTB491dqtu9hYJ8pP62HRlXIwAAlu6NYffmTMgF4HhMIjKkBWU+t7wdUtqs4+GuKyKqCFqFnVOnTlVUHURkAPkpj5B06FPkPSlcV+PQuj9qdhyOVDMLrDt1F2tO3C7z8xM6NtRoh5S6xn6pWblYeuR/7GxMRBVOJCg6A1ZTmZmZ8Pf3x9WrV1GjRumHFxJVdTK5gA4rTynDRV7SfSTunAEhLwdiGwc4B02HrUcr5f2ONhZIy8kv85kSBytcmNNN51EYXTo5ExFp64VOPSeiqqP41nML53qwqusFIV8Kl+CZMHdQPZizvKADAInpuSpb1bXFzsZEVBkYdoiqiacZUuQnP4CZvSvEltYQicRw7TMLIgtriMRmKvdquphY8VwiImPGredE1YAgCLjy689I+HYaUk5sVl4XW9mVCDqA5kEH4BZxIjJ+HNkhMrCKXreSkZGBsLAw7Nq1q/D70p9BKMiDyNzyhZ8tcbDiFnEiMnoMO0QGpMsJ5NqIjo7G4MGDcfv2bYjFYgyfPAu/WbeDSCTWavSmNItDXuWCYiIyepzGIjIQXU4g15QgCNi4cSNee+013L59G3Xr1sVvv/2GHV9+gk3DAyBxVJ16cne0xtj2DTR+fk1bC2ziwZxEVEVw6zm3npMBFN8GXpyii/D52V11GjlJTk5Gs2bN8OzZMwQFBWHHjh1wcflvt5W6qbOoeykYsvVSuc+e/2YzjOnQkCM6RFRlcBqLyAB0OYFcG87Ozvjuu+8QExOD6dOnQyRSDSbqtnyXd5yEIoAx6BBRVcNpLCID0HS7tqb3CYKANWvWYP/+/cprgYGBeP/990sEndIojpMAUOLgTh7jQERVGcMOkQFoul1bk/uSk5MREhKC999/H2PGjEFiYqLOdSnOsSq+pkfiaI2NXKNDRFWU0U5jJScnY+HChYiKioKZmRlCQkIwe/ZsmJuXXvIvv/yCTz/9FCdPnqzESom0p+mUUXnbus+fP48hQ4bg4cOHsLKywieffAI3N7cXqk3dOVY8xoGIqjKjHdmZNm0abG1tce7cOezduxcXL17Ejh071N6bn5+PrVu34v3330c1X29NVcSLThnJ5XIsX74cnTt3xsOHD+Hp6YlLly4hNDRU42mr8upr6+GMPj510dbDmUGHiKo0oww78fHxiIqKwsyZM2FjY4P69esjLCwM4eHhau8fM2YMLl++jPHjx1dypUS603XKKD8/H4GBgZg/fz5kMhneeecdXL16FT4+PpVQNRFR1WOU01h37txBzZo1VYbjPTw88PjxY6Snp8PBwUHl/s8++wwSiURlcSZRVVDelJG6LeIWFhZo2rQpzp8/j/Xr12PUqFF6Gc0hIjJVRhl2srKyYGNjo3JN8To7O7tE2JFIJJVWG5G+lXbyd9HuyoJcBnleDuq5uWBRsBc+++wzTJo0CU2aNHmh767ooyqIiIyBUYYdW1tb5OTkqFxTvLazszNESUSVStFdWQBQkJGEpIhVAACzt5chdNe1/5/merGgU9FHVRARGQujXLPj6emJ58+fIykpSXktNjYWEokE9vb2BqyMqOLJ5AKWRMRAAJATewUJ30xB7oObyHsSi7ykeADAkogYyOS6L8avyKMqiIiMjVGGnQYNGsDf3x/Lly9HZmYmHjx4gA0bNmDAgAGGLo2owkXdS8HjlEyknt6Op3uXQJ6TDks3D7iP/AKWtV9R6a6si6JhqjjFtRcNU0RExsQoww4ArF27FgUFBejWrRsGDRqE119/HWFhYQAAX19fHDp0yMAVElWMv27dQeL3s5EeVbjg3t4/GJJhq2DhVFflPk27KxenzVEVRESmwCjX7ACAi4sL1q5dq/a969evq73ev39/9O/fvyLLIqpwGxZNR97jWxBb2cH5zamwbdxO7X2ldVcub9Gxvo+qICIydkYbdoiqq++2b8XrfYfD/o33YO5YshtyWd2VNVl0rM+jKoiIqgKjncYiqi7u3LmD7777Tvm6RXNv7DkYCQtHN626K2u66FhxVEVpG8xFKAxI5R1VQURUVTDsEBnQ999/Dz8/P4wZMwa///678rq23ZW1WXTM082JqLrhNBaRAWRnZ2PKlCnYtm0bAKBjx454+eWXVe7R5kBObRYdt/VwVoap4lNeEvbZISITxLBDVMn+/vtvDB48GH///TdEIhEW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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(\n", + " results['automated_monte_carlo_correction'],\n", + " results['analytic_correction'],\n", + ")\n", + "plt.plot(np.linspace(-.1, .5), np.linspace(-.1, .5), color=\"black\", linestyle=\"dashed\")\n", + "plt.xlabel(\"DR-Monte Carlo\")\n", + "plt.ylabel(\"DR-Analytic\")\n", + "sns.despine()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## References\n", + "\n", + "Kennedy, Edward. \"Towards optimal doubly robust estimation of heterogeneous causal effects\", 2022. https://arxiv.org/abs/2004.14497." + ] } ], "metadata": { diff --git a/docs/source/figures/robust_pipeline.png b/docs/source/figures/robust_pipeline.png new file mode 100644 index 00000000..7d05a948 Binary files /dev/null and b/docs/source/figures/robust_pipeline.png differ