BLP {GenericML}R Documentation

Performs BLP regression

Description

Performs the linear regression for the Best Linear Predictor (BLP) procedure.

Usage

BLP(
  Y,
  D,
  propensity_scores,
  proxy_BCA,
  proxy_CATE,
  HT = FALSE,
  X1_control = setup_X1(),
  vcov_control = setup_vcov(),
  significance_level = 0.05
)

Arguments

Y

A numeric vector containing the response variable.

D

A binary vector of treatment assignment. Value one denotes assignment to the treatment group and value zero assignment to the control group.

propensity_scores

A numeric vector of propensity scores. We recommend to use the estimates of a "propensity_score" object.

proxy_BCA

A numeric vector of proxy baseline conditional average (BCA) estimates. We recommend to use the estimates of a "proxy_BCA" object.

proxy_CATE

A numeric vector of proxy conditional average treatment effect (CATE) estimates. We recommend to use the estimates of a "proxy_CATE" object.

HT

Logical. If TRUE, a Horvitz-Thompson (HT) transformation is applied (BLP2 in the paper). Default is FALSE.

X1_control

Specifies the design matrix X_1 in the regression. Must be an object of class "setup_X1". See the documentation of setup_X1() for details.

vcov_control

Specifies the covariance matrix estimator. Must be an object of class "setup_vcov". See the documentation of setup_vcov() for details.

significance_level

Significance level. Default is 0.05.

Value

An object of class "BLP", consisting of the following components:

generic_targets

A matrix of the inferential results on the BLP generic targets.

coefficients

An object of class "coeftest", contains the coefficients of the BLP regression.

lm

An object of class "lm" used to fit the linear regression model.

References

Chernozhukov V., Demirer M., Duflo E., Fernández-Val I. (2020). “Generic Machine Learning Inference on Heterogenous Treatment Effects in Randomized Experiments.” arXiv preprint arXiv:1712.04802. URL: https://arxiv.org/abs/1712.04802.

See Also

setup_X1(), setup_diff(), setup_vcov(), propensity_score(), proxy_BCA(), proxy_CATE()

Examples

## generate data
set.seed(1)
n  <- 150                        # number of observations
p  <- 5                          # number of covariates
D  <- rbinom(n, 1, 0.5)          # random treatment assignment
Y  <- runif(n)                   # outcome variable
propensity_scores <- rep(0.5, n) # propensity scores
proxy_BCA         <- runif(n)    # proxy BCA estimates
proxy_CATE        <- runif(n)    # proxy CATE estimates

## perform BLP
BLP(Y, D, propensity_scores, proxy_BCA, proxy_CATE)


[Package GenericML version 0.2.2 Index]