首先,一些术语。在我看来,我们称其为“同质性 Q 检验”还是“异质性 Q 检验”是任意的。在原假设下,我们假设同质性,因此称其为同质性 Q 检验会强调我们正在检验这个假设。但是另一种假设指出,真正的效果/结果是异质的,所以我们也可以说我们用它来测试(是否)异质性(是否存在)。有些人可能不同意——但最后,只有 Q 测试,不管我们怎么称呼它。
至于只有两项研究时使用Q检验:相当于检验第一项研究的真实效果与第二项研究的真实效果相同的原假设。如果我们写下 Q 检验的零假设,那应该很清楚,即
H0:θi=θ for all i=1,…,k,
这对于k=2等同于H0:θ1=θ2,
在哪里θi表示真正的效果/结果i研究。
我们也可以用一个例子来证明这一点。为此,我将使用 R 和metafor
包。
library(metafor)
yi <- c(.14, .75) # observed effect size estimates
vi <- c(.083, .042) # corresponding sampling variances
di <- c(0, 1) # dummy variables to distinguish the two studies
### fixed-effects model
rma(yi, vi, method="FE")
结果是:
Fixed-Effects Model (k = 2)
Test for Heterogeneity:
Q(df = 1) = 2.9768, p-val = 0.0845
Model Results:
estimate se zval pval ci.lb ci.ub
0.5450 0.1670 3.2638 0.0011 0.2177 0.8723 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
所以,我们发现Q(1)=2.9768和p=0.0845. 现在让我们对这些数据进行(固定效应)元回归,将虚拟变量添加到区分第一个研究和第二个研究的模型中:
### meta-regression model
rma(yi, vi, mods = ~ di, method="FE")
这产生:
Fixed-Effects with Moderators Model (k = 2)
Test for Residual Heterogeneity:
QE(df = 0) = 0.0000, p-val = 1.0000
Test of Moderators (coefficient(s) 2):
QM(df = 1) = 2.9768, p-val = 0.0845
Model Results:
estimate se zval pval ci.lb ci.ub
intrcpt 0.1400 0.2881 0.4859 0.6270 -0.4247 0.7047
di 0.6100 0.3536 1.7253 0.0845 -0.0830 1.3030 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
请注意,虚拟变量的 p 值与 Q 检验的 p 值完全相同。如果我们对 z 值进行平方,我们实际上得到了 Q 检验的卡方值。这实际上是QM检验,是对所有系数(截距除外)的综合检验,但由于模型中只有一个系数(虚拟变量的那个),这与只检验虚拟变量的系数是否为与零明显不同。
因此,“从机械上讲”,一切都按预期进行。这是一个有效的程序吗?我认为这没有任何问题——您只是在测试研究 1 和研究 2 的效果是否彼此显着不同。
功率当然始终是我们必须牢记的问题。是的,功率可能很低。因此,非常重要的是,如果您没有发现显着差异,您应该非常谨慎地解释它。特别是,它仅仅意味着您没有足够的证据来拒绝零假设,但真实效果很可能仍然彼此不同。
另一方面,如果您使用这种方法进行大量测试,实际上一些重要的发现很可能只是 I 类错误。因此,您在解释任何重要发现时也需要谨慎,特别是如果您没有纠正多重测试。