add_predicted_sims.glm.Rd
Generate simulations
from a glm model incorporating either error in
fitted error. Simulations explore the possible space
of what a model might predict rather than an interval for use
in comparison to Bayesian posteriors for non-Bayesian models. The
output format and functions draw inspiration from the
tidybayes::tidybayes()
library and
merTools::predictInterval()
# S3 method for glm
add_predicted_sims(
newdata,
mod,
n_sims = 1000,
seed = NULL,
weights = 1,
type = c("predict", "fit", "linpred"),
...
)
a data.frame of new data to predict
An lm model to simulate from.
number of simulation samples to construct
numeric, optional argument to set seed for simulations
numeric, optional argument for binomial models that need a number of trials
Character defining if we are looking at fit or predict intervals.
Unused dots for compatibility with generic functions.
A tibble::tibble with information about simulate values.
Other glm:
add_fitted_sims.glm()
# Gamma
clotting <- data.frame(
u = c(5,10,15,20,30,40,60,NA,100),
lot1 = c(118,58,42,35,27,25,21,19,18),
lot2 = c(69,35,26,21,18,16,13,12,12))
mod <- glm(lot1 ~ log(u) + lot2, data = clotting, family = Gamma)
sims_pred <- add_predicted_sims(clotting, mod)
#> Warning: NAs produced
head(sims_pred)
#> # A tibble: 6 × 5
#> u lot1 lot2 .sim lot1_predict
#> <dbl> <dbl> <dbl> <chr> <dbl>
#> 1 5 118 69 Y 114.
#> 2 10 58 35 Y 57.7
#> 3 15 42 26 Y 41.7
#> 4 20 35 21 Y 35.3
#> 5 30 27 18 Y 28.8
#> 6 40 25 16 Y 25.3
# Binomial
# example from Venables and Ripley (2002, pp. 190-2.)
ldose <- rep(0:5, 2)
numdead <- c(1, 4, 9, 13, 18, 20, 0, 2, 6, 10, 12, 16)
sex <- factor(rep(c("M", "F"), c(6, 6)))
SF <- cbind(numdead, numalive = 20-numdead)
budworm.lg <- glm(SF ~ sex*ldose, family = binomial)
dat <- data.frame(sex = factor(c("M", "F", "M", "F")),
ldose = c(0,0,5,5))
sims_pred_b <- add_predicted_sims(dat, budworm.lg, weights = 20)
head(sims_pred_b)
#> # A tibble: 6 × 4
#> sex ldose .sim SF_predict
#> <fct> <dbl> <chr> <int>
#> 1 M 0 Y 2
#> 2 F 0 Y 2
#> 3 M 5 Y 17
#> 4 F 5 Y 16
#> 5 M 0 Y 0
#> 6 F 0 Y 0