自助法及置换检验(Bootstrap and Permutation Test)
学术
2024-11-18 11:40
四川
设 X1,X2,…, Xn为来自总体分布 F(x;0)的样本,对于感兴趣参数θ,通常可采用极大似然估计或者矩估计等估计方法得到θ的估计。但是一般情况下很难推导出的分布,进而得到估计量的均值和方差。(1)如果 F(x;0)分布形式已知,可以通过蒙特卡洛方法模拟出与同分布的样本,进而根据样本的信息估计的分布以及分布特征。(2)如果F(x;0)分布形式未知,唯一的信息只有样本X1,X2,…, Xn。不能利用蒙特卡洛方法从总体F(x;0)中产生数据,进而不能近似的分布及其相关特征。Bootstrap方法是利用样本分布X1,X2,…, Xn代替总体分布,从分布X1,X2,…, Xn中有放回的产生数据,进而近似的分布。用 Bootstrap 方法抽取到样本 X*1,X*2,…, X*n的经验分布F*n是 Fn的逼近,Fn是总体分布 F 的逼近。这两种逼近可以表示为。如果经验分布函数Fn(x)没有靠近总体分布函数 F(x),则重复抽样下的分布也不会靠近 F(x)。1.2 Permutation Test 置换检验 置换检验(permutation test)是统计学上一种基于反证法、重抽样原则的非参数性检验。置换检验通过对比样本置换后的检验统计量与置换前的检验统计量来决定是否拒绝零假设。p值为假设检验中假设零假设为真时观测到的至少与实际观测样本相同的样本的概率。很小的p值说明在零假设下观测到的概率很小。在 Stata 中,我们可以使用命令 permute 和 bootstrap 来分别执行基于 permutation 和 bootstrap 的显著性检验。但是,有时需要更具体或者想对实际操作保持更细致的控制时,手动操作可能是更有利的。假设有一个感兴趣的变量 permvar,我们想要按照上述的方式排列,可尝试:为了降低固定值相对于随机抽取的风险,并进一步增加派生值的随机性,可以将上述 2—3 行的代码替换为: 随机性参考对应于这样一个事实:计算机生成的随机数仅在实现所谓伪随机数对应的范围内是随机的,例如 Knuth (1998)。因此,为获得可重复的结果,需要设定种子值:我们可以使用一个与上述 permutations 方法相关但略有不同的变体,来生成一个名为 ubootsvar 的 bootstrapped 变量,它是基于原始变量 bootsvar 的当前观测值构成的经验分布。上述代码中,均匀分布的值不是用来决定排序顺序,而是通过让它们成为整数 1、2、... 、N 上均匀分布的值来直接构成索引值。为此,使用了 ceil() 函数。有关 runiform() 的更多信息,可查阅 help runiform 或者是 Buis (2007)。此外,在 Cox (2003) 中描述了 ceil() 和 floor() 的相关函数。