Title

drcatecv -- Doubly robust uniform confidence band for the conditional average treatment effect function with bandwidth chosen by cross-validation

Syntax

drcatecv varlist [, options]

varlist

1. The first argument is the dependent variable.
2. The second argument is the treatment variable.
3. The third argument is the covariate for which the conditional average treatment is estimated.
4. The remaining arguments are other covariates which are added to satisfy the unconfoundedness assumption.

Method
ps(strings:string) must be either "logit" or "probit"

alpha(#) set the confidence level; the default is 0.05.

bwidth(#) set the bandwidth for local linear regression to #. The default is the rule-of-thumb bandwidth multiplied by n^(1/5)*n^(-2/7).

Graph
graph(strings:string) string must be either "on" or "off"; the default is "on".

ci(strings:string) string must be either "on" or "off"; the default is "on".

ate(strings:string) string must be either "on" or "off"; the default is "on".

Description

drcate performs the doubly robust conditional average treatment effect estimation proposed by Lee, Okui and Whang (2017).
This program calculates and plots the augmented inverse probability weighting estimator of the conditional average treatment effect function given the covariate of interest.
The propensity score is modeled as either logit or probit and the regression functions for the potential outcomes are modeled as linear regressions.
The local linear regression is used to estimate the conditional average treatment effect function.
See Lee, Okui and Whang (2017) for details.
The difference from drcate is that drcatecv allows us to use the bandwidth chosen by cross-validation. This program requires STATA15 or higher.

Options

Method

ps(strings:string) specifies the method to estimate the propensity score.

alpha is a real number between 0 and 1. The default is 0.05.

bwidth is a positive real number. If not specified, the cross-validation bandwidth multiplied by n^(1/5)*n^(-2/7) is used.

Graph

graph(strings:string) specifies whether to make a graph or not.

ci(strings:string) specifies whether to present the confidence interval on the graph or not.

ate(strings:string) specifies whether to present the average treatment effect on the graph or not.

Results

drcatecv gives a graph of doubly robust conditional average treatment effect function and uniform confidence band.

Examples: CATE function estimation

Set up

. webuse set http://www.stata-press.com/data/r13

. webuse cattaneo2

Estimating the conditional average treatment effect of "alcohol" on "bweight" given "mage" and plotting it with uniform confidence bands

. drcatecv bweight alcohol mage medu fage, ps("logit") bwidth(.781) graph("on") ci("on") ate("on")

Using the default bandwidth by cross-validaion

. drcatecv bweight alcohol mage medu fage, ps("logit") graph("on") ci("on") ate("on")

Stored results

drcatecv stores the following in e():

Scalar

e(bwidth) value of bandwidth

Macros

e(depvar) name of dependent variable

e(treatment) name of treatment variable

e(covint) name of covariate of interest

e(remainings) names of remaining covariates

References

Lee, S., Okui, R., and Whang, Y. 2017.
Doubly robust uniform confidence band for the conditional average treatment effect function.
Journal of Applied Econometrics, 32:1207--1225.