double_robust_scores.causal_forest {policytree} | R Documentation |
Matrix
of scores for each treatment
Description
Computes a matrix of double robust scores
Usage
## S3 method for class 'causal_forest'
double_robust_scores(object, ...)
## S3 method for class 'causal_survival_forest'
double_robust_scores(object, ...)
## S3 method for class 'instrumental_forest'
double_robust_scores(object, compliance.score = NULL, ...)
## S3 method for class 'multi_arm_causal_forest'
double_robust_scores(object, outcome = 1, ...)
double_robust_scores(object, ...)
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. |
Details
This is the matrix used for CAIPWL (Cross-fitted Augmented Inverse Propensity Weighted Learning)
Value
A matrix of scores for each treatment
Methods (by class)
-
double_robust_scores(causal_forest)
: Scores -
double_robust_scores(causal_survival_forest)
: Scores -
double_robust_scores(instrumental_forest)
: Scores -
double_robust_scores(multi_arm_causal_forest)
: Matrixof scores for each treatment
Note
For instrumental_forest this method returns where
is the double robust estimator of the treatment effect as in eqn. (44) in Athey and Wager (2021).
References
Athey, Susan, and Stefan Wager. "Policy Learning With Observational Data." Econometrica 89.1 (2021): 133-161.
Examples
# 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)