Title

hte ms -- Heterogeneous Treatment Effect Analysis: Matching-Smoothing Method

Syntax

hte ms depvar1 [depvar2 ... =]
treatvar indepvars [if] [in]
[,
options
]

options

psmatch2_options options as described in help
psmatch2; excluding outcome(), mahalanobis(), add, pcaliper(),
w(), ate

tt condition on treated

tc condition on untreated

ttopts(options) change look of markers for treated

tcopts(options) change look of markers for untreated

noscatter suppress scatterplot

lpoly[(options)] add a local polynomial
smooth; the default

lpolyci[(options)] add a local polynomial
smooth with CI

lowess[(options)] add a lowess smooth

overlay include results for all dependent variables in one plot;
the default is to use separate plots and combine them into one graph
using graph combine; overlay implies noscatter

combine(options) option passed through to
graph combine in case of multiple depvars (unless overlay is specified)

twoway_options any options other than by() documented in
[G] twoway_options

Description

hte ms performs heterogeneous treatment effect analysis using the
matching-smoothing method as proposed by Xie, Brand, and Jann
(2012). It first applies psmatch2 (Leuven and Sianesi 2003) to compute counterfactual
outcomes and then plots the treatment effect against the propensity score.
treatvar is a dichotomous variable identifying the treatment group
(typically coded as 1) and the control group (typically coded as 0).

If multiple dependent variables are specified, then multiple sets of options
may be specified in lpoly(), lpolyci(), and lowess(). Use a comma
separate the sets, as in lpoly(set 1, set 2, ...).
The same options are used for all dependent variables if only one set is specified.

Dependencies

hte ms requires psmatch2 (Leuven and Sianesi 2003). To
install psmatch2 on your system, type:

. ssc install psmatch2

Options

psmatch2_options are options as described in help psmatch2. Options
outcome(), mahalanobis(), add, pcaliper(),
w(), and ate are not allowed.

tt conditions on the treated. That is, only the treatment effect estimates from the
treated are included in the plot and are used for the computation of the
smoothed curve. The default is to include treatment effect estimates from both the treated
and the untreated. Results are asymptotically equivalent, whether you
include only the treated or include both the treated and the untreated.

tc conditions on the untreated. That is, only the treatment effect estimates from the
untreated are included in the plot and are used for the computation of the
smoothed curve. The default is to include treatment effect estimates from both the treated
and the untreated. Results are asymptotically equivalent, whether you
include only the untreated or include both the treated and the untreated.

ttopts(options) specifies options that
affect the rendition of the markers for the treatment effect estimates from
the treated. See help scatter for available options.

tcopts(options) specifies options that
affect the rendition of the markers for the treatment effect estimates from
the untreated. See help scatter for available options.

noscatter suppress the markers for the treatment effect estimates
in the plot. Option overlay implies noscatter.

lpoly[(options)] adds a local
polynomial smooth of the treatment effect against the propensity score.
This is the default. If no options are specified, a local polynomial fit
of degree 0 (local-mean smoothing) is used. It is strongly advised to
specify lpoly(degree(1)) so that a local polynomial fit of degree 1
(local-linear smoothing) is used, as local-linear smoothing has better
properties at the boundaries than local-mean smoothing. For further
available options, e.g. bwidth() to set the bandwidth,
see help lpoly.

lpolyci[(options)] adds a local
polynomial smooth including including point-wise confidence intervals. See
help lpoly for available options.

lowess[(options)] adds a lowess
smooth of the treatment effect against the propensity score. See
help lowess for available options.

overlay includes the curves for all dependent variables in one plot.
The default is to draw a separate plot for each dependent variable and
combine the single plots into one graph
using graph combine. overlay implies noscatter, that is,
markers for treatment effect estimates are omitted.

combine(options) specifies options to
be passed through to graph combine in case of multiple
depvars. See help graph combine for available
options. combine() has no effect if overlay is specified.

twoway_options are general twoway options, other than
by(), as documented in help twoway_options.

Examples

Treatment effect of college on wages:

. sysuse nlsw88
. generate sq_exp = ttl_exp^2
. hte ms wage collgrad ttl_exp sq_exp tenure south smsa, lpoly(degree(1))

Saved results

hte ms leaves behind in e() the results from the treatment
assignment model estimated by psmatch2. It also leaves behind the
results variables generated by psmatch2.

References

Leuven, E. and B. Sianesi. 2003. PSMATCH2: Stata module to perform full Mahalanobis and
propensity score matching, common support graphing, and covariate imbalance testing.
Available from http://ideas.repec.org/c/boc/bocode/s432001.html.

Xie, Yu, Jennie E. Brand, Ben Jann. 2012. Estimating Heterogeneous Treatment
Effects with Observational
Data. Sociological Methodology 42: 314-347.

Authors

Ben Jann (University of Bern, jann@soz.unibe.ch)

Jennie E. Brand (UCLA, brand@soc.ucla.edu)

Yu Xie (University of Michigan, yuxie@isr.umich.edu)

Thanks for citing this software as follows:

Jann, B., J. E. Brand, Y. Xie. 2010. hte: Stata module to perform
heterogeneous treatment effect analysis. Available from
http://ideas.repec.org/c/boc/bocode/s457129.html.

Also see

Online: help for
hte, hte sm, hte sd;
psmatch (if installed)