RATEOmnibusTest {EpiForsk} | R Documentation |
RATE based omnibus test of heterogeneity
Description
Provides the P-value for a formal test of heterogeneity based on the RATE statistic by Yadlowsky et al.
Usage
RATEOmnibusTest(
forest,
level = 0.95,
target = c("AUTOC", "QINI"),
q = seq(0.1, 1, 0.1),
R = 500,
num.threads = 1,
seed = NULL,
honesty = TRUE,
stabilize.splits = TRUE,
...
)
Arguments
forest |
An object of class |
level |
numeric, level of RATE confidence interval. |
target |
character, see rank_average_treatment_effect. |
q |
numeric, see rank_average_treatment_effect. |
R |
integer, see rank_average_treatment_effect |
num.threads |
passed to causal_forest. Number of threads used in training. Default value is 1. |
seed |
numeric, either length 1, in which case the same seed is used for
both new forests, or length 2, to train each forest with a different seed.
Default is |
honesty |
Boolean, |
stabilize.splits |
Boolean, |
... |
additional arguments for causal_forest. By default, the
arguments used by forest will be used to train new forests on the random
half-samples. Arguments provided through |
Details
RATE evaluates the ability of a provided prioritization rule to prioritize treatment to subjects with a large benefit. In order to test for heterogeneity, we want estimated CATE's to define the prioritization rule. However, to obtain valid inference the prioritization scores must be constructed independently of the evaluating forest training data. To accomplice this, we split the data and train separate forests on each part. Then we estimate double robust scores on the observations used to train each forest, and obtain prioritization scores by predicting CATE's with each forest on the samples not used for training.
Value
A list of class rank_average_treatment_effect
with elements
estimate: the RATE estimate.
std.err: bootstrapped standard error of RATE.
target: the type of estimate.
TOC: a data.frame with the Targeting Operator Characteristic curve estimated on grid q, along with bootstrapped SEs.
confint: a data.frame with the lower and upper bounds of the RATE confidence interval.
pval: the p-value for the test that RATE is non-positive.
Author(s)
KIJA
References
Yadlowsky S, Fleming S, Shah N, Brunskill E, Wager S. Evaluating Treatment Prioritization Rules via Rank-Weighted Average Treatment Effects. 2021. http://arxiv.org/abs/2111.07966.
Examples
n <- 800
p <- 3
X <- matrix(rnorm(n * p), n, p)
W <- rbinom(n, 1, 0.5)
event_prob <- 1 / (1 + exp(2 * (pmax(2 * X[, 1], 0) * W - X[, 2])))
Y <- rbinom(n, 1, event_prob)
clusters <- sample(1:4, n, replace = TRUE)
cf <- grf::causal_forest(X, Y, W, clusters = clusters)
rate <- RATEOmnibusTest(cf, target = "QINI")
rate