Learn R Programming

policytree (version 1.2.3)

double_robust_scores.causal_forest: Matrix \(\Gamma\) of scores for each treatment \(a\)

Description

Computes a matrix of double robust scores \(\Gamma_{ia} = \mu_a(x) + \frac{1}{e_a(x)} (Y_i - \mu_a(x)) 1(A_i=a)\)

Usage

# S3 method for causal_forest
double_robust_scores(object, ...)

# S3 method for causal_survival_forest double_robust_scores(object, ...)

# S3 method for instrumental_forest double_robust_scores(object, compliance.score = NULL, ...)

# S3 method for multi_arm_causal_forest double_robust_scores(object, outcome = 1, ...)

double_robust_scores(object, ...)

Value

A matrix of scores for each treatment

Arguments

object

An appropriate causal forest type object

...

Additional arguments

compliance.score

An estimate of the causal effect of Z on W. i.e., Delta(X) = E(W | X, Z = 1) - E(W | X, Z = 0), for each sample i = 1, ..., n. If NULL (default) then this is estimated with a causal forest.

outcome

Only used with multi arm causal forets. In the event the forest is trained with multiple outcomes Y, a column number/name specifying the outcome of interest. Default is 1.

Methods (by class)

  • double_robust_scores(causal_forest): Scores \((\Gamma_0, \Gamma_1)\)

  • double_robust_scores(causal_survival_forest): Scores \((\Gamma_0, \Gamma_1)\)

  • double_robust_scores(instrumental_forest): Scores \((-\Gamma, \Gamma)\)

  • double_robust_scores(multi_arm_causal_forest): Matrix \(\Gamma\) of scores for each treatment \(a\)

Details

This is the matrix used for CAIPWL (Cross-fitted Augmented Inverse Propensity Weighted Learning)

References

Athey, Susan, and Stefan Wager. "Policy Learning With Observational Data." Econometrica 89.1 (2021): 133-161.

Examples

Run this code
# \donttest{
# Compute double robust scores for a multi-arm causal forest
n <- 500
p <- 10
X <- matrix(rnorm(n * p), n, p)
W <- as.factor(sample(c("A", "B", "C"), n, replace = TRUE))
Y <- X[, 1] + X[, 2] * (W == "B") + X[, 3] * (W == "C") + runif(n)
forest <- grf::multi_arm_causal_forest(X, Y, W)
scores <- double_robust_scores(forest)
head(scores)

# Compute double robust scores for a causal forest
n <- 500
p <- 10
X <- matrix(rnorm(n * p), n, p)
W <- rbinom(n, 1, 0.5)
Y <- pmax(X[, 1], 0) * W + X[, 2] + pmin(X[, 3], 0) + rnorm(n)
c.forest <- grf::causal_forest(X, Y, W)
scores <- double_robust_scores(c.forest)
# }

Run the code above in your browser using DataLab