Description Usage Arguments Details Value Note Author(s) References See Also Examples
This function implements a variance components estimator for multivariate and univariate random-effects meta-analysis and meta-regression. It is meant to be used internally and not directly run by the users.
1 |
Assuming a meta-analysis or meta-regression based on m studies, k outcomes and p predictors:
Xlist |
a m-dimensional list of study-specific design matrices for the fixed-effects part of the model. Rows corresponding to missing outcomes have been excluded. |
ylist |
a m-dimensional list of study-specific vectors of estimated outcomes. Entries corresponding to missing outcomes have been excluded. |
Slist |
a m-dimensional list of within-study (co)variance matrices of estimated outcomes. Rows and columns corresponding to missing outcomes have been excluded. |
nalist |
a m-dimensional list of k-dimensional study-specific logical vectors, identifying missing outcomes. |
k, m, p, nall |
numeric scalars: number of outcomes, number of studies included in estimation (equal to the length of lists above), number of predictors (including the intercept), number of observations (excluding missing). |
control |
list of parameters for controlling the fitting process, usually internally set to default values by |
... |
further arguments passed to or from other methods. Currently not used. |
The estimation involves kp fixed-effects coefficients and k(k+1)/2 random-effects parameters, corresponding to the lower triangular entries of the between-study (co)variance matrix.
The procedure is based on the estimate of the between-study (co)variance as the difference between the marginal (co)variance and the average within-study (co)variance. This in turn requires the estimate of the marginal (co)variance, obtained by the residuals of the fitted model. The procedure is iterative, with the current estimate of the between-study (co)variance plugged into a generalized least square (GLS) routine. Starting values are provided by a fixed-effects estimator (see mvmeta.fixed
). The algorithm is fast and generally converges with few iterations.
Similar versions of this estimator has been previously proposed. Berkey and collaborators (1998) simply called it GLS method, and a non-iterative approach was proposed by Ritz and collaborators (2008), referred to as MVEE3. A non-iterative version for univariate models is discussed in Sidik and Jonkman (2007). The results from Berkey and collaborators (1998) are reproduced in the example below.
In the original approach, the estimate of the marginal (co)variance is obtained from the sum of the residual components using a denominator equal to m-p
. Following the development proposed by Kauermann and Carroll (2001) and Fay and Graubard (2001) in the context of sandwich (co)variance estimators, then discussed by Lu and collaborators (2007), an adjusted denominator can be computed as a quantity derived from the hat matrix. This method is expected to perform better in the presence of missing values and small data sets. This alternative adjustment is chosen by default by setting vc.adj=TRUE
in the control
argument.
The variance component estimator is not bounded to provide a positive semi-definite between-study (co)variance matrix, as shown in the simulation study by Liu and colleagues (2009). Here positive semi-definiteness is forced by setting the negative eigenvalues of the estimated matrix to zero at each iteration. Little is known about the impact of such constraint.
This function returns an intermediate list object, whose components are then processed by mvmeta.fit
. Other components are added later through mvmeta
to finalize an object of class "mvmeta"
.
As stated earlier, this function is called internally by mvmeta.fit
, and is not meant to be used directly. In particular, its code does not contain any check on the arguments provided, which are expected in specific formats. The function is however exported in the namespace and documented for completeness.
The arguments above are prepared by mvmeta.fit
from its arguments X
, y
and S
. The list structure, although requiring more elaborate coding, is computationally more efficient, as it avoids the specification of sparse block-diagonal matrices, especially for meta-analysis involving a large number of studies.
Some parameters of the fitting procedures are determined by the control
argument, with default set by mvmeta.control
. No missing values are accepted in the fitting functions. See details on missing values
.
Antonio Gasparrini, antonio.gasparrini@lshtm.ac.uk
Sera F, Armstrong B, Blangiardo M, Gasparrini A (2019). An extended mixed-effects framework for meta-analysis.Statistics in Medicine. 2019;38(29):5429-5444. [Freely available here].
Gasparrini A, Armstrong B, Kenward MG (2012). Multivariate meta-analysis for non-linear and other multi-parameter associations. Statistics in Medicine. 31(29):3821–3839. [Freely available here].
Ritz J, Demidenko E, Spiegelman G (2008). Multivariate meta-analysis for data consortia, individual patient meta-analysis, and pooling projects. Journal of Statistical Planning and Inference. 139(7):1919–1933.
Berkey, CS, Hoaglin DC, et al. (1998). Meta-analysis of multiple outcomes by regression with random effects. Statistics in Medicine. 17(22):2537–2550.
Liu Q, Cook NR, Bergstrom A, Hsieh CC (2009). A two-stage hierarchical regression model for meta-analysis of epidemiologic nonlinear dose-response data. Computational Statistics and Data Analysis. 53(12):4157–4167
Sidik K, Jonkman JN (2007). A comparison of heterogeneity variance estimators in combining results of studies. Statistics in Medicine. 26(9):1964–81.
See mvmeta
for the general usage of the functions. See mvmeta.control
to determine specific parameters of the fitting procedures. Use the triple colon operator (':::
') to access the code of the internal functions, such as sumlist
. See mvmeta-package
for an overview of the package and modelling framework.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # VC ESTIMATOR: UNIVARIATE MODEL
model <- mvmeta(PD~pubyear,S=berkey98[,5],data=berkey98,method="vc")
summary(model)
# VC ESTIMATOR: MULTIVARIATE MODEL
model <- mvmeta(cbind(PD,AL)~pubyear,S=berkey98[5:7],data=berkey98,method="vc")
summary(model)
# VC ESTIMATOR: NON-ITERATIVE VERSION
model <- mvmeta(cbind(PD,AL)~pubyear,S=berkey98[5:7],data=berkey98,method="vc",
control=list(maxiter=1))
summary(model)
# VARIANCE COMPONENTS ESTIMATOR: REPLICATE THE RESULTS IN BERKEY ET AL. (1998)
model <- mvmeta(cbind(PD,AL)~I(pubyear-1983),S=berkey98[5:7],
data=berkey98,method="vc",control=list(vc.adj=FALSE))
summary(model)
|
This is mvmeta 0.4.11. For an overview type: help('mvmeta-package').
Call: mvmeta(formula = PD ~ pubyear, S = berkey98[, 5], data = berkey98,
method = "vc")
Univariate random-effects meta-regression
Dimension: 1
Estimation method: Variance components
Fixed-effects coefficients
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
(Intercept) -9.0104 43.6785 -0.2063 0.8366 -94.6186 76.5979
pubyear 0.0047 0.0220 0.2147 0.8300 -0.0384 0.0479
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Between-study random-effects (co)variance components
Std. Dev
0.1443
Univariate Cochran Q-test for residual heterogeneity:
Q = 11.8031 (df = 3), p-value = 0.0081
I-square statistic = 74.6%
5 studies, 5 observations, 2 fixed and 1 random-effects parameters
Call: mvmeta(formula = cbind(PD, AL) ~ pubyear, S = berkey98[5:7],
data = berkey98, method = "vc")
Multivariate random-effects meta-regression
Dimension: 2
Estimation method: Variance components
Fixed-effects coefficients
PD :
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
(Intercept) -9.9362 43.8402 -0.2266 0.8207 -95.8614 75.9890
pubyear 0.0052 0.0221 0.2349 0.8143 -0.0381 0.0485
AL :
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
(Intercept) 23.3783 53.0925 0.4403 0.6597 -80.6811 127.4376
pubyear -0.0120 0.0268 -0.4468 0.6550 -0.0644 0.0405
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Between-study random-effects (co)variance components
Structure: General positive-definite
Std. Dev Corr
PD 0.1450 PD
AL 0.1771 0.4756
Multivariate Cochran Q-test for residual heterogeneity:
Q = 125.7557 (df = 6), p-value = 0.0000
I-square statistic = 95.2%
5 studies, 10 observations, 4 fixed and 1 random-effects parameters
Warning message:
In mvmeta.fit(X, y, S, offset, method, bscov, control) :
convergence not reached after maximum number of iterations
Call: mvmeta(formula = cbind(PD, AL) ~ pubyear, S = berkey98[5:7],
data = berkey98, method = "vc", control = list(maxiter = 1))
Multivariate random-effects meta-regression
Dimension: 2
Estimation method: Variance components
Fixed-effects coefficients
PD :
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
(Intercept) 10.1212 16.2225 0.6239 0.5327 -21.6744 41.9168
pubyear -0.0050 0.0082 -0.6050 0.5452 -0.0210 0.0111
AL :
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
(Intercept) 19.7802 12.8382 1.5407 0.1234 -5.3823 44.9427
pubyear -0.0102 0.0065 -1.5714 0.1161 -0.0229 0.0025
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Between-study random-effects (co)variance components
Structure: General positive-definite
Std. Dev Corr
PD 0.1608 PD
AL 0.2420 0.4764
Multivariate Cochran Q-test for residual heterogeneity:
Q = 125.7557 (df = 6), p-value = 0.0000
I-square statistic = 95.2%
5 studies, 10 observations, 4 fixed and 1 random-effects parameters
Call: mvmeta(formula = cbind(PD, AL) ~ I(pubyear - 1983), S = berkey98[5:7],
data = berkey98, method = "vc", control = list(vc.adj = FALSE))
Multivariate random-effects meta-regression
Dimension: 2
Estimation method: Variance components
Fixed-effects coefficients
PD :
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
(Intercept) 0.3593 0.0751 4.7818 0.0000 0.2120 0.5066
I(pubyear - 1983) 0.0054 0.0224 0.2396 0.8107 -0.0385 0.0492
(Intercept) ***
I(pubyear - 1983)
AL :
Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub
(Intercept) -0.3360 0.0832 -4.0397 0.0001 -0.4990 -0.1730
I(pubyear - 1983) -0.0114 0.0256 -0.4455 0.6560 -0.0617 0.0388
(Intercept) ***
I(pubyear - 1983)
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Between-study random-effects (co)variance components
Structure: General positive-definite
Std. Dev Corr
PD 0.1470 PD
AL 0.1685 0.525
Multivariate Cochran Q-test for residual heterogeneity:
Q = 125.7557 (df = 6), p-value = 0.0000
I-square statistic = 95.2%
5 studies, 10 observations, 4 fixed and 1 random-effects parameters
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.