CATE: Conditional Average Treatment Effects

Description Usage Arguments Details Value See Also Examples

View source: R/post_matching.R

Description

CATE returns an estimate of the conditional average treatment effect for the subgroup defined by units.

Usage

1
CATE(units, ame_out)

Arguments

units

A vector of units whose CATE estimates are desired.

ame_out

An object of class ame.

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

FLAME, DAME

Examples

1
2
3
4
5
6
7
## Not run: 
data <- gen_data()
holdout <- gen_data()
FLAME_out <- FLAME(data = data, holdout = holdout)
CATE(1:5, FLAME_out)

## End(Not run)

FLAME documentation built on Dec. 11, 2021, 9:26 a.m.