NEW!连享会·推文专辑:
Stata资源 | 数据处理 | Stata绘图 | Stata程序
结果输出 | 回归分析 | 时间序列 | 面板数据 | 离散数据
交乘调节 | DID | RDD | 因果推断 | SFA-TFP-DEA
文本分析+爬虫 | 空间计量 | 学术论文 | 软件工具
连享会学习群-常见问题解答汇总:
? WD 主页:https://gitee.com/arlionn/WD
? 连享会主页:lianxh.cn
![b65425d3eda227d8bf7ac123c5caff90.png](https://i-blog.csdnimg.cn/blog_migrate/52cae2088032b78e83886fbb8909b7fe.png)
作者:吴雄(湘潭大学),童天天(中南财经政法大学)
Source: The Bootstrap in Stata
目录
1. Bootstrap 简介
有放回抽样
标准差与标准误
2. 编写 Bootstrap程序
2.1 Stata 范例 1:OLS 回归的 RMSE 的标准误
2.2 Stata 范例 2:采用 Bootstrap 获取 VIF 的标准误和置信区间
3. 参考文献
Books
Bootstrap 简介
聚类标准误-Bootstrap
1. Bootstrap 简介
Bootstrap 在中文中译为「自抽样」,「自举法」,「靴带法」。若将其纯粹视为一个英文名词,它的意思是「拔靴带」—— 通过提拉鞋带,自己把自己抬起来。这听起来多少有点「力拔山兮气盖世」的项羽大英雄当年邀众人比试力量时定下的规则:坐在椅子上,双脚离地,看谁能单凭手力把椅子和自己抬起来。又或者有人传说,项羽的力量大到可以「自己拽着自己的头发就可以把自己抬离地面」(-Link-)。
虽然上述都是玩笑话,但却基本上道出了 Bootstrap 的核心思想:通过从现有样本中有放回地抽样来获得更多的「样本」(由于不是真正从母体中抽出来,所以称这些二次抽样获取的样本为「经验样本」),并进而以这些「经验样本」为基础构造统计量的标准误或置信区间,以达到统计推断的目的。
正儿八经的表述是这样的:Bootstrap 是一种崭新的增广样本统计方法,为解决小样本问题提供了很好的思路。它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。对于回归模型:对于线性回归模型:
可以通过多种方法来建立 Bootstrap 的数据生成过程 (DGP) 。所谓的 Bootstrap DGP 是对未知的 「真实 DGP」的一种估计。如果 Bootstrap DGP 在某种意义上接近真实的 DGP,那么由 Bootstrap DGP 生成的数据将与真实 DGP 生成的数据相似(如果已知的话)。如果是这样,则进行模拟使用 Bootstrap DGP 获得的 P 值与真实 P 值足够接近,可以进行准确的推理。
Bootstrap 的基本思想是:如果 观测样本 是从母体中随机抽取的,那么它将包含母体的全部的信息,那么我们不妨就把这个观测样本视为 “总体”。可以简单地概括为:既然样本是抽出来的,那我何不从样本中再抽样。
具体而言,Bootstrap 的第一步是生成一系列 Bootstrap 经验样本 (Empirical Sample) (有时也被形象地称为 「伪样本」),每个样本都是初始数据的一次有放回抽样。通过对 经验样本 的计算,获得统计量的分布。例如,要进行 1000 次 Bootstrap,求平均值的置信区间,可以对每个经验样本 计算平均值。这样就获得了 1000 个平均值。对这 1000 个平均值的分位数进行计算, 即可获得置信区间。已经证明,在初始样本足够大且初始样本是从母体中随机抽取的情况下,Bootstrap 抽样能够无偏接近总体的分布。
Bootstrap 的基本步骤如下:
- Step 1: 采用有放回抽样方法从原始样本中抽取一定数量的子样本。
- Step 2: 根据抽出的样本计算想要的统计量。
- Step 3: 重复前两步 K 次,得到 K 个统计量的估计值。
- Step 4: 根据 K 个估计值获得统计量的分布,并计算置信区间。
有放回抽样
所谓 「有放回抽样」 (Samping with replacement) 指的是在逐个抽取个体时,每次被抽到的个体放回总体中后,再进行下次抽取的抽样方法。
举个例子,对于由 0.1 和 0.3 这两个数字构成的观测样本而言, 记为 。则采用有放回抽样 (Bootstrapping),可以得到如下三种不同的经验样本:, , 。
实际应用过程中,对于包含 N 个观察值的 观测样本 而言,Bootstrap 抽样得到的经验样本也会包含 N 个观察值。这意味着,在某个 经验样本 中,有些观察值可能被多次抽中,而有些观察值则可能一次都没有被抽中。例如,在上例中,经验样本 中的观察值 0.1 被抽中了两次,而 0.3 则一次都没有被抽中。
标准差与标准误
简言之,统计量的标准差就称为 标准误。详情参见 「知乎 - 统计学上标准差与标准误的区别与联系是什么?」,以及「CSDN - 标准差(Standard Deviation) 和 标准误差(Standard Error)」。
温馨提示: 文中链接在微信中无法生效。请点击底部
2. 编写 Bootstrap程序
Stata 的 Bootstrap
命令非常方便,它不仅可以与估计命令(例如 OLS 回归和 logistic 回归)还与非估计命令(比如 summarize
)无缝衔接。Bootstrap
可以自动执行自抽样过程,得到想要的统计量,并计算相关的统计指标(例如偏差和置信区间)。然而尽管这个命令非常方便,但在某些情况下想要获得的统计量却不能通过 Bootstrap
实现。对于这些情况,您需要自行编写 Bootstrap 程序。
本篇 Stata FAQ 将演示如何自行编写 Bootstrap 程序。在第一个例子中,我们将 Bootstrap
的结果与自行编写 Bootstrap 程序的结果进行对比。通过比较, 可以发现自行编写 Bootstrap 程序非常容易。接下来的一个示例将展示当 Bootstrap
无法获得想要的统计量时,如何自行编写 Bootstrap 程序。
为了使后续结果呈现更加美观,在执行 Stata 范例之前,我们可以先执行如下格式设定命令:
set cformat %4.3f //回归结果中系数的显示格式
set pformat %4.3f //回归结果中