查看原文
其他

Lasso一下:再多的控制变量和工具变量我也不怕

连享会 连享会 2023-10-24

👇 连享会 · 推文导航 | www.lianxh.cn

作者: 徐云娇 (厦门大学)
邮箱: jilyo@stu.xmu.edu.cn

编者按:本文主要摘译自下文,特此致谢!
Source: The Stata Lasso Page -Link-

温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:


目录

  • 1. 背景介绍

    • 1.1 众多工具变量

    • 1.2 众多控制变量

    • 1.3 众多工具变量与控制变量

  • 2. 命令介绍

    • 2.1 pdslasso 命令

    • 2.2 ivlasso 命令

  • 3. Stata 实例

  • 4. 结语

  • 5. 参考资料

  • 6. 相关推文



1. 背景介绍

在样本量有限的情况下,如果模型中有很多个控制变量,或有很多个工具变量,或者二者兼而有之,我们该如何处理?

本文介绍的 pdslasso 以及 ivlasso 命令适用于包含高维控制变量和工具变量的线性模型。它可以帮助我们选择合适的控制变量 (pdslasso) 或工具变量 (ivlasso),避免遗漏变量偏误与模型过拟合问题,从而得到研究者真正感兴趣的因果效应。

1.1 众多工具变量

考虑以下模型:

其中, 是因变量, 是内生解释变量, 维度的工具变量。并且, 可能非常大,甚至超过样本个数,因此 也被称为高维向量。对于上式,我们要估计内生变量 对结果变量 的因果效应。

工具变量的选择对于系数 的估计至关重要,但由于事前并不知道如何选择合理的工具变量,当可选择的工具变量过多时,我们往往会显得无所适从。

Belloni 等 (2012) 提出可以用 Lasso 方法为 设置惩罚项,进而选择合适的工具变量来预测 。此外,对于最佳估计式 ,参数 可以是用 Lasso、平方根 Lasso、或 Post-Lasso 估计量。

1.2 众多控制变量

接下去,我们考虑假如 是外生变量,但模型中存在众多控制变量的情况:

在上式中, 维度的高维向量。同样地,我们不知道哪些是 “正确的” 控制变量。这又会带来以下两个问题:

  • 选择了过少的控制变量,导致遗漏变量偏差;
  • 选择了过多的控制变量,导致了模型过拟合。

Belloni 等 (2014) 提出可以通过运用两次 Lasso,即 PDS (post-double-selection) 方法来选择控制变量。具体来看:

  • Step1:以 作为因变量, 作为回归项进行 Lasso 回归;
  • Step2:以 作为因变量, 作为回归项进行 Lasso 回归。Lasso 估计量会得到一个稀疏解 (sparse solution),即很多回归项的系数都为 0。在此基础上,OLS 回归中选择的控制变量包括 Step1 和 Step2 中被选中的变量。

1.3 众多工具变量与控制变量

最后,考虑以下模型:

其中,,即工具变量与控制变量个数都十分众多。在这种情况下,Chernozhukov 等 (2015) 也介绍了对应的方法,有兴趣的读者可以自行阅读,本文不作过多介绍。

接下来,本文将介绍由 Ahrens 等 (2018) 编写的命令 pdslassoivlasso,它们可以帮助我们在 Stata 中快速实现上述过程。

2. 命令介绍

2.1 pdslasso 命令

*命令安装
ssc install pdslasso, replace //同时安装 pdslasso 和 ivlasso
*命令语法
pdslasso depvar regressors (hd_controls) [weight] [if exp] [in range]
[ , partial(varlist) pnotpen(varlist) aset(varlist) post(method)
robust cluster(var) fe noftools rlasso[(name)] sqrt noisily
loptions(options) olsoptions(options) noconstant ]

