This method function computes (empirical) best linear unbiased predictions from fitted random-effects meta-analytical models represented in objects of class "mixmeta"
. Quantities can represent prediction of outcomes given both fixed and random effects, or just random-effects residuals from the fixed-effects estimates. Predictions are optionally accompanied by standard errors, prediction intervals or the entire (co)variance matrix of the predicted outcomes.
# S3 method for mixmeta
blup(object, se=FALSE, pi=FALSE, vcov=FALSE, pi.level=0.95, type="outcome",
level, format, aggregate="stat", ...)
(Empirical) best linear unbiased predictions of outcomes or random-effects residuals. The results may be aggregated in matrices (the default), or returned as lists, depending on the argument format
. For multivariate models, the aggregation is ruled by the argument aggregate
, and the results may be grouped by statistic or by outcome. If vcov=TRUE
, lists are always returned.
an object of class "mixmeta"
.
logical switch indicating if standard errors must be included.
logical switch indicating if prediction intervals must be included.
logical switch indicating if the (co)variance matrix must be included.
a numerical value between 0 and 1, specifying the confidence level for the computation of prediction intervals.
the type of prediction. This can be either outcome
(default) or residual
. See Details.
level of random-effects grouping for which predictions are to be computed. Default to the highest (inner) level, with 0 corresponding to fixed-effects predictions obtained through predict
.
the format for the returned results. See Value.
when format="matrix"
and se
or ci
are required, the results may be aggregated by statistic or by outcome. See Value.
further arguments passed to or from other methods.
Antonio Gasparrini <antonio.gasparrini@lshtm.ac.uk> and Francesco Sera <francesco.sera@lshtm.ac.uk>
The method function blup
produces (empirical) best linear unbiased predictions from mixmeta
objects. These can represent outcomes, given by the sum of fixed and random parts, or just random-effects residuals representing deviations from the fixed-effects estimated outcomes. In non-standard models with multiple hierarchies of random effects, the argument level
can be used to determine the level of grouping for which predictions are to be computed.
These predictions are a shrunk version of unit-specific realizations, where unit-specific estimates borrow strength from the assumption of an underlying (potentially multivariate) distribution of outcomes or residuals in a (usually hypothetical) population. The amount of shrinkage depends from the relative size of the within and between-unit covariance matrices reported as components S
and Psi
in mixmeta
objects (see mixmetaObject
).
Fixed-effects models do not assume random effects, and the results of blup
for these models are identical to predict
(for type="oucome"
) or just 0's (for type="residuals"
).
How to handle predictions for units removed from estimation due to invalid missing pattern is determined by the na.action
argument used in mixmeta
to produce object
. If na.action=na.omit
, units excluded from estimation will not appear, whereas if na.action=na.exclude
they will appear, with values set to NA
for all the outcomes. This step is performed by napredict
. See Note below.
In the presence of missing values in the outcomes y
of the fitted model, correspondent values of point estimates and covariance terms are set to 0, while the variance terms are set to 1e+10
. In this case, in practice, the unit-specific estimates do not provide any information (their weight is virtually 0), and the prediction tends to the value returned by predict
with interval="prediction"
, when applied to a new but identical set of predictors. See also Note below.
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].
Verbeke G, Molenberghs G. Linear Mixed Models for Longitudinal Data. Springer; 1997.
See predict
for standard predictions. See mixmeta-package
for an overview of the package and modelling framework.
# RUN THE MODEL
model <- mixmeta(cbind(PD,AL) ~ 1, S=berkey98[5:7], data=berkey98)
# ONLY BLUP
blup(model)
# BLUP AND SE
blup(model, se=TRUE)
# SAME AS ABOVE, AGGREGATED BY OUTCOME, WITH PREDICTION INTERVALS
blup(model, se=TRUE, pi=TRUE, aggregate="outcome")
# WITH VCOV, FORCED TO A LIST
blup(model, se=TRUE, pi=TRUE, vcov=TRUE, aggregate="outcome")
# PREDICTING ONLY THE RANDOM-EFFECT RESIDUALS
blup(model, type="residual")
Run the code above in your browser using DataLab