Skip to content

statspai.multi_treatment

multi_treatment

Multi-valued Treatment Effects.

Estimates causal effects when the treatment takes more than two values (e.g., different drug dosages, multiple policy options).

Uses inverse probability weighting with multinomial propensity scores.

References

Cattaneo, M. D. (2010). Efficient semiparametric estimation of multi-valued treatment effects. Journal of Econometrics, 155(2), 138-154. [@cattaneo2010efficient]

Lechner, M. (2001). Identification and estimation of causal effects of multiple treatments under the conditional independence assumption. Econometric Evaluation of Labour Market Policies, 43-58. [@lechner2001identification]

MultiTreatment

Multi-valued treatment effects estimator.

fit

fit() -> CausalResult

Estimate multi-valued treatment effects.

multi_treatment

multi_treatment(data: DataFrame, y: str, treat: str, covariates: List[str], reference: Optional[int] = None, n_bootstrap: int = 500, alpha: float = 0.05, random_state: int = 42) -> CausalResult

Estimate effects of multi-valued treatments via AIPW.

Parameters:

Name Type Description Default
data DataFrame

Input data.

required
y str

Outcome variable.

required
treat str

Treatment variable with K+1 levels (0, 1, ..., K).

required
covariates list of str

Covariate names.

required
reference int

Reference treatment level (control). Default: minimum value.

None
n_bootstrap int
500
alpha float
0.05
random_state int
42

Returns:

Type Description
CausalResult

detail DataFrame has pairwise effects vs reference. model_info contains all pairwise contrasts.

Examples:

>>> import statspai as sp
>>> # Treatment with 3 levels: 0 (control), 1 (low), 2 (high)
>>> result = sp.multi_treatment(df, y='outcome', treat='dose_level',
...                             covariates=['age', 'weight'])
>>> print(result.detail)  # effects vs control