Note: pdslasso requires rlasso and ivreg2 to be installed.
  • depvar:模型的被解释变量;
  • regressors:模型的解释变量;
  • hd_controls:控制变量;
  • partial:lasso 估计中被排除的变量;
  • pnotpen:lasso 估计中不被惩罚的变量;
  • aset:post-lasso 估计中始终被保留的变量;
  • post:可选 pds,lasso 或 plasso;
  • robust:异方差稳健标准误;
  • cluster:聚类标准误;
  • bw:HAC/AC 标准误;
  • kernel:用于确定 HAC/AC 惩罚项载荷;
  • fe:固定效应模型 (需要事先设定 xtset);
  • noftools:很少使用;
  • rlasso:存储和列示中间估计结果;
  • sqrt:平方根 lasso;
  • noisily:列示每一步中间估计结果;
  • loptions(options)rlasso 估计的可选项;
  • olsoptions(options):OLS 估计的可选项;
  • noconstant:不要常数项。

2.2 ivlasso 命令

ivlasso depvar regressors [(hd_controls)] (endog=instruments)
[if exp] [in range] [ , partial(varlist) pnotpen(varlist)
aset(varlist) post(method) robust cluster(var) 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: ivlasso also requires ranktest.
  • ivoptions(options):IV 回归的选项;
  • first:存储和列示 2SLS 的第一阶段估计结果;
  • idstats:进行 2SLS 的弱工具变量检验;
  • sscset:计算弱工具变量稳健置信集;
  • ssgamma:弱工具变量稳健检验的显著性与置信区间;
  • ssgridmin:网格搜索的最小值;
  • ssgridmax:网格搜索的最大值;
  • ssgridpoints:网格搜索的点数;
  • ssgridmat:网格搜索矩阵的设置。

3. Stata 实例

在这一节中,我们利用 Acemoglu 等 (2001) 关于「殖民起源」的论文数据进行演示。其中,我们感兴趣的是制度 (avexpr) 对收入 (logpgp95) 的影响。

首先,忽略内生性问题进行最简单的 OLS 回归。

. use "https://statalasso.github.io/dta/AJR.dta", clear
. reg logpgp95 avexpr

Source | SS df MS Number of obs = 64
----------+--------------------------------- F(1, 62) = 72.82
Model | 37.0420118 1 37.0420118 Prob > F = 0.0000
Residual | 31.5397067 62 .508704946 R-squared = 0.5401
----------+--------------------------------- Adj R-squared = 0.5327
Total | 68.5817185 63 1.08859871 Root MSE = .71324
--------------------------------------------------------------------------
logpgp95 | Coef. Std. Err. t P>|t| [95% Conf. Interval]
----------+---------------------------------------------------------------
avexpr | 0.522 0.061 8.53 0.000 0.400 0.644
_cons | 4.660 0.409 11.41 0.000 3.844 5.477
--------------------------------------------------------------------------

然后,加入更多的控制变量去缓解遗漏变量的问题。具体地,这里一共使用了 24 个控制变量。虽然听上去并没有很多,但由于观测值只有 64 个,所以我们还是需要对控制变量进行合理地选取。利用 pdslasso 命令进行回归:

. pdslasso logpgp95 avexpr (lat_abst edes1975 avelf temp* humid* steplow-oilres)

Estimation results:
Specification:
Regularization method: lasso
Penalty loadings: homoskedastic
Number of observations: 64
Exogenous (1): avexpr
High-dim controls (24): lat_abst edes1975 avelf temp1 temp2
temp3 temp4 temp5 humid1 humid2 humid3
humid4 steplow deslow stepmid desmid
drystep drywint landlock goldm iron
silv zinc oilres
Selected controls (3): edes1975 avelf zinc
Unpenalized controls (1): _cons

Structural equation:
OLS using CHS lasso-orthogonalized vars
-----------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+------------------------------------------------------
avexpr | 0.419 0.054 7.81 0.000 0.314 0.524
-----------------------------------------------------------------

OLS using CHS post-lasso-orthogonalized vars
-----------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+------------------------------------------------------
avexpr | 0.391 0.057 6.81 0.000 0.279 0.504
-----------------------------------------------------------------

OLS with PDS-selected variables and full regressor set
------------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+-------------------------------------------------------
avexpr | 0.391 0.056 6.97 0.000 0.281 0.501
edes1975 | 0.009 0.003 2.87 0.004 0.003 0.015
avelf | -0.997 0.247 -4.03 0.000 -1.482 -0.513
zinc | -0.008 0.028 -0.28 0.778 -0.063 0.047
_cons | 5.764 0.377 15.27 0.000 5.025 6.504
------------------------------------------------------------------
Standard errors and test statistics valid for the following variables only:
avexpr
------------------------------------------------------------------

这里总共列示了三个不同的估计结果,它们分别是由三个不同的估计方法得到的。

考虑到制度 (avexpr) 存在的内生性问题,Acemoglu 等 (2001) 将欧洲早期殖民者在各殖民地的死亡率 (logem4) 作为制度的工具变量。因此,我们将工具变量和所有控制变量纳入模型回归:

. pdslasso logpgp95 lat_abst edes1975 avelf temp* humid* ///
> steplow-oilres (avexpr=logem4)

Estimation results:
Specification:
Regularization method: lasso
Penalty loadings: homoskedastic
Number of observations: 64
Exogenous (24): lat_abst edes1975 avelf temp1 temp2
temp3 temp4 temp5 humid1 humid2 humid3
humid4 steplow deslow stepmid desmid
drystep drywint landlock goldm iron
silv zinc oilres
Endogenous (1): avexpr
Unpenalized controls (1): _cons
High-dim instruments (1): logem4
Selected instruments (1): logem4

Structural equation:
IV using CHS lasso-orthogonalized vars
------------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+-------------------------------------------------------
avexpr | 1.174 0.317 3.71 0.000 0.554 1.795
lat_abst | -3.522 2.234 -1.58 0.115 -7.901 0.856
edes1975 | -0.004 0.009 -0.44 0.658 -0.021 0.013
avelf | -2.058 0.625 -3.29 0.001 -3.284 -0.832
temp1 | -0.053 0.205 -0.26 0.797 -0.454 0.349
temp2 | -0.072 0.066 -1.10 0.271 -0.201 0.056
temp3 | 0.079 0.085 0.93 0.355 -0.088 0.245
temp4 | 0.039 0.090 0.43 0.666 -0.137 0.214
temp5 | 0.004 0.046 0.09 0.931 -0.087 0.095
humid1 | -0.025 0.030 -0.84 0.399 -0.083 0.033
humid2 | 0.046 0.042 1.09 0.275 -0.036 0.128
humid3 | 0.032 0.028 1.14 0.255 -0.023 0.086
humid4 | -0.029 0.033 -0.87 0.383 -0.094 0.036
steplow | -0.267 0.314 -0.85 0.395 -0.883 0.349
deslow | 0.636 0.442 1.44 0.150 -0.230 1.502
stepmid | 0.259 0.859 0.30 0.764 -1.426 1.943
desmid | 1.912 1.211 1.58 0.114 -0.461 4.285
drystep | 0.729 0.566 1.29 0.198 -0.380 1.838
drywint | 6.507 8.563 0.76 0.447 -10.277 23.290
landlock | 1.168 0.688 1.70 0.089 -0.180 2.516
goldm | -0.083 0.179 -0.46 0.643 -0.434 0.268
iron | -0.258 0.148 -1.74 0.082 -0.549 0.032
silv | -0.048 0.101 -0.48 0.633 -0.247 0.150
zinc | 0.173 0.182 0.95 0.341 -0.183 0.529
oilres | -0.000 0.000 -0.47 0.636 -0.000 0.000
------------------------------------------------------------------

IV using CHS post-lasso-orthogonalized vars
------------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+-------------------------------------------------------
avexpr | 1.066 0.249 4.28 0.000 0.577 1.554
lat_abst | -3.199 1.962 -1.63 0.103 -7.045 0.647
edes1975 | -0.002 0.007 -0.31 0.759 -0.017 0.012
avelf | -1.955 0.546 -3.58 0.000 -3.024 -0.885
temp1 | -0.022 0.180 -0.12 0.903 -0.374 0.330
temp2 | -0.069 0.059 -1.17 0.243 -0.184 0.047
temp3 | 0.066 0.075 0.89 0.374 -0.080 0.213
temp4 | 0.023 0.078 0.30 0.765 -0.130 0.176
temp5 | 0.002 0.042 0.05 0.962 -0.079 0.083
humid1 | -0.023 0.026 -0.89 0.375 -0.075 0.028
humid2 | 0.048 0.037 1.27 0.204 -0.026 0.121
humid3 | 0.032 0.025 1.26 0.206 -0.017 0.081
humid4 | -0.027 0.030 -0.92 0.358 -0.086 0.031
steplow | -0.280 0.281 -1.00 0.319 -0.832 0.271
deslow | 0.624 0.396 1.58 0.115 -0.152 1.400
stepmid | 0.264 0.771 0.34 0.732 -1.247 1.774
desmid | 1.714 1.057 1.62 0.105 -0.358 3.787
drystep | 0.615 0.487 1.26 0.207 -0.339 1.570
drywint | 5.099 7.474 0.68 0.495 -9.551 19.748
landlock | 1.016 0.586 1.73 0.083 -0.134 2.165
goldm | -0.056 0.157 -0.36 0.722 -0.364 0.252
iron | -0.232 0.129 -1.80 0.072 -0.485 0.021
silv | -0.041 0.090 -0.46 0.648 -0.218 0.136
zinc | 0.149 0.160 0.93 0.352 -0.165 0.464
oilres | -0.000 0.000 -0.38 0.701 -0.000 0.000
------------------------------------------------------------------

IV with PDS-selected variables and full regressor set
------------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+-------------------------------------------------------
avexpr | 0.713 0.165 4.32 0.000 0.389 1.036
lat_abst | -2.520 1.259 -2.00 0.045 -4.987 -0.053
edes1975 | 0.003 0.005 0.54 0.587 -0.007 0.012
avelf | -1.606 0.356 -4.51 0.000 -2.304 -0.908
temp1 | 0.103 0.119 0.87 0.387 -0.130 0.336
temp2 | -0.069 0.038 -1.82 0.069 -0.144 0.005
temp3 | -0.006 0.052 -0.11 0.915 -0.108 0.097
temp4 | -0.031 0.051 -0.61 0.540 -0.132 0.069
temp5 | -0.007 0.027 -0.25 0.804 -0.060 0.046
humid1 | -0.008 0.018 -0.47 0.637 -0.043 0.027
humid2 | 0.020 0.027 0.75 0.454 -0.033 0.073
humid3 | 0.022 0.017 1.31 0.190 -0.011 0.055
humid4 | -0.020 0.019 -1.05 0.292 -0.058 0.018
steplow | -0.301 0.182 -1.65 0.099 -0.658 0.056
deslow | 0.497 0.260 1.91 0.056 -0.013 1.007
stepmid | 0.254 0.500 0.51 0.611 -0.725 1.233
desmid | 1.358 0.675 2.01 0.044 0.035 2.681
drystep | 0.325 0.311 1.05 0.296 -0.285 0.936
drywint | 2.879 4.767 0.60 0.546 -6.465 12.223
landlock | 0.734 0.369 1.99 0.047 0.011 1.457
goldm | -0.013 0.100 -0.13 0.899 -0.209 0.184
iron | -0.147 0.084 -1.76 0.079 -0.312 0.017
silv | -0.032 0.058 -0.55 0.581 -0.147 0.082
zinc | 0.103 0.103 1.00 0.319 -0.099 0.305
oilres | 0.000 0.000 0.03 0.976 -0.000 0.000
_cons | 3.686 1.482 2.49 0.013 0.782 6.590
------------------------------------------------------------------
Standard errors and test statistics valid for the following variables only:
avexpr lat_abst edes1975 avelf temp1 temp2 temp3 temp4 temp5 humid1 humid2
humid3 humid4 steplow deslow stepmid desmid drystep
drywint landlock goldm iron silv zinc oilres
------------------------------------------------------------------

纳入全部的控制变量显然过多了,所以我们利用 ivlasso 命令来选取部分的控制变量进行估计:

. ivlasso logpgp95 ///
(lat_abst edes1975 avelf temp* humid* steplow-oilres) ///
(avexpr=logem4)

Estimation results:
Specification:
Regularization method: lasso
Penalty loadings: homoskedastic
Number of observations: 64
Endogenous (1): avexpr
High-dim controls (24): lat_abst edes1975 avelf temp1 temp2
temp3 temp4 temp5 humid1 humid2 humid3
humid4 steplow deslow stepmid desmid
drystep drywint landlock goldm iron
silv zinc oilres
Selected controls, PDS (3): edes1975 avelf zinc
Selected controls, CHS-L (7): edes1975 avelf temp2 humid2 drystep iron zinc
Selected controls, CHS-PL (7): edes1975 avelf temp2 humid2 drystep iron zinc
Unpenalized controls (1): _cons
High-dim instruments (1): logem4
Selected instruments (1): logem4

Structural equation:
IV using CHS lasso-orthogonalized vars
-----------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+------------------------------------------------------
avexpr | 0.779 0.159 4.90 0.000 0.467 1.090
-----------------------------------------------------------------

IV using CHS post-lasso-orthogonalized vars
-----------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+------------------------------------------------------
avexpr | 1.063 0.351 3.03 0.002 0.375 1.750
-----------------------------------------------------------------

IV with PDS-selected variables and full regressor set
------------------------------------------------------------------
logpgp95 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
----------+-------------------------------------------------------
avexpr | 0.841 0.249 3.38 0.001 0.354 1.329
edes1975 | 0.002 0.006 0.34 0.733 -0.009 0.013
avelf | -0.878 0.356 -2.47 0.014 -1.575 -0.181
zinc | -0.074 0.053 -1.40 0.160 -0.177 0.029
_cons | 2.976 1.555 1.91 0.056 -0.072 6.024
------------------------------------------------------------------
Standard errors and test statistics valid for the following variables only:
avexpr
------------------------------------------------------------------

4. 结语

本文介绍的 pdslasso 以及 ivlasso 命令适用于包含高维控制变量和工具变量的线性模型。它可以帮助我们选择合适的控制变量 (pdslasso) 或工具变量 (ivlasso),避免遗漏变量偏误与模型过拟合问题,从而得到研究者真正感兴趣的因果效应。

5. 参考资料

  • Acemoglu D, Johnson S, Robinson J A, et al. 2001. The Colonial Origins of Comparative Development: An Empirical Investigation. The American Economic Review 91(5):1369-1401. -PDF-
  • Ahrens, A., Hansen, C.B., Schaffer, M.E. 2018. pdslasso and ivlasso: Programs for post-selection and post-regularization OLS or IV estimation and inference. -Link-
  • 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. -PDF-
  • 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. -PDF-
  • 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. -PDF-

6. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh lianxh lasso 高维 筛选, m
安装最新版 lianxh 命令:
ssc install lianxh, replace

  • 专题:Stata命令
    • vgets:VAR模型设定和筛选-T240
    • Stata新命令-pdslasso:众多控制变量和工具变量如何挑选?
  • 专题:回归分析
    • combinatorics:模型设定之自动筛选变量
    • gsreg:自动模型设定和变量筛选
    • Stata:拉索回归和岭回归-(Ridge,-Lasso)-简介
    • Stata Blogs - An introduction to the lasso in Stata (拉索回归简介)
  • 专题:面板数据
    • 引力模型-高维固定效应面板泊松模型
    • ocmt:高维固定效应模型的变量筛选问题
  • 专题:PSM-Matching
    • Stata:psestimate-倾向得分匹配(PSM)中协变量的筛选
    • Stata:psestimate-倾向得分匹配(PSM)中匹配变量的筛选
  • 专题:机器学习
    • Lasso:拉索中如何做统计推断
    • Stata:拉索开心读懂-Lasso入门

New! Stata 搜索神器:lianxhsongbl  GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉  使用:
. lianxh DID 倍分法
. songbl all

🍏 关于我们

  • 连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存