*! version 1.0.0 15May2018
help ivpermute

Title

ivpermute -- Nearly collinear robust instrumental-variables regression

Syntax

ivpermute depvar (endovars = excludedinst) [includedinst] [if] [in] [weight] [, options]

Options

noconstant suppress constant term
small Stata's finite sample adjustment of standard errors and degrees of freedom adjustments of p-values
robust robust conventional standard errors
cluster(varname) clustered conventional standard errors
reps(#) number of permutations of data and variable order; default is 10
seed(#) set random-number seed to #, default is 1

If the user does not provide a random number seed, the seed is set to 1 (to ensure replicability, provided the data and variable lists have not been reordered, on subsequent runs).
Regardless, the seed is restored to its pre-program value on termination.

Description

ivpermute fits a partitioned 2SLS regression of depvar on endovars and includedinst using
excludedinst (as well as includedinst) as instruments for endovars. The partitioned regression is more robust to
near collinearity among the instruments than the procedures used by Stata's command ivregress. For details, see:

Young, Alwyn.
Nearly Collinear Regressors and the Replicability and Robustness of 2SLS Results.

ivpermute begins by calling Stata's ivregress command and reporting Stata's estimation results.
Instruments that are flagged by Stata as perfectly collinear and dropped by ivregress are dropped from the subsequent partitioned regression as well.
ivpermute then calculates the coefficient and standard error estimates of the partitioned regression, the
minimum to maximum range of these in reps(#) random permutations of the regression's data and variable order, and the maximum R2 found in regressing one instrument on the others.

If the partitioned estimates and their minimum to maximum range all equal ivregress's estimates, the user can be confident that these are not sensitive to data and variable order.
If the partitioned regression estimates differ from ivregress, near collinearity may be affecting the accuracy of Stata's estimation using ivregress. If the difference between the minimum and
maximum range using the partitioned regression is not zero, the partitioned regression is not able to solve the sensitivity of results to data and variable order created by near collinearity
and the user may want to reconsider the regression specification.

Stored results

ivpermute stores the following matrices in e():

e(Res) Results table in matrix form.
e(ResB) Coefficient estimates for each random permutation of data and variable order.
e(ResSE) Standard error estimates for each random permutation of data and variable order.
e(R2max) Maximum R2 found in regressing one instrument on the others.

Author

Alwyn Young, London School of Economics, a.young@lse.ac.uk.