2016-02-17 50 views
1

我想知道我的元分析结果的解释。元变量回归:方差在哪里?

设置非常简单:我有一个包含变量TVAL(取自一组主要研究)的数据集y。 TVAL是标准化的,因此其所有观测值的标准误差(来自主要研究的抽样标准误差)均为1。 SHORTREF是代表不同主要研究的因素。

我现在恒定执行一个简单的元回归,使用metafor包:

> m<-rma.mv(yi=TVAL, V=1, random= ~ 1|SHORTREF, intercept=TRUE, method="REML", data=y) 

> summary(m) 

Multivariate Meta-Analysis Model (k = 933; method: REML) 

    logLik Deviance   AIC   BIC  AICc 
-3056.0316 6112.0633 6116.0633 6125.7379 6116.0762 

Variance Components: 

      estim sqrt nlvls fixed factor 
sigma^2 6.6821 2.5850  84  no SHORTREF 

Test for Heterogeneity: 
Q(df = 932) = 8115.1664, p-val < .0001 

Model Results: 

estimate  se  zval  pval ci.lb ci.ub   
-0.5544 0.2861 -1.9375 0.0527 -1.1151 0.0064  . 

--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

残余异质性(西格马^ 2)是6.6821。再加上主要研究的抽样方差(由于标准化而为1),总方差为6.6821 + 1 = 7.6821。 但是,我的回归和TVAL的总方差是var(y$TVAL) = 8.70726。这意味着,我“遗漏”了我的总方差的一部分,既不是抽样方差也不是残差异质性。这种效果显示不出来,如果我离开了1|SHORTREF因素:

> m<-rma(yi=TVAL, sei=1, intercept=TRUE, method="REML", data=y) 
> summary(m) 

Random-Effects Model (k = 933; tau^2 estimator: REML) 

    logLik deviance   AIC   BIC  AICc 
-2330.9480 4661.8959 4665.8959 4675.5706 4665.9088 

tau^2 (estimated amount of total heterogeneity): 7.7073 (SE = 0.4034) 
tau (square root of estimated tau^2 value):  2.7762 
I^2 (total heterogeneity/total variability): 88.52% 
H^2 (total variability/sampling variability): 8.71 

Test for Heterogeneity: 
Q(df = 932) = 8115.1664, p-val < .0001 

Model Results: 

estimate  se  zval  pval ci.lb ci.ub   
-0.5964 0.0966 -6.1731 <.0001 -0.7857 -0.4070  *** 

--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

这里,残余的异质性的tau^2的总方差var(y$TVAL) = 8.70726减去1

也许我的抽样误差,这是真的很简单,我只是没有得到它,但任何想法为什么在第一个模型(与1|SHORTREF因素的一个)不是完全方差的TVAL分裂成假设的两个误差分量(采样和残余异质性)?

谢谢!你的帮助真的很感激。

+0

帮助解释统计模型的结果不作为具体的编程问题的质量。如果您对统计方法的应用有疑问,您应该在[stats.se]上提问关于统计问题是否在话题上的问题。 – MrFlick

回答

1

这里有三个变异来源需要考虑:研究之间的异质性,研究中的异质性和抽样误差。在你的第一个模型中,你忽略了研究内部的异质性。你应该使用这样的事情:

id <- 1:nrow(y) 
m <- rma.mv(yi=TVAL, V=1, random= ~ 1|SHORTREF/id, data=y) 

注意,你从这个模型中得到两个方差分量的总和(加1)仍然不完全加起来var(TVAL)因为分解并非如此简单。但是,你应该得到一些与这种差异非常接近的东西。这里是一个模拟数据的例子:

library(metafor) 

k <- 100 ### total number of estimates 
m <- 20 ### number of studies 

vi <- rep(1, k) 
id <- 1:k 
study <- sort(sample(1:m, k, replace=TRUE)) 
yi <- rep(rnorm(length(unique(study)), 0, 2), times=table(study)) + rnorm(k, 0, 4) 

var(yi) 

res <- rma(yi, vi) 
res$tau2 + 1 

res <- rma.mv(yi, vi, random = ~ 1 | study/id) 
sum(res$sigma2) + 1 
+0

谢谢,沃尔夫冈。如果您不介意的话,您需要跟进一个问题:您是否了解了解如何计算研究间差异估计值(1 |研究部分)(ML或REML)?提前致谢。 – JoachimMun

+0

你可能想看看Konstantopoulos,S.(2011)。三级荟萃分析中的固定效应和方差分量估计。 Research Synthesis Methods,2(1),61-76。 – Wolfgang

+0

谢谢沃尔夫冈,这非常有帮助。 – JoachimMun