Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:郑裕璇 (中央财经大学)
邮箱:zhengyuxuan811@gmail.com
编者按:本文主要参考自下文,特此致谢!
Source:Ängquist L. Stata tip 92: Manual implementation of permutations and bootstraps[J]. The Stata Journal, 2010, 10(4): 686-688. -PDF-
目录
在数学中,Permutations (置换检验) 可视为对一组有序抽象元素的重新排序,例如 Fraleigh (2002)。在实证数据分析中,这个概念可能对应于一组有序观察结果的重新排序。模糊地说,当在一个特定变量相对于另一个变量的零关联或效应的零假设条件下进行模拟时,Permutations 可能是一个有趣的概念。
在这里,除了与核心变量相对应的随机排列值外,数据集基本保持不变。因为在没有关联的原假设下,所有排列通常都是等可能的 (至少在适当处理潜在混淆变量的情况下),这是一种通过此类模拟估算相应零分布的方法,例如相关的
类似地,也可以采用 bootstrap 模拟程序。在这里,不会对观测数据重新排序,而是基于这一集合的经验分布,从样本中重复抽样进行推断。某种意义上,bootstrap 和 permutation 分别对应于在有替换和无替换的情况下从经验分布中均匀随机地选择值。
更多详细介绍,请参考 Manly (2007) 的 permutations 方法,Davison 和 Hinkley (1997) 的 bootstraps 方法,以及 Robert 和 Casella (2004) 的一般随机模拟方法。
在 Stata 中,我们可以使用命令 permute
和 bootstrap
来分别执行基于 permutation 和 bootstrap 的显著性检验。但是,有时需要更具体或者想对实际操作保持更细致的控制时,手动操作可能是更有利的。
假设有一个感兴趣的变量 permvar,我们想要按照上述的方式排列,可尝试:
generate id = _n // 创建一个与当前排列顺序对应的新变量 id
generate double u = runiform() // 生成随机分布在 0—1 之间的变量 u
sort u // 对 u 进行排序
local type: type permvar
generate `type' upermvar = permvar
// 将排列存储在新变量 upermvar 中,每个新的值都来自于随机选择的 permvar 中
为了降低固定值相对于随机抽取的风险,并进一步增加派生值的随机性,可以将上述 2—3 行的代码替换为:
generate double u1 = runiform()
generate double u2 = runiform()
sort u1 u2
随机性参考对应于这样一个事实:计算机生成的随机数仅在实现所谓伪随机数对应的范围内是随机的,例如 Knuth (1998)。因此,为获得可重复的结果,需要设定种子值:
set seeds 760130 // 随机种子数必须是正整数
我们可以使用一个与上述 permutations 方法相关但略有不同的变体,来生成一个名为 ubootsvar 的 bootstrapped 变量,它是基于原始变量 bootsvar 的当前观测值构成的经验分布。
generate u = ceil(runiform()*_N)
generate ubootsvar = bootsvar[u]
上述代码中,均匀分布的值不是用来决定排序顺序,而是通过让它们成为整数 1、2、... 、N 上均匀分布的值来直接构成索引值。为此,使用了 ceil()
函数。有关 runiform()
的更多信息,可查阅 help runiform
或者是 Buis (2007)。此外,在 Cox (2003) 中描述了 ceil()
和 floor()
的相关函数。
permutations
是通过置换样本数据顺序,重新计算统计检验量并构造经验分布,在此基础上求出 bootstrap
不会对观测数据重新排序,而是根据这一集合的经验分布,从观测数据中重复抽样进行推断。为了更详细地掌握实际操作数据,可以通过手动实现 Permutations 和 Bootstraps。
Note:产生如下推文列表的 Stata 命令为:
lianxh bootstrap 种子值, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh