lmer_pi_unstruc {predint} | R Documentation |
Prediction intervals for future observations based on linear random effects models
Description
lmer_pi_unstruc()
calculates a bootstrap calibrated prediction interval for one or more
future observation(s) based on linear random effects models as described in section
3.2.4. of Menssen and Schaarschmidt (2022).
Please note, that the bootstrap calibration used here does not consider the sampling
structure of the future data, since the calibration values are drawn randomly from
bootstrap data sets that have the same structure as the historical data.
Usage
lmer_pi_unstruc(
model,
newdat = NULL,
m = NULL,
alternative = "both",
alpha = 0.05,
nboot = 10000,
delta_min = 0.01,
delta_max = 10,
tolerance = 0.001,
traceplot = TRUE,
n_bisec = 30,
algorithm = "MS22"
)
Arguments
model |
a random effects model of class lmerMod |
newdat |
a |
m |
number of future observations |
alternative |
either "both", "upper" or "lower". |
alpha |
defines the level of confidence (1- |
nboot |
number of bootstraps |
delta_min |
lower start value for bisection |
delta_max |
upper start value for bisection |
tolerance |
tolerance for the coverage probability in the bisection |
traceplot |
if |
n_bisec |
maximal number of bisection steps |
algorithm |
either "MS22" or "MS22mod" (see details) |
Details
This function returns bootstrap-calibrated prediction intervals as well as lower or upper prediction limits.
If algorithm
is set to "MS22", both limits of the prediction interval
are calibrated simultaneously using the algorithm described in Menssen and
Schaarschmidt (2022), section 3.2.4. The calibrated prediction interval is given
as
[l,u] = \hat{\mu} \pm q^{calib} \sqrt{\widehat{var}(\hat{\mu}) + \sum_{c=1}^{C+1}
\hat{\sigma}^2_c}
with \hat{\mu}
as the expected future observation (historical mean) and
\hat{\sigma}^2_c
as the c=1, 2, ..., C
variance components and \hat{\sigma}^2_{C+1}
as the residual variance obtained from the random
effects model fitted with lme4::lmer()
and q^{calib}
as the as the bootstrap-calibrated
coefficient used for interval calculation.
If algorithm
is set to "MS22mod", both limits of the prediction interval
are calibrated independently from each other. The resulting prediction interval
is given by
[l,u] = \Big[\hat{\mu} - q^{calib}_l \sqrt{\widehat{var}(\hat{\mu}) + \sum_{c=1}^{C+1} \hat{\sigma}^2_c}, \quad
\hat{\mu} + q^{calib}_u \sqrt{\widehat{var}(\hat{\mu}) + \sum_{c=1}^{C+1} \hat{\sigma}^2_c} \Big].
Please note, that this modification does not affect the calibration procedure, if only
prediction limits are of interest.
This function is an direct implementation of the PI given in Menssen and Schaarschmidt 2022 section 3.2.4.
Value
lmer_pi_futvec()
returns an object of class c("predint", "normalPI")
with prediction intervals or limits in the first entry ($prediction
).
References
Menssen and Schaarschmidt (2022): Prediction intervals for all of M future observations based on linear random effects models. Statistica Neerlandica, doi:10.1111/stan.12260
Examples
# loading lme4
library(lme4)
# Fitting a random effects model based on c2_dat1
fit <- lmer(y_ijk~(1|a)+(1|b)+(1|a:b), c2_dat1)
summary(fit)
# Prediction interval using c2_dat2 as future data
pred_int <- lmer_pi_unstruc(model=fit, newdat=c2_dat2, alternative="both", nboot=100)
summary(pred_int)
# Upper prediction limit for m=3 future observations
pred_u <- lmer_pi_unstruc(model=fit, m=3, alternative="upper", nboot=100)
summary(pred_u)
# Please note that nboot was set to 100 in order to decrease computing time
# of the example. For a valid analysis set nboot=10000.