Stouffer的Z评分方法:如果我们将


22

我正在使用相同的原假设进行独立的统计检验,并希望将结果合并为一个N值。似乎有两种“可接受的”方法:Fisher方法和Stouffer方法p

我的问题是关于斯托弗的方法。对于每个单独的测试,我都获得z得分。在零假设下,它们中的每一个都具有标准正态分布,因此和z i遵循方差N的正态分布。因此斯托夫的方法表明计算Σ ž / ziΣziN,应该以单位方差正态分布,然后将其用作联合z得分。Σzi/N

这是合理的,但是这是我想出的另一种方法,对我来说也很合理。由于每个的来自一个标准正态分布,平方和小号= Σ ž 2 应来自与卡方分布Ñ自由度。因此,可以使用具有N个自由度的累积卡方分布函数来计算S并将其转换为p值(p = 1 - X NS ,其中X N是CDF)。ziS=Σzi2NSpNp=1XN(S)XN

但是,我什至找不到这种方法。有没有用过?它有名字吗?与斯托弗的方法相比,优点/缺点是什么?还是我的推理有缺陷?


出现的一个明显缺陷是Stouffer的方法可以检测到系统变化,这是当一个替代方案始终为真时人们通常会期望发生的变化,而卡方方法似乎没有那么大的能力。快速模拟(Ñ = 10010 4次迭代),显示这是如此; 卡方方法的功能严重不足,无法检测单面的替代方法。ziN=100104
ub

2
谢谢,呜呜!我很好奇,您能否更详细地描述您的仿真。在另一方面,如果有不同的迹象,但大的绝对值,然后斯托弗的方法可以结束了整体ž 0,而我的方法将报告非常显著p。我想在某些情况下它可能更有意义(我怀疑确实如此,但我不确定)。ziz0p
变形虫说恢复莫妮卡

1
您说的没错,这就是为什么我没有发表评论作为答案的原因。但是,在什么情况下,除了单独的偶然因素之外,替代方案在两个方向上与零值有很大的不同?
ub

我想到的情况类似于Pearson卡方检验中的情况,在该情况中,一个人对经验分布是否不同于零值感兴趣;那么在任何一个方向上的偏差都很重要。但是,再三考虑之后,我想您的直觉是正确的,在我的情况下,可疑偏差全都在一个方向上。如果您发表评论作为答案并提供有关快速模拟的一些详细信息(我很好奇为什么卡方方法结果没有那么强大!),我将很乐意接受。
变形虫说恢复莫妮卡

Z个分数的总和具有方差为n?的分布。为什么方差不是均值标准误差的平方?标题中隐含的和确实具有N的方差。也许我缺少明显的东西?Z2
russellpierce

Answers:


17

出现的一个缺陷是Stouffer的方法可以检测到系统变化,这是当一个替代方案始终为真时人们通常希望发生的变化,而卡方方法似乎没有那么大的能力。快速仿真表明情况确实如此。卡方方法检测单边替代方法的功能较弱。这是两种方法(red = Stouffer,blue = chi-square)的两种方法的p值的直方图,其中N = 10且有单侧标准化效果μ的10 5次独立迭代,范围从无(μ = 0)到0.6 SD (0.6zi105N=10μμ=00.6μ=0.6)。

数字

更好的过程将有更大的面积接近零。对于所示的所有正值,该程序为Stouffer程序。μ


R代码

这包括用于比较的费舍尔方法(已注释)。

n <- 10
n.iter <- 10^5
z <- matrix(rnorm(n*n.iter), ncol=n)

sim <- function(mu) {
  stouffer.sim <- apply(z + mu, 1, 
                    function(y) {q <- pnorm(sum(y)/sqrt(length(y))); 2*min(q, 1-q)})
  chisq.sim <- apply(z + mu, 1, 
                    function(y) 1 - pchisq(sum(y^2), length(y)))
  #fisher.sim <- apply(z + mu, 1,
  #                  function(y) {q <- pnorm(y); 
  #                     1 - pchisq(-2 * sum(log(2*pmin(q, 1-q))), 2*length(y))})
  return(list(stouffer=stouffer.sim, chisq=chisq.sim, fisher=fisher.sim))
}

par(mfrow=c(2, 3))
breaks=seq(0, 1, .05)
tmp <- sapply(c(0, .1, .2, .3, .4, .6), 
              function(mu) {
                x <- sim(mu); 
                hist(x[[1]], breaks=breaks, xlab="p", col="#ff606060",
                     main=paste("Mu =", mu)); 
                hist(x[[2]], breaks=breaks, xlab="p", col="#6060ff60", add=TRUE)
                #hist(x[[3]], breaks=breaks, xlab="p", col="#60ff6060", add=TRUE)
                })

再次感谢,这非常好。如果您取消对Fisher方法的评论,会发生什么?我怀疑您已经尝试过了。Stouffer会一直赢吗?(很抱歉,我自己没有尝试过,但是我没有R的经验,也没有手头。)
变形虫说

μññ

1
您可以轻松地修改R仿真以进行测试。这将是一个向您介绍此统计计算平台的好方法。:-)
豪伯

2
ž一世ž一世

精彩的讨论和质量检查!一个简单的问题:如果通过计算马哈拉诺比斯距离并遵循这样的方法将这个问题形成为异常值/异常检测,怎么办?
NULL

10

深入了解测试统计数据的一种通用方法是得出(通常是隐式的)基本假设,这些假设将导致测试统计数据最有效。对于这种特殊情况,我和一个学生最近都这样做过:http : //arxiv.org/abs/1111.1210v2 (修订版将出现在《应用统计年鉴》中)。

简单概括一下(并与另一个答案中的模拟结果一致),当“真实”基础效果都相等时,Stouffer方法将是最有效的方法。当基本效果正态分布在大约0时,Z ^ 2的总和将是最有效的。这是略微的简化,忽略了细节:有关更多细节,请参见上面链接的arxiv预印本中的2.5节。


2
(+1)我以某种方式以为很久以前就写了它,但似乎我没有:非常感谢您在这里专门注册以回答我的问题!我很感激。您论文中的第2.5节确实非常相关。
变形虫说恢复莫妮卡2014年

3

稍有一点点:这两种方法的问题之一是由于自由度而导致的功率损失(N为stouffer的; N为Fisher的2N)。为此,已经开发了更好的荟萃分析方法,您可能要考虑这些方法(例如,逆方差加权荟萃分析)。

如果您正在寻找小组中某些替代测试的证据,则可能需要查看Donoho和Jin的较高批评统计量:https : //projecteuclid.org/euclid.aos/1085408492


1

为了回答这个问题并为其他读者:它曾经使用过吗?Cousins(2008)在arXiv上有一篇详尽的论文,其中列出并回顾了几种替代方法。拟议的似乎没有出现。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.