我认为判断单个样本是来自还是来自的最有力的假设检验使用平均值作为检验统计量。因此,我使用蒙特卡罗模拟计算样本量并比较了两种方法:(a)使用数值平均值作为检验统计量,(b)首先将数据转换为排名,然后计算平均值。我发现排名数据产生的样本量较小。这怎么可能?
我最终感兴趣的是确定未来实验的样本量。我喜欢从具有已知分布的工业过程中这使我可以在不测量每个零件的情况下生产产品。
假设检验涉及许多微妙的困难。这就是为什么我设置以下玩具模型以将注意力集中在上述“数字与排名”问题上。
set.seed(2020)
transformToRank = FALSE
alpha = 0.05
betaTarget = 0.20
T = matrix(nrow = 1e4, ncol = 2) # alloc space for test statistic
for ( nSample in 3:100 ) {
for ( i in 1:1e4 ){
# combine data:
random = c(rnorm(nSample,0,1), rnorm(nSample,1,1))
if ( transformToRank ){
# rank data (combined):
random = rank(random)
}
# Calc test statistic:
T[i,] = c(mean(random[1:nSample]), mean(random[(nSample+1):(2*nSample)]) );
}
cutoff1 = quantile(T[, 1], alpha/2)
cutoff2 = quantile(T[, 1], 1-alpha/2)
beta = sum(cutoff1 < T[, 2] & T[, 2] < cutoff2) / 1e4
if ( beta <= betaTarget ){
break
} else {
nSample = nSample + 1
}
}
print(beta)
print(nSample)
可以使用以下代码检查数字大小写:
library(BSDA)
set.seed(2020)
pValue = replicate(1e4,z.test(rnorm(8,1,1),
alternative="two.sided", mu=0, sigma.x=1)$p.value);
power = mean(pValue <= 0.05)
beta = 1 - power
print(beta)
如果我使用数值,则样本大小满足 -risk 条件。相反,如果我将随机数转换为等级,我只需要。因此,如果我愿意使用随机生成的数据集来分析(排名)实验数据,测试的功效会显着增加。分布的位置缩放版本中采样,此逻辑也适用。我错过了什么?
我的关键问题是,为什么排名版本的力量会如此巨大?我相信我会得到大致相同的样本量,因为众所周知,秩变换为非参数假设检验提供了一座桥梁,参见例如Ref1或Ref2。