Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:罗兰若 (中山大学)
邮箱:luolr@mail2.sysu.edu.cn
编者按:本文主要摘译自下文,特此致谢!
Source:Núñez H M, Otero J. A one covariate at a time, multiple testing approach to variable selection in high‐dimensional linear regression models: A replication in a narrow sense[J]. Journal of Applied Econometrics, 2021, 36(6): 833-841. -PDF-
目录
OCMT (A One Covariate at A Time) 是在高维回归模型中,通过多重检验,选出最接近真实模型协变量的方法。它可以作为惩罚回归的替代方法,在一些实验当中,其性能优于 Lasso 和 Adaptive Lasso 等方法。
OCMT 由 Chudik 等 (2018) 提出。此后,Nunez 和 Otero (2021) 开发了 baing
和 ocmt
命令,并在 Stata 中复现了 Chudik 等 (2018) 的部分实证结果。本文的主要目的是对上述过程进行简要说明。
简单而言,OCMT 的步骤是:
关于 OCMT 的理论基础和 ocmt
命令的用法介绍,请参考连享会推文「ocmt:高维固定效应模型的变量筛选问题」。
Chudik 等 (2018) 对美国 1960q1-2008q4 期间经济增长和通货膨胀的影响因素进行了研究。相关数据可从网站「Journal of Applied Econometrics Data Archive」或命令 lxhget ckp2018.zip, replace
获取。该数据主要包括以下 4 个 txt 文件:
数据处理代码放在 Data_analysis.do 中,关键代码放在 Data_management.do 中,这里不详细展开。需要注意的是,月度变量通过对每个季度的第二个月依次取样转换成季度数据。由于取了两期滞后项,前两个观测值的丢失导致样本期从 1960q3 开始。
考虑以下模型:
其中,
Bai 和 Ng (2002) 提供了一个对高维面板数据 (
基于这份研究,作者设计了 baing
命令。
* 命令安装
ssc install baing, replace
baing
用于时间序列数据,使用前需要先执行 tsset
命令。
* 命令语法
baing varlist [if] [in] [, options].
其中,varlist
:待筛选的自变量。options
包括:
criteria(integer)
:表示运用 3 种信息标准 IC1、IC2、IC3 中的 1 种,默认选择 IC1;maxpc(integer)
:规定公共因素数量的最大值,默认为 varlist
中的变量数;stand
:将数据进行标准化,通过减去每个变量的平均值再除以标准差;prefix(string)
:将分析出的公共因素存储为变量 string1、string2 等。如果不使用该选项,只保存公共因素的数量。返回值 r(baing_ic)
储存提取的公共因素个数。
实证分析过程采用滚动窗口回归,使用 74 个子样本,每个子样本由 120 个季度组成,即 1960q3-1990q2,1960q4-1990q3,以此类推至 1979q1-2008q4。在每个窗口中,使用因变量和待筛选的自变量来确定公共因素。
下面以第一个样本窗口 1960q3-1990q2 和 因变量 cpi 为例,介绍命令 baing
和 ocmt
在实际操作中的使用及相应结果。
基于 Bai 和 Ng (2002) 的 IC1 标准,最大因子数设定为 5。baing
命令如下:
qui baing cpi qv* mv*, max(5) stand prefix(myfactors) crit(1)
其中,qv*、mv* 均为一系列自变量,分别有 35 个和 74 个;myfactors 指定生成的公共因素的命名形式,最终生成了 myfactors1、myfactors2、myfactors3、myfactors4 共 4 个公共因素;numfactors 中存储提取的公共因素个数为 4。接下来,将提取的 4 个公共因素将作为 OCMT 的预选变量
ocmt
命令qui ocmt cpi l1.qv* l1.mv* l(1/4).cpi , delta1(1) delta2(2) zvar(l1.factor*)
其中,qv*、mv* 均为一系列自变量,分别有 35 个和 74 个;factor* 为通过 baing
命令分析得出的公共因素 myfactors* 的三期滞后项。
经过两个阶段后,OCMT 结果收敛,因此选取第二阶段得到的模型。需要注意的是,OCMT 执行过程中 Active set 是指待选择的自变量构成的集合。
. ocmt cpi l1.qv* l1.mv* l(1/4).cpi , delta1(1) delta2(2) zvar(l1.factor*)
Significance level not specified. Using default value
Dependent variable: cpi
Active set: L.qv1 L.qv2 L.qv3...L.cpi L2.cpi L3.cpi L4.cpi
Number of variables in active set = 113
Pvalue = .05
delta_1 = 1
delta_2 = 2
Pvalue_1 = .05
Pvalue_2 = .00044248
t_threshold_1 = 3.5133598
t_threshold_2 = 4.6158056
Preselected variables (apart from constant): L.factors1 L.factors2 L.factors3
Variables chosen in stage 1
L.qv20 L.qv27 L.cpi L3.cpi
Variables chosen in stage 2
L.qv20 L.qv27 L.cpi L3.cpi L2.cpi
Variables chosen in stage 3
L.qv20 L.qv27 L.cpi L3.cpi L2.cpi
------------------------------------------------------------------------------
------------------------------------------------------------------------------
One Covariate at a Time Multiple Testing (OCMT)
Chosen model after 2 stages
------------------------------------------------------------------------------
Source | SS df MS Number of obs = 189
-------------+---------------------------------- F(8, 180) = 18.94
Model | .002628647 8 .000328581 Prob > F = 0.0000
Residual | .003122216 180 .000017346 R-squared = 0.4571
-------------+---------------------------------- Adj R-squared = 0.4330
Total | .005750864 188 .00003059 Root MSE = .00416
------------------------------------------------------------------------------
cpi | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
qv20 |
L1. | -.0001378 .0064482 -0.02 0.983 -.0128617 .012586
|
qv27 |
L1. | -.1115361 .0845849 -1.32 0.189 -.2784416 .0553695
|
cpi |
L1. | -.6944746 .1054599 -6.59 0.000 -.9025714 -.4863779
L3. | .0167011 .0745922 0.22 0.823 -.1304865 .1638887
L2. | -.4719376 .088855 -5.31 0.000 -.6472691 -.2966061
|
factors1 |
L1. | -.0049336 .0007536 -6.55 0.000 -.0064206 -.0034466
|
factors2 |
L1. | .0010071 .0013829 0.73 0.467 -.0017217 .0037358
|
factors3 |
L1. | -.0017449 .0015739 -1.11 0.269 -.0048506 .0013609
|
_cons | .0000975 .0003031 0.32 0.748 -.0005006 .0006956
------------------------------------------------------------------------------
经过对 74 个子样本重复进行上述操作,最终得出了在总体中被挑选频率最高的 5 个自变量,计算出自变量被挑选的相对频率
最终结果如下表所示,这与 Chudik 等 (2018) 中的 Table III 结果完全一致。
target | select | vlabel |
---|---|---|
cpi | 100 | FIRST LAG OF CPI |
cpi | 78.378378 | THIRD LAG OF CPI |
cpi | 71.621622 | MZM (SA) FRB ST. LOUIS |
cpi | 45.945946 | MONEY STOCK: M2 |
cpi | 33.783784 | RECREATION PRICE INDEX |
gdp | 47.297297 | RESIDENTIAL PRICE INDEX |
gdp | 45.945946 | FIRST LAG OF GDP |
gdp | 43.243243 | INDUSTRIAL PRODUCTION INDEX - FUELS |
gdp | 37.837838 | OUTPUT PER HOUR ALL PERSONS |
gdp | 27.027027 | EMPLOYEES, NONFARM - MINING |
Note:产生如下推文列表的 Stata 命令为:
lianxh 变量筛选 lasso, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh