----------------------------------------------------------------------------------------------------------------------------------
help pdslasso, help ivlasso pdslasso v1.3
----------------------------------------------------------------------------------------------------------------------------------
Title
pdslasso and ivlasso --
Programs for post-selection and post-regularization OLS or IV estimation and inference
Syntax
pdslasso depvar regressors (hd_controls) [weight] [if exp] [in range] [ , partial(varlist) pnotpen(varlist)
psolver(string) aset(varlist) post(method) robust cluster(varlist) bw(int) kernel(string) fe noftools
rlasso[(name)] sqrt noisily loptions(options) olsoptions(options) noconstant ]
ivlasso depvar regressors [(hd_controls)] (endog=instruments) [if exp] [in range] [ , partial(varlist) pnotpen(varlist)
psolver(string) aset(varlist) post(method) robust cluster(varlist) bw(int) kernel(string) fe noftools
rlasso[(name)] sqrt noisily loptions(options) ivoptions(options) first idstats sscset ssgamma(real)
ssgridmin(real) ssgridmax(real) ssgridpoints(integer 100) ssgridmat(name) noconstant ]
Note: pdslasso requires rlasso and ivreg2 to be installed; ivlasso also requires ranktest. See help rlasso, help ivreg2
and help ranktest or click on ssc install lassopack or ssc install ranktest to install.
Note: the fe option will take advantage of the ftools package (if installed) for the fixed-effects transform; the speed
gains using this package can be large. See help ftools or click on ssc install ftools to install.
Note: ivlasso also supports the simpler pdslasso syntax.
Options Description
----------------------------------------------------------------------------------------------------------------------------
partial(varlist) controls and instruments to be partialled-out prior to lasso estimation
pnotpen(varlist) controls and instruments always included, not penalized by lasso
aset(varlist) controls and instruments in amelioration set, always included in post-lasso
post(method) pds, lasso or plasso; which estimation results are to be posted in e(b) and e(V)
robust heteroskedastic-robust VCE; lasso penalty loadings account for heteroskedasticity
cluster(varlist) cluster-robust VCE; lasso penalty loadings account for clustering; both standard (1-way) and 2-way
clustering supported
bw(int) HAC/AC VCE; lasso penalty loadings account for autocorrelation (AC) using bandwidth int; use with
robust to account for both heteroskedasticity and autocorrelation (HAC)
kernel(string) kernel used for HAC/AC penalty loadings (one of: bartlett, truncated, parzen, thann, thamm, daniell,
tent, qs; default=bartlett)
fe fixed-effects model (requires data to be xtset)
noftools do not use FTOOLS package for fixed-effects transform (slower; rarely used)
rlasso[(name)] store and display intermediate lasso and post-lasso results from rlasso with optional prefix name (if
just rlasso is specified the default prefix is _ivlasso_ or _pdslasso_)
sqrt use sqrt-lasso instead of standard lasso
noisily display step-by-step intermediate rlasso estimation results
loptions(options) lasso options specific to rlasso estimation; see help rlasso
olsoptions(options) (pdslasso only) options specific to PDS OLS estimation of structural equation
ivoptions(options) (ivlasso only) options specific to PDS OLS or IV estimation of structural equation
first (ivlasso only) display and store first-stage results for 2SLS
idstats (ivlasso only) request weak-identification statistics for 2SLS
noconstant suppress constant from regression (cannot be used with aweights or pweights)
psolver(string) override default solver used for partialling out (one of: qr, qrxx, lu, luxx, svd, svdxx, chol;
default=qrxx)
----------------------------------------------------------------------------------------------------------------------------
Sup-score test Description
(ivlasso only)
----------------------------------------------------------------------------------------------------------------------------
sscset request sup-score weak-identification-robust confidence set
ssgamma(real) significance level for sup-score weak-identification-robust tests and confidence intervals
(default=0.05, 5%)
ssgridmin(real) minimum value for grid search for sup-score weak-identification-robust confidence intervals
(default=grid centered at OLS estimate)
ssgridmax(real) maximum value for grid search for sup-score weak-identification-robust confidence intervals
(default=grid centered at OLS estimate)
ssgridpoints(real) number of points in grid search for sup-score weak-identification-robust confidence intervals
(default=100)
ssgridmat(name) user-supplied Stata r x k matrix of r jointly hypothesized values for the k endogenous regressors to
be tested using the sup-score test
ssomitgrid(name) supress display of sup-score test results with user-supplied grid
ssmethod(name) "abound" (default) = use conservative critical value (asymptotic bound)
c*sqrt(N)*invnormal(1-gamma/(2p)); "simulate" = simulate distribution to obtain p-values for
sup-score test; "select" = reject if rlasso selects any instruments
----------------------------------------------------------------------------------------------------------------------------
Postestimation:
predict [type] newvar [if] [in] [, resid xb ]
pdslasso and ivlasso may be used with time-series or panel data, in which case the data must be tsset or xtset first; see
help tsset or xtset.
aweights and pweights are supported; see help weights. pweights is equivalent to aweights + robust.
All varlists may contain time-series operators or factor variables; see help varlist.
Contents
Description
Computational notes
Examples of usage
Saved results
References
Website
Installation
Acknowledgements
Citation of pdslasso and ivlasso
Description
pdslasso and ivlasso are routines for estimating structural parameters in linear models with many controls and/or
instruments. The routines use methods for estimating sparse high-dimensional models, specifically the lasso (Least Absolute
Shrinkage and Selection Operator, Tibshirani 1996) and the square-root-lasso (Belloni et al. 2011, 2014).
pdslasso is used for the case where a researcher has an outcome variable y, a structural or causal variable of interest d,
and a large set of potential control variables x1, x2, x3, .... The usage in this case is:
pdslasso y d (x1 x2 x3 ...)
pdslasso accepts multiple causal variables, e.g.:
pdslasso y d1 d2 (x1 x2 x3 ...)
Important: The high-dimensional controls must be included within the parentheses (...). If this is not done, they are
treated as causal rather than as controls.
The problem the researcher faces is that the "right" set of controls is not known. In traditional practice, this presents
her with a difficult choice: use too few controls, or the wrong ones, and omitted variable bias will be present; use too
many, and the model will suffer from overfitting. The methods implemented in pdslasso address this problem by selecting
enough controls to address the former problem but not so many as to introduce the latter.
ivlasso is used for the case where a researcher has an endogenous causal variable of interest e, and a large set of
potential instruments {it:z1, z2, z3, ...).
The usage in this case is:
ivlasso y (e = z1 z2 z3 ...)
ivlasso accepts multiple causal variables, e.g.:
pdslasso y (e1 e2 = z1 z2 z3 ...)
ivlasso also allows combinations of exogenous and endogenous causal variables (d, e) and high-dimensional controls and
instruments (x, z), e.g.:
pdslasso y d (x1 x2 x3 ...) (e = z1 z2 z3 ...)
Two approaches are implemented in pdslasso and ivlasso:
1. The "post-double-selection" (PDS) methodology of Belloni et al. (2012, 2013, 2014, 2015, 2016), denoted "PDS
methodology" below.
2. The "post-regularization" (or "double-orthogonalization") methodology of Chernozhukov, Hansen and Spindler (2015),
denoted "CHS methodology" below.
The implemention of these methods in pdslasso and ivlasso uses the separate Stata program rlasso, which provides lasso and
sqrt-lasso estimation with data-driven penalization; see rlasso for details. For an overview of rlasso and the theory
behind it, see Ahrens et al. (2020)
The PDS methodology uses the lasso estimator to select the controls. Specifically, the lasso is used twice: (1) estimate a
lasso regression with y as the dependent variable and the control variables x1, x2, x3, ... as regressors; (2) estimate a
lasso regression with d as the dependent variable and again the control variables x1, x2, x3, ... as regressors. The lasso
estimator achieves a sparse solution, i.e., most coefficients are set to zero. The final choice of control variables to
include in the OLS regression of y on d is the union of the controls selected selected in steps (1) and (2), hence the name
"post-double selection" for the methodolgy. The PDS methodology can be employed to select instruments as well as controls
in instrumental variables estimation.
The CHS methodology is closely related. Instead of using the lasso-selected controls and instruments in a
post-regularization OLS or IV estimation, the selected variables are used to construct orthogonalized versions of the
dependent variable, the exogenous and/or endogenous causal variables of interest and to construct optimal instruments from
the lasso-selected IVs. The orthogonalized versions are based either on the lasso or post-lasso estimated coefficients; the
post-lasso is OLS applied to lasso-selected variables. See Chernozhukov et al. (2015) for details.
The set of variables selected by the lasso and used in the OLS post-lasso estimation and in the PDS structural estimation
can be augmented by variables that were penalized but not selected by the lasso. The penalized variables that are used in
this way to augment the post-lasso and PDS estimations are called the "amelioration set" and can be specified with the
aset(varlist) option. This option affects only the CHS post-lasso-based and PDS estimations; the CHS lasso-based
orthogonalized variables are unaffected. See Chernozhukov et al. (2014) for details.
pdslasso and ivlasso report the PDS-based and the two (lasso and post-lasso) CHS-based estimations. If the sqrt option is
specified, instead of the lasso the sqrt-lasso estimator is used; see rlasso for further details and references.
If the IV model is weakly identified (the instruments are only weakly correlated with the endogenous regressors) Belloni et
al. (2012, 2013) suggest using weak-identification-robust hypothesis tests and confidence sets based the Chernozhukov et al.
(2013) sup-score test. The intuition behind the sup-score test is similar to that of the Anderson-Rubin (1949) test.
Consider the simplest case (a single endogenous regressor d and no exogenous regressors or controls) where the null
hypothesis is that the coefficient on d is H0:beta=b0. If the null is true, then the structural residual is simply
e=y-b0*d. Under the additional assumption that the instruments are valid (orthogonal to the true disturbance), they should
be uncorrelated with e.
The sup-score tests reported by ivlasso are in effect high-dimensional versions of the Anderson-Rubin test. The test is
implemented in rlasso; see help rlasso for details. Specifically, ivlasso reports sup-score tests of statistical
significance of the instruments where the dependent variable is e=y-b0*d, the instruments are regressors, and b0 is a
hypothesized value of the coefficient on d; a large test statistic indicates rejection of the null H0:beta=b0. The default
is to use a conservative (asymptotic bound) critical value as suggested by Belloni et al. (2012, 2013) (option
ssmethod(abound)). Alternative methods are to use p-values obtained by simulation via a multiplier bootstrap (option
ssmethod(simulate)), or to estimate a lasso regression with the instruments as regressors, and if (no) instruments are
selected we (fail to) reject the null H0:beta=b0 at the gamma significance level (option ssmethod(select)).
A 100*(1-gamma)% sup-score-based confidence set can be constructed by a grid search over the range of hypothesized values of
beta. ivlasso reports the result of the sup-score test of the null H0:beta=0 with the idstats option, and in addition, for
the single endogenous regressor case only, reports sup-score confidence sets with the sscset option. For the
multiple-endogenous regressor case, sets of jointly hypothesized values for the componets of beta can be tested using the
ssgridmat(name) option. The matrix provided in the option should be an r x k Stata matrix, where each row contains a set of
values that together specify a null hypothesis for the coefficients of the k endogenous regressors. This option allows the
user to specify a grid search in multiple dimensions.
Computational notes
The various options available for the underlying calls to rlasso can be controlled via the option loptions(rlasso option
list). The rlasso option center, to center moments in heteroskedastic and cluster-robust loadings, will be a
commonly-employed option. This can be specified by lopt(center).
Another rlasso option that may often be used is to "pre-standardize" the data to have unit variance prior to computing the
lasso coefficients with the prestd option. This is a computational alternative to the rlasso default of standardizing "on
the fly" (i.e., incorporating the standardization into the lasso penalty loadings). This is specified by lopt(prestd). The
results are equivalent in theory. The prestd option can lead to improved numerical precision or more stable results in the
case of difficult problems; the cost is (a typically small) computation time required to standardize.
rlasso implements a version of the lasso with data-dependent penalization and, for the heteroskedastic and clustered cases,
regressor-specific penalty loadings; see rlasso for details. Note that specification of robust or cluster(.) as options to
pdslasso or ivlasso automatically implies the use of robust or cluster-robust lasso penalty loadings. Penalty loadings and
VCE type can be separately controlled via the olsoptions(.) (for pdslasso) or ivoptions(.) (for ivlasso) vs. loptions(rlasso
option list); for example, olsoptions(cluster(clustvar)) + loptions(robust) would use heteroskedastic-robust penalty
loadings for the lasso estimations and a cluster-robust covariance estimator for the PDS and CHS estimations of the
structural equation.
Either the partial(varlist) option or the pnotpen(varlist) option can be used for variables that should not be penalized by
the lasso. By the Frisch-Waugh-Lovell Theorem for the lasso (Yamada 2017), the estimated lasso coefficients are the same in
theory whether the unpenalized regressors are partialled-out or given zero penalty loadings, so long as the same penalty
loadings are used for the penalized regressors in both cases. Although the options are equivalent in theory, numerical
results can differ in practice because of the different calculation methods used; see rlasso for further details. The
constant, if present, is always unpenalized or partialled-out By default the constant (if present) is not penalized if there
are no regressors being partialled out; this is equivalent to mean-centering prior to estimation. The exception to this is
if aweights or aweights are specified, in which case the constant is partialled-out. The partial(varlist) option always
partials out the constant (if present) along with the variables specified in varlist; to partial out just the constant,
specify partial(_cons). Partialling-out of controls is done by ivlasso; partialling-out of instruments is done in the lasso
estimation by rlasso.
Partialling-out is implemented in Mata using one of Mata's solvers. In cases where the variables to be partialled out are
collinear or nearly so, different solvers may generate different results. Users may wish to check the stability of their
results in such cases. The psolver(.) option can be used to specify the Mata solver used. The default behavior for solving
AX=B for X is to use the QR decomposition applied to (A'A) and (A'B), i.e., qrsolve((A'A),(A'B)), abbreviated qrxx.
Available options are qr, qrxx, lu, luxx, svd, svdxx, where, e.g., svd indicates using svsolve(A,B) and svdxx indicates
using svsolve((A'A),(A'B)). pdslasso/ivlasso will warn if collinear variables are dropped when partialling out.
The lasso and sqrt-lasso estimations are obtained via numerical methods (coordinate descent). Results can be unstable for
difficult problems (e.g., if the scaling of variables covers a wide range of magnitudes). Using variables that are all
measured on a similar scale will help (as usual). Partialling-out variables is usually preferable to specifying them as
unpenalized. See rlasso for discussion of the various options for controlling the numerical methods used.
The sup-score-based tests reported by ivlasso come in three versions: (a) using lasso-orthogonalized variables, where the
variables have first been orthogonalized with respect to the high-dimensional controls using the lasso; (b) using
post-lasso-orthogonalized variables; (c) using the variables without any orthogonalization. The orthogonalizations use the
same lasso settings as in the main estimation. After orthgonalization, e~ = y~ - b0*d~ is constructed (where a tilde
indicates an orthogonalized variable), and then the sup-score test is conducted using e~ and the instruments. Versions (a)
and (b) are not reported if there are no high-dimensional controls. Version (c) is available if there are high-dimensional
controls but only if the method(select) option is used. The sup-score-based tests are not available if the specification
also includes either exogenous causal regressors or unpenalized instruments.
For large datasets, obtaining the p-value for the sup-score test by simulation (multiplier bootstrap, ssmethod(simulate)
option) can be time-consuming. In such cases, using the default method of a conservative (asymptotic bound) critical value
(ssmethod(abound) option) will be much faster.
The grid search to construct the sup-score confidence set can be controlled by the ssgridmin, ssgridmax and ssgridpoints
options. If these options are not specified by the user, a 100-point grid centered on the OLS estimator is used.
The fe fixed-effects option is equivalent to (but computationally faster and more accurate than) specifying unpenalized
panel-specific dummies. The fixed-effects ("within") transformation also removes the constant as well as the fixed effects.
The panel variable used by the fe option is the panel variable set by xtset.
rlasso, like the lasso in general, accommodates possibly perfectly-collinear sets of regressors. Stata's factor variables
are supported by rlasso. Users therefore have the option of specifying as high-dimensional controls or instruments one or
more complete sets of factor variables or interactions with no base levels using the ibn prefix. This can be interpreted as
allowing the lasso to choose the members of the base category.
For a detailed discussion of an R implementation of this methodology, see Spindler et al. (2016).
Examples using data from Acemoglu-Johnson-Robinson (2001)
Load and reorder AJR data for Table 6 and Table 8 (datasets need to be in current directory).
. clear
. (click to download maketable6.zip from economics.mit.edu)
. unzipfile maketable6
. (click to download maketable8.zip from economics.mit.edu)
. unzipfile maketable8
. use maketable6
. merge 1:1 shortnam using maketable8
. keep if baseco==1
. order shortnam logpgp95 avexpr lat_abst logem4 edes1975 avelf, first
. order indtime euro1900 democ1 cons1 democ00a cons00a, last
Alternatively, load AJR data from our website (no manual download required):
. clear
. use https://statalasso.github.io/dta/AJR.dta
Examples with exogenous regressors:
Replicate OLS results in Panel C, col. 9.
. reg logpgp95 avexpr lat_abst edes1975 avelf temp* humid* steplow-oilres
Basic usage: select from high-dim controls.
. pdslasso logpgp95 avexpr (lat_abst edes1975 avelf temp* humid* steplow-oilres)
As above, hetoroskedastic-robust.
. pdslasso logpgp95 avexpr (lat_abst edes1975 avelf temp* humid* steplow-oilres), rob
Specify that latitude is an unpenalized control to be partialled out.
. pdslasso logpgp95 avexpr (lat_abst edes1975 avelf temp* humid* steplow-oilres), partial(lat_abst)
Specify that latitude is an unpenalized control using the notpen option (equivalent).
. pdslasso logpgp95 avexpr (lat_abst edes1975 avelf temp* humid* steplow-oilres), pnotpen(lat_abst)
Specify that latitude is in the amelioration set.
. pdslasso logpgp95 avexpr (lat_abst edes1975 avelf temp* humid* steplow-oilres), aset(lat_abst)
Example with endogenous regressor, high-dimensional controls and low-dimensional instrument:
Replicate IV results in Panels A & B, col. 9.
. ivreg logpgp95 (avexpr=logem4) lat_abst edes1975 avelf temp* humid* steplow-oilres, first
Select controls; specify that logem4 is an unpenalized instrument to be partialled out.
. ivlasso logpgp95 (avexpr=logem4) (lat_abst edes1975 avelf temp* humid* steplow-oilres), partial(logem4)
Example with endogenous regressor and high-dimensional instruments and controls:
Select controls and instruments; specify that logem4 is an unpenalized instrument and lat_abst is an unpenalized control;
request weak identification stats and first-stage results.
. ivlasso logpgp95 (lat_abst edes1975 avelf temp* humid* steplow-oilres) (avexpr=logem4 euro1900-cons00a),
partial(logem4 lat_abst) idstats first
Replay first-stage estimation. (Can also use est restore to make this the current estimation results.)
. est replay _ivlasso_avexpr
Select controls and instruments; specify that lat_abst is an unpenalized control; request weak identification stats and
sup-score confidence sets.
. ivlasso logpgp95 (lat_abst edes1975 avelf temp* humid* steplow-oilres) (avexpr=logem4 euro1900-cons00a),
partial(lat_abst) idstats sscset
As above but heteroskedastic-robust and use grid options to control grid search and test level; also set seed in rlasso
options to make multiplier-bootstrap p-values replicable.
. ivlasso logpgp95 (lat_abst edes1975 avelf temp* humid* steplow-oilres) (avexpr=logem4 euro1900-cons00a),
partial(lat_abst) rob idstats sscset ssgridmin(0) ssgridmax(2) ssgamma(0.1) lopt(seed(1))
Examples using data from Angrist-Krueger (1991)
Load AK data and rename variables (dataset needs to be in current directory). NB: this is a large dataset (330k
observations) and estimations may take some time to run on some installations.
. clear
. (click to download asciiqob.zip from economics.mit.edu)
. unzipfile asciiqob.zip
. infix lnwage 1-9 edu 10-20 yob 21-31 qob 32-42 pob 43-53 using asciiqob.txt
Alternative source (no unzipping needed):
. use https://statalasso.github.io/dta/AK91.dta
xtset data by place of birth (state):
. xtset pob
Table VII (1930-39) col 2. Year and state of birth = yob & pob.
. ivregress 2sls lnwage i.pob i.yob (edu=i.qob i.yob#i.qob i.pob#i.qob)
Fixed effects; select year controls and IVs; IVs are QOB and QOBxYOB.
. ivlasso lnwage (i.yob) (edu=i.qob i.yob#i.qob), fe
Fixed effects; select year controls and IVs; IVs are QOB, QOBxYOB, QOBxSOB.
. ivlasso lnwage (i.yob) (edu=i.qob i.yob#i.qob i.pob#i.qob), fe
All dummies & interactions incl. base levels.
. ivlasso lnwage (i.yob) (edu=ibn.qob ibn.yob#ibn.qob ibn.pob#ibn.qob), fe
Example using data from Belloni et al. (2015)
Load dataset on eminent domain (available at journal website).
. clear
. import excel using https://statalasso.github.io/dta/CSExampleData.xlsx, first
Settings used in Belloni et al. (2015) - results as in journal replication file (not text)
(Includes use of undocumented rlasso option c0(real) to control initial penalty loadings.)
Store rlasso intermediate results for replay later.
. ivlasso CSIndex (NumProCase = Z*), nocons robust rlasso lopt(lalt corrnum(0) maxpsiiter(100) c0(0.55))
. estimates replay _ivlasso_step5_NumProCase
Saved results
ivlasso saves the following in e():
scalars
e(N) sample size
e(xhighdim_ct) number of all high-dimensional controls
e(zhighdim_ct) number of all high-dimensional instruments
e(N_clust) number of clusters in cluster-robust estimation; in the case of 2-way cluster-robust,
e(N_clust)=min(e(N_clust1),e(N_clust2))
e(N_g) number of groups in fixed-effects model
e(bw) (HAC/AC only) bandwidth used
e(ss_gamma) significance level in sup-score tests and CIs
e(ss_level) test level in % in sup-score tests and CIs (=100*(1-gamma))
e(ss_gridmin) min grid point in sup-score CI
e(ss_gridmax) max grid point in sup-score CI
e(ss_gridpoints) number of grid points in sup-score CI
macros
e(cmd) pdslasso or ivlasso
e(depvar) name of dependent variable
e(dexog) name(s) of exogenous structural variable(s)
e(dendog) name(s) endogenous structural variable(s)
e(xhighdim) names of high-dimensional control variables
e(zhighdim) names of high-dimensional instruments
e(method) lasso or sqrt-lasso
e(kernel) (HAC/AC only) kernel used
e(ss_null) result of sup-score test (reject/fail to reject)
e(ss_null_l) result of lasso-orthogonalized sup-score test (reject/fail to reject)
e(ss_null_pl) result of post-lasso-orthogonalized sup-score test (reject/fail to reject)
e(ss_cset) confidence interval for sup-score test
e(ss_cset_l) confidence interval for lasso-orthogonalized sup-score test
e(ss_cset_pl) confidence interval for post-lasso-orthogonalized sup-score test
e(ss_method) simulate, abound or select
matrices
e(b) posted coefficient vector
e(V) posted variance-covariance matrix
e(beta_pds) PDS coefficient vector
e(V_pds) PDS variance-covariance matrix
e(beta_lasso) CHS lasso-based coefficient vector
e(V_lasso) CHS lasso-based variance-covariance matrix
e(beta_plasso) CHS post-lasso-based coefficient vector
e(V_plasso) CHS post-lasso-based variance-covariance matrix
e(ss_citable) sup-score test results used to construct confidence sets
e(ss_gridmat) sup-score test results using user-specified grid
functions
e(sample)
References
Ahrens, A., Hansen, C.B. and M.E. Schaffer. 2020. lassopack: model selection and prediction with regularized regression in
Stata. The Stata Journal, 20(1):176-235. https://journals.sagepub.com/doi/abs/10.1177/1536867X20909697. Working paper
version: https://arxiv.org/abs/1901.05397.
Anderson, T. W. and Rubin, H. 1949. Estimation of the Parameters of Single Equation in a Complete System of Stochastic
Equations. Annals of Mathematical Statistics 20:46-63. https://projecteuclid.org/euclid.aoms/1177730090
Angrist, J. and Kruger, A. 1991. Does compulsory school attendance affect schooling and earnings? Quarterly Journal of
Economics 106(4):979-1014. http://www.jstor.org/stable/2937954
Belloni, A., Chernozhukov, V. and Wang, L. 2011. Square-root lasso: Pivotal recovery of sparse signals via conic
programming. Biometrika 98:791-806. https://doi.org/10.1214/14-AOS1204
Belloni, A., Chen, D., Chernozhukov, V. and Hansen, C. 2012. Sparse models and methods for optimal instruments with an
application to eminent domain. Econometrica 80(6):2369-2429.
http://onlinelibrary.wiley.com/doi/10.3982/ECTA9626/abstract
Belloni, A., Chernozhukov, V. and Hansen, C. 2013. Inference for high-dimensional sparse econometric models. In Advances
in Economics and Econometrics: 10th World Congress, Vol. 3: Econometrics, Cambridge University Press: Cambridge,
245-295. http://arxiv.org/abs/1201.0220
Belloni, A., Chernozhukov, V. and Hansen, C. 2014. Inference on treatment effects after selection among high-dimensional
controls. Review of Economic Studies 81:608-650. https://doi.org/10.1093/restud/rdt044
Belloni, A., Chernozhukov, V. and Hansen, C. 2015. High-dimensional methods and inference on structural and treatment
effects. Journal of Economic Perspectives 28(2):29-50. http://www.aeaweb.org/articles.php?doi=10.1257/jep.28.2.29
Belloni, A., Chernozhukov, V., Hansen, C. and Kozbur, D. 2016. Inference in High Dimensional Panel Models with an
Application to Gun Control. Journal of Business and Economic Statistics 34(4):590-605.
http://amstat.tandfonline.com/doi/full/10.1080/07350015.2015.1102733
Belloni, A., Chernozhukov, V. and Wang, L. 2014. Pivotal estimation via square-root-lasso in nonparametric regression.
Annals of Statistics 42(2):757-788. https://doi.org/10.1214/14-AOS1204
Chernozhukov, V., Chetverikov, D. and Kato, K. 2013. Gaussian approximations and multiplier bootstrap for maxima of sums of
high-dimensional random vectors. Annals of Statistics 41(6):2786-2819. https://projecteuclid.org/euclid.aos/1387313390
Chernozhukov, V. Hansen, C., and Spindler, M. 2015. Post-selection and post-regularization inference in linear models with
many controls and instruments. American Economic Review: Papers & Proceedings 105(5):486-490.
http://www.aeaweb.org/articles.php?doi=10.1257/aer.p20151022
Correia, S. 2016. FTOOLS: Stata module to provide alternatives to common Stata commands optimized for large datasets.
https://ideas.repec.org/c/boc/bocode/s458213.html
Spindler, M., Chernozhukov, V. and Hansen, C. 2016. High-dimensional metrics. https://cran.r-project.org/package=hdm.
Tibshirani, R. 1996. Regression Shrinkage and Selection via the Lasso. Journal of the Royal Statistical Society. Series B
(Methodological) 58(1):267-288. https://doi.org/10.2307/2346178
Yamada, H. 2017. The Frisch-Waugh-Lovell Theorem for the lasso and the ridge regression. Communications in Statistics -
Theory and Methods 46(21):10897-10902. http://dx.doi.org/10.1080/03610926.2016.1252403
Website
Please check our website https://statalasso.github.io/ for more information.
Installation
pdslasso/ivlasso require installation of the lassopack package. To get the latest stable versions of lassopack and
pdslasso/ivlasso from our website, check the installation instructions at https://statalasso.github.io/installation/. We
update the website versions more frequently than the SSC version. Earlier versions of these programs are also available
from the website.
To verify that pdslasso is correctly installed, click on or type whichpkg pdslasso (which requires whichpkg to be installed;
ssc install whichpkg).
Acknowledgements
Thanks to Sergio Correia for advice on the use of the FTOOLS package.
Citation of pdslasso and ivlasso
pdslasso and ivlasso are not official Stata commands. They are free contributions to the research community, like a paper.
Please cite it as such:
Ahrens, A., Hansen, C.B., Schaffer, M.E. 2018 (updated 2020). pdslasso and ivlasso: Progams for post-selection and
post-regularization OLS or IV estimation and inference. http://ideas.repec.org/c/boc/bocode/s458459.html
Authors
Achim Ahrens, Public Policy Group, ETH Zurich, Switzerland
achim.ahrens@gess.ethz.ch
Christian B. Hansen, University of Chicago, USA
Christian.Hansen@chicagobooth.edu
Mark E. Schaffer, Heriot-Watt University, UK
m.e.schaffer@hw.ac.uk
Also see
Help: rlasso, lasso2, cvlasso (if installed)