catenets.experiment_utils.simulation_utils module
Simulation utils, allowing to flexibly consider different DGPs
- get_multivariate_normal_params(m: int, correlated: bool = False) Tuple[numpy.ndarray, numpy.ndarray]
- get_set_normal_covariates(m: int, n: int, correlated: bool = False) numpy.ndarray
- mu0_AISTATS(X: numpy.ndarray, n_w: int = 0, n_c: int = 0, n_o: int = 0, scale: bool = False) numpy.ndarray
- mu0_hg(X: numpy.ndarray, n_w: int = 0, n_c: int = 0, n_o: int = 0) numpy.ndarray
- mu1_AISTATS(X: numpy.ndarray, n_w: int = 0, n_c: int = 0, n_o: int = 0, n_t: int = 0, mu_0: Optional[numpy.ndarray] = None, nonlinear: int = 2, withbase: bool = True, scale: bool = False) numpy.ndarray
- mu1_additive(X: numpy.ndarray, n_w: int = 0, n_c: int = 0, n_o: int = 0, n_t: int = 0, mu_0: Optional[numpy.ndarray] = None) numpy.ndarray
- mu1_hg(X: numpy.ndarray, n_w: int = 0, n_c: int = 0, n_o: int = 0, n_t: int = 0, mu_0: Optional[numpy.ndarray] = None) numpy.ndarray
- normal_covariate_model(n: int, n_nuisance: int = 25, n_c: int = 0, n_o: int = 0, n_w: int = 0, n_t: int = 0, correlated: bool = False) numpy.ndarray
- propensity_AISTATS(X: numpy.ndarray, n_c: int = 0, n_w: int = 0, xi: float = 0.5, nonlinear: bool = True, offset: Any = 0, target_prop: Optional[numpy.ndarray] = None) numpy.ndarray
- propensity_constant(X: numpy.ndarray, n_c: int = 0, n_w: int = 0, xi: float = 0.5) numpy.ndarray
- propensity_hg(X: numpy.ndarray, n_c: int = 0, n_w: int = 0, xi: Optional[float] = None) numpy.ndarray
- simulate_treatment_setup(n: int, d: int = 25, n_w: int = 0, n_c: int = 0, n_o: int = 0, n_t: int = 0, covariate_model: Optional[Any] = None, covariate_model_params: Optional[dict] = None, propensity_model: Optional[Any] = None, propensity_model_params: Optional[dict] = None, mu_0_model: Optional[Any] = None, mu_0_model_params: Optional[dict] = None, mu_1_model: Optional[Any] = None, mu_1_model_params: Optional[dict] = None, error_sd: float = 1, seed: int = 42) Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray]
Generic function to flexibly simulate a treatment setup.
- Parameters
n (int) – Number of observations to generate
d (int) – dimension of X to generate
n_o (int) – Dimension of outcome-factor
n_c (int) – Dimension of confounding factor
n_t (int) – Dimension of purely predictive variables (support of tau(x)
n_w (int) – Dimension of treatment assignment factor
covariate_model – Model to generate covariates. Default: multivariate normal
covariate_model_params (dict) – Additional parameters to pass to covariate model
propensity_model – Model to generate propensity scores
propensity_model_params – Additional parameters to pass to propensity model
mu_0_model – Model to generate untreated outcomes
mu_0_model_params – Additional parameters to pass to untreated outcome model
mu_1_model – Model to generate treated outcomes.
mu_1_model_params – Additional parameters to pass to treated outcome model
error_sd (float, default 1) – Standard deviation of normal errors
seed (int) – Seed
- Returns
- Return type
X, y, w, p, t - Covariates, observed outcomes, treatment indicators, propensities, CATE
- uniform_covariate_model(n: int, n_nuisance: int = 0, n_c: int = 0, n_o: int = 0, n_w: int = 0, n_t: int = 0, low: int = - 1, high: int = 1) numpy.ndarray