```
-------------------------------------------------------------------------------
help for mvmeta                                                       Ian White
-------------------------------------------------------------------------------

Multivariate random-effects meta-analysis

Description

mvmeta performs multivariate random-effects meta-analysis on a data-set
of point estimates, variances and (optionally) covariances.

Syntax

mvmeta b V [if] [in] [, reml|ml|mm|fixed vars(varlist)
corr(expression) start(expression) showstart showchol
keepmat(bname Vname) nouncertainv eform(name) bscorr bscov
missest(#) missvar(#) maximize_options ]

where the data are arranged with one line per study: the point estimates
are held in variables b*, the variance of bx is held in variable Vxx, and
the covariance of bx and by is held in variable Vxy.  If you have
individual participant data, you can use mvmeta_make to produce a datset
of the required format.

Options

reml specifies that restricted maximum likelihood is to be used for
estimation (the default).

ml specifies that maximum likelihood is to be used for estimation.  This
is likely to underestimate the variance, so restricted maximum
likelihood is usually preferred.

mm specifies that the multivariate method of moments procedure (Jackson
et al, Biostatistics, submitted) is to be used for estimation. This
is a multivariate generalisation of the procedure of DerSimonian and
Laird (1986) and is faster than the likelihood-based methods.

fixed specifies that the fixed-effect model is to be used for estimation.

vars(varlist) specifies which variables are to be used. By default, all
variables named b* are used, but any variable named b is ignored.
Note that vars(b1 b2 b3) and vars(b3 b2 b1) specify the same model
but a different parameterisation.

corr(expression) specifies the value of all within-study correlations.
This means that covariance variables Vxy need not exist. (For any
that do exist, corr() is ignored.)

start(matrix|matrix expression|mm) specifies a starting value for the
between-studies variance, except that start(mm) specifies that the
starting value is computed by the mm method.  If start() is not
specified, the starting value is the weighted between-study variance
of the estimates, not allowing for the within-study variances.  This
ensures it is greater than zero: the iterative procedure never moves
away from zero. start(0) uses a starting value of 0.001 times the
default.  The starting value for the between-studies mean is the
fixed effects estimate.

showstart reports the starting values used.

showchol reports the estimated values of the basic parameters underlying
the between-studies variance matrix (the Cholesky decomposition).

keepmat(bname Vname) saves the study-specific estimates and variance
matrices for study i as bnamei and Vnamei.

nouncertainv also computes alternative (smaller) standard errors that
ignore the uncertainty in the estimated variance-covariance matrix,
and therefore agree with results produced by procedures such as SAS
PROC MIXED (without the ddfm=kr option) and metareg. (Note however
that confidence intervals do not agree because mvmeta uses a Normal
approximation whereas the other procedures approximate the degrees of
freedom of a t distribution.)

eform(name) exponentiates the reported mean parameters and reports them
as name.

bscorr reports the between-studies variance-covariance matrix as the
standard deviations and correlation matrix.  This is the default if
bscov is not specified.

bscov reports the between-studies variance-covariance matrix without
transformation.

missest(#) specifies values to be used for missing point estimates; the
default is 0.  This is of minor importance because the variance of
these values is specified to be very large.

missvar(#) is used in specifying the very large variance of missing point
estimates.  For a specific variable, the variance used is the largest
observed variance multiplied by the specified value. The default is
1E4. This value is unlikely to need to be changed.

maximize_options are any options allowed by ml maximize: see ml.

Studies in which some quantities are unestimated

mvmeta handles studies in which some quantities are missing by replacing the
point estimate by an arbitrary value and the estimated variance by a large
value.  mvmeta ignores variances and covariances specified for missing point
estimates.  Conversely, it expects non-missing variances and covariances to
accompany non-missing point estimates.  mvmeta_make automatically fills in
missing values using the augmentation algorithm described above.  In either
case, the particular choice of large value should have minimal effect on the
parameter estimates, but will affect the value of the maximised log-likelihod.

Examples

First stage, starting with individual participant data (fg has levels 1-5):

. xi: mvmeta_make stcox ages i.fg, strata(sex tr) nohr saving(FSCstage1)
replace by(cohort) usevars(i.fg) names(b V) esave(N)

Second stage:

. use FSCstage1, clear

. mvmeta b V

Details

The reml and ml methods use Newton-Raphson maximisation of the likelihood or
restricted likelihood using ml. The between-studies variance matrix is
parameterised via its Cholesky decomposition in order to ensure that it is
non-negative definite.