对Permutation test 的首次描述可追溯到上个世纪30年代, Fisher( 1935) 和Pitman( 1937)
介绍了其在线性统计模型中的应用。但该法计算工作量过大, 其发展在随后的半个世纪里未
得到重视。上个世纪80年代以来, 由于计算机技术的飞速发展, 使得许多模拟算法成为可能,
从而形成了许多基于大量计算的统计推断方法。Permutationtest 就是其中之一。
Permutationtest 的基本思想是: 根据所研究的问题构造一个检验统计量, 并利用手头样
本, 按排列组合的原理, 导出检验统计量的理论抽样分布; 若难以导出确切的理论分布, 则采用
抽样模拟的方法做估计其近似分布。然后求出从该分布中获得手头样本及更极端样本的概率
( P值) , 并界定此概率值, 作出推论。
若检验统计量的抽样分布是基于样本的所有可能的排列( 或组合) 条件下的分布, 则称之
为 Exact PermutationTest( EPT) , 可译为 确切排列( 组合) 检验, 其思路类似于秩和检验。
对实际问题来说, 往往得不到检验统计量的确切抽样分布, 可通过基于样本的大量重复的随机
排列( 或组合) 估计其近似的抽样分布, 则称之为 RandomizedPermutationtest( RPT) , 可译为
随机排列( 或组合) 检验。亦有文献中将EPT称为 Exact RandomizationTest( 确切随机化
检验), 而将RPT称为 RandomizationTest( 随机化检验) 。
下面以成组设计的两样本均数比较的RPT( 双侧检验) 为例, 介绍其实施的具体步骤:
( 1) 建立假设, 确定检验水准。
与传统假设检验相同。H0: μ1= μ2; H1: μ1≠μ2; α=0.05(双侧检验)。
(2) 构造统计量D, 并计算现有样本统计量D(obs)。
检验统计量可以根据实际情况构造, 无需考虑检验统计量的理论抽样分布, 这是Permu
tationtest 之特点。此处, 可选两样本均数之差 X1- X2作为统计量D。
(3) 在H0 假设条件下, 通过计算机模拟得到统计量D的 经验抽样分布。
在H0 假设成立的条件下, 即两样本来自同一个总体, 均为总体的随机样本, 那么对样
本数据重新随机分组( 各组样本含量不变) , 得到的新样本也是总体的两个随机样本, 称之为
Permutation样本。并据此计算检验统计量D。
重复步骤k 次( 如100000次) 。
根据k 个Permutation样本的统计量D, 即可得到D的 经验抽样分布。
(4) 计算概率P。
在H0 假设成立的前提下, P值为 经验抽样分布中D值大于等于(或小于等于)现有样
本统计量D(obs)的概率, 即:
P= P(| D|≥ | D(obs) | ) =
number(| D| ≥| D(obs) | )/k
其中分母k为随机重复的次数, 分子为分母中| D| ≥| D(bos)| 的次数。
( 5) 根据小概率原理作出推断性结论
例1 成组设计的两样本均数的比较。
具体数据如下:
第一组:
1.4588,0.8234,-0.1939,0.5947,-0.1497,-2.1674,-0.9870,0.6366,-1.0250,0.9604
第二组:
0.7381,0.9849,2.0666,2.5958,3.5186,0.8398,2.0789,-0.3106,2.0601,0.0398 相应的R程序 twot.permutation {DAAG} > s1=c(1.4588,0.8234,-0.1939,0.5947,-0.1497,-2.1674,-0.9870,0.6366,-1.0250,0.9604) > s2=c(0.7381,0.9849,2.0666,2.5958,3.5186,0.8398,2.0789,-0.3106,2.0601,0.0398) > twot.permutation(x1=s1, x2=s2, nsim=500000, plotit=TRUE) #模拟次数为500000次 [1] 0.011 #p=0.011
参考资料
1.PermutationTest 在假设检验中的应用 荀鹏程 赵 杨 易洪刚 柏建岭 于 浩 陈 峰
2.R help
twot.permutation {DAAG} | R Documentation |