lmer_pi_unstruc function

Prediction intervals for future observations based on linear random effects models

Prediction intervals for future observations based on linear random effects models

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.

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 data.frame with the same column names as the historical data on which the model depends
  • m: number of future observations
  • alternative: either "both", "upper" or "lower". alternative specifies if a prediction interval or an upper or a lower prediction limit should be computed
  • alpha: defines the level of confidence (1-alpha)
  • 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 TRUE: Plot for visualization of the bisection process
  • n_bisec: maximal number of bisection steps
  • algorithm: either "MS22" or "MS22mod" (see details)

Returns

lmer_pi_futvec() returns an object of class c("predint", "normalPI")

with prediction intervals or limits in the first entry ($prediction).

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]=μ^±qcalibvar^(μ^)+c=1C+1σ^c2 [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 σ^c2\hat{\sigma}^2_c as the c=1,2,...,Cc=1, 2, ..., C variance components and σ^C+12\hat{\sigma}^2_{C+1}

as the residual variance obtained from the random effects model fitted with lme4::lmer() and qcalibq^{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]=[μ^qlcalibvar^(μ^)+c=1C+1σ^c2,μ^+qucalibvar^(μ^)+c=1C+1σ^c2]. [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.

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.

References

Menssen and Schaarschmidt (2022): Prediction intervals for all of M future observations based on linear random effects models. Statistica Neerlandica, tools:::Rd_expr_doi("10.1111/stan.12260")

  • Maintainer: Max Menssen
  • License: GPL (>= 2)
  • Last published: 2024-03-04