👇 连享会 · 推文导航 | www.lianxh.cn
🍎 Stata:Stata基础 | Stata绘图 | Stata程序 | Stata新命令 📘 论文:数据处理 | 结果输出 | 论文写作 | 数据分享 💹 计量:回归分析 | 交乘项-调节 | IV-GMM | 时间序列 | 面板数据 | 空间计量 | Probit-Logit | 分位数回归 ⛳ 专题:SFA-DEA | 生存分析 | 爬虫 | 机器学习 | 文本分析 🔃 因果:DID | RDD | 因果推断 | 合成控制法 | PSM-Matching 🔨 工具:工具软件 | Markdown | Python-R-Stata 🎧 课程:最新专题 | 计量专题 | 关于连享会
🍓 课程推荐:2024 空间计量专题
主讲老师:范巧 (兰州大学)
课程时间:2024 年 10 月 2-4 日 (三天)
课程咨询:王老师 18903405450(微信)
课程特色 · 2024空间计量:
👉 一、从“零基础”到“高水平”的课程设计
兼顾基础知识、主流模型与前沿模型 既考虑软件安装、程序编写以及空间权重矩阵设计等 基础知识 讲授,更强调时空面板地理加权回归模型、贝叶斯空间计量模型、矩阵指数模型、空间计量交互模型与空间面板似不相关回归模型等 前沿模型 的传授。
👉 二、“保姆级”的空间计量代码
编写与校准所有模型的MATLAB代码,简化实操环节 模型的估计与检验等 仅按照提供的Excel数据版式 搜集与整理原始数据,即可一次性出结果并作图。
👉 三、“最多上新” 的内容体系
新增 矩阵指数模型、短面板空间似不相关模型、空间计量交互模型、贝叶斯空间计量模型等 新增 前沿应用案例,包括空间计量与索洛余值法、随机前沿分析与数据包络分析等的互嵌研究,阐释基于空间计量的产业空间结构优化评价方法。 新增 Dagum空间基尼系数、核密度估计、空间马尔科夫链与空间收敛性等内容,阐释现实研究中对空间收敛性的应用“谬误”。
作者: 李硕清 (中山大学)
邮箱: 857532149@qq.com
目录
1. 背景介绍
1.1 低估偏误说明
1.2 问题提出
2. 命令介绍
2.1 理论部分
2.2 语法结构
3. Stata 实例
4. 结语
5. 参考资料
6. 相关推文
温馨提示: 文中链接在微信中无法生效。请点击底部「阅读原文」。或直接长按/扫描如下二维码,直达原文:
1. 背景介绍
在估计参数的聚类标准误差时,必须考虑总样本内不同样本群之间的相关性。但是,在许多程序中是默认忽略这种依赖性的,这会使计算得出的 OLS 标准误差会大大低估真实的 OLS 标准误差。
为了解决这个问题,我们应该使用允许异方差或聚类误差相关性存在的聚类稳健标准误 (CRVE)。需要注意的是,该稳健标准误使用的前提假设是样本中的样本簇数量要相当大,一般来说要超过 30 组。
1.1 低估偏误说明
我们先来求在 OLS 下聚类误差的大小。假设模型数据被分为 簇 (以下标 表示),每个簇有 (以下标 表示) 个观察值。每个簇的系数的标准差是独立的,但簇间的干扰项是有关联的。具体来看,模型可以写成以下形式:
其中, 是 的矢量, 是 的矢量, 是 的矢量, 是 的矢量,, 和 是向量, 和 是 的矢量, 和 是 的矢量。
在该模型下,OLS 估计量为 。同时在这个假设下,求得的参数对于各个簇是相互独立的,但残差在各簇间有相关关系。即在 的条件下,我们可以得到:
这个方差比基于 OLS 方法的残差独立同分布假设下所求的方差 更大,并且这个偏差还会随着样本簇的大小、回归元之间的关系、残差之间的关系的变化而变化。
为了解决低估的情况,可以使用聚类稳健误差估计 CRVE 方法。CRVE 方法以 G 为代价,并且允许簇间存在异方差,以及残差在各簇间有相关关系。CRVE 方法已经在很多 Stata 的回归命令中得到了使用 (这时会使 , 取 ),但这个方法的前提是要求 G 趋近于无穷,然而当 G 过小的时候就会有下面的问题产生。
1.2 问题提出
当使用 CRVE 方法但 G 的数量较小 (小于 30) 时,如果使用传统的 Wald 检验来检验系数有效性,可能会产生过度拒绝的问题。具体来看,双边 Wald 检验的 ,则有 ,其中 是向量 的组成成分。构造 WALD 检验统计量,并进行 检验:
其中, 是 的平方根。这个 检验在 下是渐进于标准正态的,如果 ,则可以在 的显著条件下拒绝 。但是这个拒绝只有在 的条件下才是正确的,否则会引起过度拒绝。为了解决这个问题,我们引入新命令 wcbregress
。
2. 命令介绍
为了解决传统 Wald 检验过度拒绝的问题,很多计量学家提出了自己的想法。例如,Donald 和 Lang (2007) 选择不使用 OLS 估计量,而是新提出一个替代性的两步估计量,并使用 分布 ( 是指非变量回归元的数目)。wcbregress
命令也使用了一种新的方法,即继续使用 CRVE 方法估计标准 OLS 估计量,但在计算参数有效性的时候提出全新的改进。
2.1 理论部分
Bootstrap 的引入。Bootstrap 方法 (自助法) 是从原始样本生成大量伪样本,并且对于每个伪样本,计算相应的统计量。然后,使用该统计量在伪样本中的分布来推断原始样本统计量的分布。Bootstrap 的方法并不是单一的,它会根据需要计算的统计量、生产的伪样本、以及推断的方法进行调整。
多种统计方法的比较。对于聚类稳健参数的有效性判断,一般有下图所示的四大类方法、以及大类方法下相应的处理方法。经过蒙特卡罗模拟验证,研究人员发现,即使只有 6 个集群,使用 Wild Cluster Bootstrap 方法,得出的经验拒绝率非常接近理论值。
Source: Cameron A C, Gelbach J B, Miller D L. Bootstrap-based improvements for inference with clustered errors[J]. The Review of Economics and Statistics, 2008, 90(3): 414-427. -PDF-, -PDF2-, Table 1: Different Methods for Wald Test.
Wild Cluster Bootstrap 方法。对一个有多个标准差的回归模型,采用重抽样的方法比使用已有聚类数据要更好。我们可以保持回归元 X 在整个伪样本中不变,同时对残差进行重抽样以此来构建新的独立变量 y,该方法又称为 Wild Cluster Bootstrap 方法。具体来讲就是从原有的残差样本里重抽样获得 ,因此伪样本可以得到是 ,同时有 。
2.2 语法结构
wcbregress
可以选择使用 CRVE 方法进行参数的稳健性求解,同时还会返回用 Wild Cluster Bootstrap 方法对参数进行的有效性检验的结果。这个命令依赖于 Stata 内置的 regress
命令,因此 regress
的大多数选项都与 wcbregress
兼容。
*命令安装
ssc install wcbregress, replace
*语法结构
wcbregress depvar varlist [if] [in] [weight] [, options]
depvar
:被解释变量;varlist
:不进入选择模型的解释变量;
options
具体如下:
group(varname)
:用于生成各变量簇的变量名称;robust
:稳健地使用 CRVE 方法求解系数;vce(vcetype)
:获得稳健标准误;nonconstant(varname)
:进行无常数项回归;hascons
:使用用户提供的常数项进行回归;tsscons
:计算一系列常数项的平方和;level(#)
:设置置信区间,默认是 95%;seed(#)
:设置随机数种子;detail
:显示中间命令输出;rep(#)
:用于计算标准误差或置信区间的 bootstrap 复制数,默认是 500。
3. Stata 实例
接下来,我们以 Stata 自带的「auto.dta」数据为例,来演示命令 wcbregress
的使用方法。相关设定如下:
假设价格 price 是行程英里数 mpg、头部空间 headroom、后备箱空间 trunk、车重 weight 等变量的函数; 以 1978 年维修记录 rep78 为分类依据; 置信区间设定为 99%。
. clear all
. sysuse auto.dta, clear
(1978 Automobile Data)
. wcbregress price mpg headroom trunk weight, group(rep78) level(99)
Wild Cluster Boostrap in progress (200 replications)
(each dot . indicates one replication)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.................................................. 50
.................................................. 100
.................................................. 150
.................................................. 200
Wild Cluster Bootstrap Linear regression
Number of obs = 74.000
Replications = 200.000
R-squared = 0.323
Adj R-squared = 0.283
Root MSE = 2497.033
----------------------------------------------------------------------------
Panel A: Point Estimates and Wild Cluster Bootstrap Std. Err.
----------------------------------------------------------------------------
| Bootstrap Normalized
price | Coef. Std. Err. z P>|z| [ 99% Conf. Interval ]
----------+-----------------------------------------------------------------
mpg | -54.7915 66.9427 -0.82 0.413 -168.339 58.756
headroom |-726.5434 243.1408 -2.99 0.003 -1150.295 -302.792
trunk | 23.0425 104.3392 0.22 0.825 -150.260 196.345
weight | 2.0119 1.1985 1.68 0.093 -0.080 4.104
_cons |3114.9403 4283.5837 0.73 0.467 -4541.290 10771.170
----------------------------------------------------------------------------
Panel B: Wild Cluster Bootstrap t-tests and Confidence Intervals
----------------------------------------------------------------------------
| Bootstrap [ 99% Conf. Interval ]
price | P>|t*| [ Symmetric CI ] [ Asymmetric CI ]
----------+-----------------------------------------------------------------
mpg | 0.520 -177.168 67.585 -177.168 67.585
headroom | 0.030 -1471.480 18.393 -1471.480 18.393
trunk | 0.790 -336.623 382.708 -350.185 382.708
weight | 0.500 -6.348 10.372 -4.879 10.372
_cons | 0.560 -12662.700 18892.580 -13886.579 18892.580
----------------------------------------------------------------------------
* Disclaimer: This is a Beta version of the command. helloyzz@gmail.com
可以看出,wcbregress
命令使用 Wild Cluster Bootstrap 方法重复 200 次创建伪样本,并在 Panel A 报告相应的估计系数,以及 Bootstrap 标准差。与此同时,在 Panel B 里使用 检验来检测系数的有效性,并且得出相应系数的 值,该值即使在簇类样本量较少的情况下也相当准确。
将 Bootstrap 重复次数改为 50 次。
. wcbregress price mpg headroom trunk weight, group(rep78) rep(50) level(99)
Wild Cluster Boostrap in progress (50 replications)
(each dot . indicates one replication)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.................................................. 50
Wild Cluster Bootstrap Linear regression
Number of obs = 74.000
Replications = 50.000
R-squared = 0.323
Adj R-squared = 0.283
Root MSE = 2497.033
----------------------------------------------------------------------------
Panel A: Point Estimates and Wild Cluster Bootstrap Std. Err.
----------------------------------------------------------------------------
| Bootstrap Normalized
price | Coef. Std. Err. z P>|z| [ 99% Conf. Interval ]
----------+-----------------------------------------------------------------
mpg | -54.7915 66.9427 -0.82 0.413 -168.075 58.492
headroom |-726.5434 243.1408 -2.99 0.003 -1107.982 -345.105
trunk | 23.0425 104.3392 0.22 0.825 -141.675 187.760
weight | 2.0119 1.1985 1.68 0.093 -0.016 4.039
_cons |3114.9403 4283.5837 0.73 0.467 -4327.558 10557.439
----------------------------------------------------------------------------
Panel B: Wild Cluster Bootstrap t-tests and Confidence Intervals
----------------------------------------------------------------------------
| Bootstrap [ 99% Conf. Interval ]
price | P>|t*| [ Symmetric CI ] [ Asymmetric CI ]
----------+-----------------------------------------------------------------
mpg | 0.680 -167.708 58.125 -167.708 58.125
headroom | 0.000 -1334.871 -118.216 -1334.871 -118.216
trunk | 0.880 -323.061 369.146 -350.185 369.146
weight | 0.360 -4.879 8.903 -2.962 8.903
_cons | 0.680 -11104.649 17334.530 -11104.649 17334.530
----------------------------------------------------------------------------
* Disclaimer: This is a Beta version of the command. helloyzz@gmail.com
可以看出,重复次数即使调为 50 次后,系数估计并没有发生变化,但是有效性检验的 值发生较大变化。因此,要获得精确的检验结果,Bootstrap 的重复次数应该尽量的多。
添加稳健性估计选项和去常数项回归选项,同时展示系统存储的计算数据。
. wcbregress price mpg headroom trunk weight, group(rep78) rep(50) level(90) seed(2333) robust
Wild Cluster Boostrap in progress (50 replications)
(each dot . indicates one replication)
----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
.................................................. 50
Wild Cluster Bootstrap Linear regression
Number of obs = 74.000
Replications = 50.000
R-squared = 0.323
Adj R-squared = 0.283
Root MSE = 2497.033
---------------------------------------------------------------------------
Panel A: Point Estimates and Wild Cluster Bootstrap Std. Err.
---------------------------------------------------------------------------
| Bootstrap Normalized
price | Coef. Std. Err. z P>|z| [ 90% Conf. Interval ]
----------+----------------------------------------------------------------
mpg | -54.7915 66.9427 -0.82 0.413 -181.047 71.464
headroom |-726.5434 243.1408 -2.99 0.003 -1199.264 -253.823
trunk | 23.0425 104.3392 0.22 0.825 -180.287 226.372
weight | 2.0119 1.1985 1.68 0.093 -0.424 4.447
_cons |3114.9403 4283.5837 0.73 0.467 -5429.827 11659.708
---------------------------------------------------------------------------
Panel B: Wild Cluster Bootstrap t-tests and Confidence Intervals
---------------------------------------------------------------------------
| Bootstrap [ 90% Conf. Interval ]
price | P>|t*| [ Symmetric CI ] [ Asymmetric CI ]
----------+----------------------------------------------------------------
mpg | 0.680 -169.098 59.515 -167.024 59.515
headroom | 0.040 -1396.238 -56.849 -1284.111 -56.849
trunk | 0.960 -313.770 359.855 -313.770 359.855
weight | 0.480 -6.348 10.372 -4.879 10.372
_cons | 0.800 -10710.728 16940.609 -13886.579 16940.609
---------------------------------------------------------------------------
* Disclaimer: This is a Beta version of the command. helloyzz@gmail.com
. ereturn list
scalars:
e(N) = 74
e(r2) = .3225469262049001
e(r2_a) = .283274284245764
e(rmse) = 2497.033035550464
macros:
e(vcetype) : "Wild Cluster Bootstrap SE"
e(cmd) : "wcbregress"
e(title) : "Wild cluster bootstrap SE and T-tests for the linear regression"
e(Brep) : "50"
e(properties) : "b V"
matrices:
e(b) : 1 x 5
e(V) : 5 x 5
e(WCB_pvalue) : 1 x 5
e(WCB_V) : 1 x 5
functions:
e(sample)
可以看出,无常数项估计会对估计结果,以及有效性检验产生较大影响。在 Bootstrap 重复次数足够大的情况下,是否稳健地进行系数估计所得系数结果差别不大,但是会对有效性检验的 值产生产生影响,这反映了残差间的相关关系对系数估计的影响。
4. 结语
当所拥有的簇类数量较少的时候,原有聚类命令估计出的系数有效性很差。如何在簇类样本较少的情况下有效地估计系数,并避免在系数有效性检验时过度拒绝,是实证金融研究里一个重要的话题。
wcbregress
采用了 Wild Cluster Bootstrap 的自抽样方法,并使用 检验来判断系数有效性。其结果经验拒绝率非常接近理论值,而且即使只有 10 个以内的集群,在计算后也没有明显的效率损失。
5. 参考资料
Donald S G, Lang K. Inference with difference-in-differences and other panel data[J]. The review of Economics and Statistics, 2007, 89(2): 221-233. -PDF-, -PDF2- Cameron A C, Gelbach J B, Miller D L. Bootstrap-based improvements for inference with clustered errors[J]. The Review of Economics and Statistics, 2008, 90(3): 414-427. -PDF-, -PDF2-
6. 相关推文
Note:产生如下推文列表的命令为:
lianxh 聚类 标准误 bootstrap 空间相关性, m
安装最新版lianxh
命令:
ssc install lianxh, replace
专题:Stata程序 Stata: Bootstrap-自抽样-自举法 专题:回归分析 Stata:聚类调整标准误笔记 Stata:聚类调整后的标准误-Cluster-SE 小样本下OLS估计的纠偏聚类标准误 专题:倍分法DID 倍分法(DID)的标准误:不能忽略空间相关性
🍓 课程推荐:2024 空间计量专题
主讲老师:范巧 (兰州大学)
课程时间:2024 年 10 月 2-4 日 (三天)
课程咨询:王老师 18903405450(微信)
New! Stata 搜索神器:
lianxh
和songbl
GIF 动图介绍
搜: 推文、数据分享、期刊论文、重现代码 ……
👉 安装:
. ssc install lianxh
. ssc install songbl
👉 使用:
. lianxh DID 倍分法
. songbl all
🍏 关于我们
连享会 ( www.lianxh.cn,推文列表) 由中山大学连玉君老师团队创办,定期分享实证分析经验。 直通车: 👉【百度一下: 连享会】即可直达连享会主页。亦可进一步添加 「知乎」,「b 站」,「面板数据」,「公开课」 等关键词细化搜索。