*! version 1.0.0 13Jul2020
help mivcausal

Title

mivcausal -- A command for testing the hypothesis about the signs of the 2SLS weights

Syntax

mivcausal
[(instd = instr1 instr2) indepvars]
[if] [in]
[,
seed(#)
precision(#)
mtdraws(#)
rsw(reps = #)
vce(vcetype)]

Description

mivcausal is a command that tests the hypothesis about the signs of the two stage least squares (2SLS) weights. As described in proposition 5 of Mogstad, Torgovitsky and Walters (2020), the 2SLS estimand can be written as a positively-weighted average of LATEs under certain conditions. This module tests whether the weights are positive when there are two binary instruments and one binary treatment using the following tests:

1. Bonferroni test
2. Cox and Shi (2019) test (henceforth, CS test)
3. Mintest
4. Romano, Shaikh and Wolf (2014) test (henceforth, RSW test)
5. Intersection-union test (henceforth, IUT)

Please see appendix C of Mogstad, Torgovitsky and Walters (2020) for more details.

In addition, mivcausal can be used as a post-estimation command after running ivregress with the 2sls estimator. In this case, users do not need to specify anything in [(instd = instr1 instr2) indepvars]. Otherwise, users need to provide the treatment, two instruments and covariates (if any) in instd, instr1 instr2 and indepvars respectively to run the tests.

Options

seed specifies the seed used to simulate the data in the Mintest and the starting seed used in the bootstrap procedure of the RSW test. The default is seed(1).

precision specifies the number of decimal places in the p-value. This has to be a positive integer. The default is precision(3).

mtdraws specifies the number of draws in the simulations for the Mintest. This has to be a positive integer. The default is mtdraws(10000).

rsw specifies whether the RSW test is applied and the number of bootstrap replications in the RSW test. By default, the RSW test is not applied because of longer computational time. To apply the RSW test, specify the option rsw(reps = x) where x is the number of bootstrap replications. This has to be a nonnegative integer. The option rsw() will run the RSW test with 1,000 bootstrap replications.

vce(vcetype) specifies the type of standard error reported. Currently, the mivcausal command supports robust (robust) or clustered standard errors (cluster(varlist)).

Remarks

If the binary treatment or instruments do not equal to either 0 or 1, the module will run the test by creating a temporary variable that assigns the larger value as 1 and the smaller value as 0.

Examples

Consider the sample data with one covariate (X), one binary treatment (D), two binary instruments (Z1 and Z2) and one outcome variable (Y). The mivcausal command can be applied as follows:

First, open the dataset.

. use mivcausal.dta

mivcausal not as a post-estimation command

The test can be run as follows:

. mivcausal (D = Z1 Z2) X, rsw(reps = 1000)

As described above, the RSW test will be skipped if the following command is run instead:

. mivcausal (D = Z1 Z2) X

mivcausal as a post-estimation command

First, run the 2SLS regression as follows:

. ivregress 2sls Y (D = Z1 Z2) X

Then, run the mivcausal command:

. mivcausal, rsw(reps = 1000)

Stored results

After applying the mivcausal command, the followings are stored in r():

Scalars

r(pval_bon) p-value of the Bonferroni test

r(pval_cs) p-value of the CS test

r(pval_mint) p-value of the Mintest

r(pval_rsw) p-value of the RSW test (if applicable)

r(pval_iut) p-value of the IUT

r(seed) Seed used

r(precision) Number of decimal places in the p-value

r(mtdraws) Number of simulations in the Mintest

r(rswreps) Number of bootstrap replications in the RSW test (if applicable)

Macros

r(cmd) mivcausal

r(title) Testing hypotheses about the signs of the 2SLS weights

r(depvar) Name of dependent variable (if applicable)

r(instd) Instrumented variable(s)

r(exogr) Exogenous regressor(s) (if applicable)

r(insts) Instruments

r(vce) vcetype specified in vce()

Authors

Conroy Lau

University of Chicago

Chicago, IL

ccplau@uchicago.edu

Alexander Torgovitsky

University of Chicago

Chicago, IL

atorgovitsky@gmail.com

References

Mogstad, M., A. Torgovitsky and C. R. Walters. 2020.
The Causal Interpretation of Two-Stage Least Squares with Multiple Instrumental Variables.
Working paper. https://www.nber.org/papers/w25691.

Cox, G. and X. Shi. 2019.
A Simple Uniformly Valid Test for Inequalities.
Working paper. https://arxiv.org/abs/1907.06317.

Romano, J. P., A. M. Shaikh and M. Wolf. 2014.
A Practical Two-step Method for Testing Moment Inequalities.
Econometrica. 85(5):1979-2002.