CATE {FLAME} | R Documentation |
Conditional Average Treatment Effects
Description
CATE
returns an estimate of the conditional average treatment effect
for the subgroup defined by units
.
Usage
CATE(units, ame_out)
Arguments
units |
A vector of units whose CATE estimates are desired. |
ame_out |
An object of class |
Details
This function returns CATE estimates and the estimated variances of such
estimates for units
of interest. The CATE of a given unit is estimated
by the difference between the average treated and the average control outcome
in that unit's main matched group. As shown by Morucci 2021, under standard
regularity conditions, such an estimator is asymptotically normal and unbiased
for the true CATE, with a variance that can be estimated by the sum of the
variance of treated and control outcomes in the matched group, each normalized
by the number of treated and control units in the matched group, respectively.
Note that CATEs cannot be estimated for unmatched units and estimator
variances cannot be computed for units whose main matched group only contains
a single treated or control unit. Note also that these CATE estimates differ
from those that are used to compute average treatment effects in
print.ame
and summary.ame
and from those that will be returned
in ame_out$data$CATE
if estimate_CATEs = TRUE
. For a treated
(control) unit i
, the latter estimate the treated (control) outcome
conditioned on X = x_i
simply as Y_i
, and do not average across
other treated (control) units in the matched group as is done here. This
averaging is necessary in order to compute variance estimates. The different
estimates can always be manually compared, though they are the same in
expectation (assuming mean 0 noise) and we expect them to be similar in
practice, in the absence of large noise.
Lastly, note that the units
argument refers to units with respect to
rownames(ame_out$data)
. Typically, this will also correspond to the
indexing of the data (i.e. passing units = 3
will return the matched
group of the 3rd unit in the matching data). However, if a separate holdout
set was not passed to the matching algorithm or if the original matching data
had rownames other than 1:nrow(data)
, then this is not the case.
Value
A matrix whose columns correspond to CATE estimates and their
variances and whose rows correspond to queried units. NA
's therein
correspond to inestimable quantities.
See Also
Examples
## Not run:
data <- gen_data()
holdout <- gen_data()
FLAME_out <- FLAME(data = data, holdout = holdout)
CATE(1:5, FLAME_out)
## End(Not run)