mvma.bayesian {altmeta} | R Documentation |
Bayesian Random-Effects Multivariate Meta-Analysis
Description
Performs a Bayesian random-effects model for multivariate meta-analysis when the within-study correlations are known.
Usage
mvma.bayesian(ys, covs, data, n.adapt = 1000, n.chains = 3,
n.burnin = 10000, n.iter = 10000, n.thin = 1,
data.name = NULL, traceplot = FALSE, coda = FALSE)
Arguments
ys |
an n x p numeric matrix containing the observed effect sizes. The n rows represent studies, and the p columns represent the multivariate endpoints. |
covs |
a numeric list with length n. Each element is the p x p within-study covariance matrix. |
data |
an optional data frame containing the multivariate meta-analysis dataset. If |
n.adapt |
the number of iterations for adaptation in the Markov chain Monte Carlo (MCMC) algorithm. The default is 1,000. This argument and the following |
n.chains |
the number of MCMC chains. The default is 3. |
n.burnin |
the number of iterations for burn-in period. The default is 10,000. |
n.iter |
the total number of iterations in each MCMC chain after the burn-in period. The default is 10,000. |
n.thin |
a positive integer specifying thinning rate. The default is 1. |
data.name |
a character string specifying the data name. This is used in the names of the generated files that contain results. The default is |
traceplot |
a logical value indicating whether to save trace plots for the overall effect sizes and between-study standard deviations. The default is |
coda |
a logical value indicating whether to output MCMC posterior samples. The default is |
Details
Suppose n
studies are collected in a multivariate meta-analysis on a total of p
endpoints. Denote the p
-dimensional vector of effect sizes as \boldsymbol{y}_i
, and the within-study covariance matrix \mathbf{S}_i
is assumed to be known. Then, the random-effects model is as follows:
\boldsymbol{y}_i \sim N (\boldsymbol{\mu}_i, \mathbf{S}_i);
\boldsymbol{\mu}_i \sim N (\boldsymbol{\mu}, \mathbf{T}).
Here, \boldsymbol{\mu}_i
represents the true underlying effect sizes in study i
, \boldsymbol{\mu}
represents the overall effect sizes across studies, and \mathbf{T}
is the between-study covariance matrix due to heterogeneity.
The vague priors N (0, 10^3)
are specified for the fixed effects \boldsymbol{\mu}
. Also, this function uses the separation strategy to specify vague priors for the variance and correlation components in \mathbf{T}
(Pinheiro and Bates, 1996); this technique is considered less sensitive to hyperparameters compared to specifying the inverse-Wishart prior (Lu and Ades, 2009; Wei and Higgins, 2013). Specifically, write the between-study covariance matrix as \mathbf{T} = \mathbf{D}^{1/2} \mathbf{R} \mathbf{D}^{1/2}
, where the diagonal matrix \mathbf{D} = diag(\mathbf{T}) = diag(\tau_1^2, \ldots, \tau_p^2)
contains the between-study variances, and \mathbf{R}
is the correlation matrix. Uniform priors U (0, 10)
are specified for \tau_j
's (j = 1, \ldots, p
). Further, the correlation matrix can be written as \mathbf{R} = \mathbf{L} \mathbf{L}^\prime
, where \mathbf{L} = (L_{ij})
is a lower triangular matrix with nonnegative diagonal elements. Also, L_{11} = 1
and for i = 2, \ldots, p
, L_{ij} = \cos \theta_{i2}
if j = 1
; L_{ij} = (\prod_{k = 2}^{j} \sin \theta_{ik}) \cos \theta_{i, j + 1}
if j = 2, \ldots, i - 1
; and L_{ij} = \prod_{k = 2}^{i} \sin \theta_{ik}
if j = i
. Here, \theta_{ij}
's are angle parameters for 2 \leq j \leq i \leq p
, and \theta_{ij} \in (0, \pi)
. Uniform priors are specified for the angle parameters: \theta_{ij} \sim U (0, \pi)
.
Value
This functions produces posterior estimates and Gelman and Rubin's potential scale reduction factor, and it generates several files that contain trace plots (if traceplot
= TRUE
) and MCMC posterior samples (if coda
= TRUE
) in users' working directory. In these results, mu
represents the overall effect sizes, tau
represents the between-study variances, R
contains the elements of the correlation matrix, and theta
represents the angle parameters (see "Details").
Note
This function only implements the MCMC algorithm for the random-effects multivariate model, but not the fixed-effects model. Generally, the fixed-effects model can be easily implemented using the function mvma
. However, when using mvma
to fit the random-effects model, a large number of parameters need to be estimated, and the algorithm for maximizing (restricted) likelihood may not converge well. The Bayesian method in this function provides an alternative.
If a warning "adaptation incomplete" appears, users may increase n.adapt
.
References
Gelman A, Rubin DB (1992). "Inference from iterative simulation using multiple sequences." Statistical Science, 7(4), 457–472. <doi: 10.1214/ss/1177011136>
Jackson D, Riley R, White IR (2011). "Multivariate meta-analysis: potential and promise." Statistics in Medicine, 30(20), 2481–2498. <doi: 10.1002/sim.4172>
Lu G, Ades AE (2009). "Modeling between-trial variance structure in mixed treatment comparisons." Biostatistics, 10(4), 792–805. <doi: 10.1093/biostatistics/kxp032>
Pinheiro JC, Bates DM (1996). "Unconstrained parametrizations for variance-covariance matrices." Statistics and Computing, 6(3), 289–296. <doi: 10.1007/BF00140873>
Wei Y, Higgins JPT (2013). "Bayesian multivariate meta-analysis with multiple outcomes." Statistics in Medicine, 32(17), 2911–2934. <doi: 10.1002/sim.5745>
See Also
mvma
, mvma.hybrid
, mvma.hybrid.bayesian
Examples
data("dat.fib")
set.seed(12345)
## increase n.burnin and n.iter for better convergence of MCMC
out <- mvma.bayesian(ys = y, covs = S, data = dat.fib,
n.adapt = 1000, n.chains = 3, n.burnin = 100, n.iter = 100,
n.thin = 1, data.name = "Fibrinogen")
out