17.6 Posterior prediction
We will use running_model_1
.
We will try to predict for runner1, runner10 and Miles (one of the authors) when they will be 61 years old.
|>
running filter(runner %in% c("1", "10")) |>
ggplot(data = _ , aes(x = age, y = net)) +
geom_point() +
facet_grid(~ runner) +
lims(x = c(54, 61))
## Warning: Removed 1 rows containing missing values (`geom_point()`).
We will have two sources of uncertainty in runner 1 and 10 (within-group sampling variability \(\sigma_y\), posterior variability, \(\beta_{0j}\), \(\beta_1\) and \(\sigma_y\)) and for Miles we need to add the between-group sampling variability (\(\sigma_0\)).
set.seed(84735)
<- posterior_predict(
predict_next_race
running_model_1, newdata = data.frame(runner = c("1", "Miles", "10"),
age = c(61, 61, 61)))
apply(predict_next_race, 2, median)
## 1 2 3
## 84.63351 98.34833 123.02690
mcmc_areas(predict_next_race, prob = 0.8) +
::scale_y_discrete(labels = c("runner 1", "Miles", "runner 10")) ggplot2
## Scale for y is already present.
## Adding another scale for y, which will replace the existing scale.