ml.newton {mixmeta} | R Documentation |
Quasi-Newton Iterative Algorithms for mixmeta Models
Description
These functions implement quasi-Newton iterative algorithms for (restricted) maximum likelihood estimators for random-effects meta-analytical models. They are meant to be used internally and not directly run by the users.
Usage
ml.newton(Psi, Xlist, Zlist, ylist, Slist, nalist, rep, k, q, nall, const,
bscov, fix, control)
reml.newton(Psi, Xlist, Zlist, ylist, Slist, nalist, rep, k, q, nall, const,
bscov, fix, control)
Arguments
Assuming a meta-analysis or meta-regression based on n
units aggregated within m
(outer-level) groups, k
outcomes, p
fixed-effects predictors, and q
random-effects predictors:
Psi |
a matrix (or a list of matrices for multilevel models) representing the initial estimate of the random-effects (co)variance matrix. |
Xlist |
a |
Zlist |
a |
ylist |
a |
Slist |
a |
nalist |
a |
rep |
matrix with |
k , q , nall |
number of outcomes, number of random-effects predictors (including the intercept), total number of observations (excluding missing), respectively. While usually all are scalars, in the case of multilevel models |
const |
value of the constant to be included in the (restricted) likelihood, therefore not computed in the iterative algorithms. |
bscov |
a character vector defining the structure of the (co)variance matrix for each level or random effects. See |
fix |
a matrix (or optionally a list of matrices for multilevel models) defining the fixed components of the random-effects part of the model. See |
control |
list of parameters for controlling the fitting process, usually internally set to default values by |
Details
These functions are called internally by the fitting functions mixmeta.ml
and mixmeta.reml
to perform quasi-Newton iterative optimization algorithms for estimating random-effects meta-analytical models.
Starting values for the iterations are defined by Psi
, representing a random-effects (co)variance matrix (or a list of matrices for multilevel models). In the default hybrid procedure (see mixmeta.ml
), these are provided using few iterations of a (R)IGLS
algorithm. If a full quasi-Newton method is used, the starting values are instead defined by default as a matrix (or matrices) with a diagonal form and 0.001 variances, or otherwise selected by the user in the control
argument of mixmeta
(see mixmeta.control
).
The functions first re-define Psi
as a set of random-effects parameters, depending on the chosen structure(s)
, using parameterizations that ensure the positive-definiteness of the estimated matrix (or matrices). Then, the function optim
with method="BFGS"
is called internally to perform the quasi-Newton optimization, using specific likelihood functions
that compute the value of the (restricted) likelihood and (optionally) the vector of its first partial derivatives. The latter are used only in the case of basic random-effects structures, or otherwise the derivatives are computed numerically.
Some parameters of the optimization procedures are determined through mixmeta.control
. Specifically, the user can obtain the Hessian matrix of the estimated parameters (appropriately transformed, see mixmetaCovStruct
) in the optimization function by setting hessian=TRUE
, and specific settings of the optimization process can be defined by the control list argument optim
. These values are passed to the optimization function optim
.
Value
These functions return an intermediate list object, with components corresponding to the estimated random-effects (co)variance matrix (or list of matrices), the maximum (restricted) log-likelihood value, an indicator of convergence, the number of iterations, and optionally the Hessian matrix. These are then re-processed, with other components added later within other functions to finalize an object of class "mixmeta"
. See mixmetaObject
.
Note
As stated earlier, these functions are called internally by mixmeta.ml
and mixmeta.reml
, and are not meant to be used directly. In particular, their code does not contain any check on the arguments provided, which are expected in specific formats. They are however exported in the namespace and documented for completeness.
Author(s)
Antonio Gasparrini <antonio.gasparrini@lshtm.ac.uk> and Francesco Sera <francesco.sera@lshtm.ac.uk>
References
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].
Lindstrom MJ and Bates DM (1988). Newton-Raphson and EM algorithms for linear mixed-effects models for repeated-measures data. Journal of the American Statistical Association. 83(404):1014–1022.
Harville DA (1977) Maximum likelihood approaches to variance component estimation and to related problems. Journal of the American Statistical Association. 72(358):320–338.
Pinheiro JC and Bates DM (2000). Mixed-Effects Models in S and S-PLUS. New York, Springer Verlag.
See Also
See mixmeta.fit
and mixmeta.ml
for additional info on the fitting procedures. See mixmeta.control
to determine specific parameters of the fitting procedures. See mixmetaCovStruct
for (co)variance structures. See chol
and qr
for info on the Cholesky and QR decomposition.
See mixmeta-package
for an overview of the package and modelling framework.