19.12 Group specific parameters
- Climb model 2:
\[ log(\frac{\pi_{ijk}}{1-\pi_{ijk}})=(\beta_0 + b_{0j} + p_{0k}) + \beta_1 X_{ijk1} + \beta_2 X_{ijk2} \]
- For each of the 200 sampled expeditions and 46 sampled peaks, we have associated posterior distributions for the \(b_{0j}\) and \(p_{0k}\)
<- tidy(climb_model_2, effects = "ran_vals") %>%
group_levels_2 select(level, group, estimate)
- Example tweaks for peaks:
%>%
group_levels_2 filter(group == "peak_name") %>%
head(2)
# A tibble: 2 × 3
level group estimate
<chr> <chr> <dbl>
1 Ama_Dablam peak_name 2.91
2 Annapurna_I peak_name -2.05
- Example tweaks for expedition:
%>%
group_levels_2 filter(group == "expedition_id") %>%
head(2)
# A tibble: 2 × 3
level group estimate
<chr> <chr> <dbl>
1 AMAD03107 expedition_id -0.00442
2 AMAD03327 expedition_id 3.36
- For example, to predict success probability for a climber new expedition to an existing peak (say Ama_Dablam, an ‘easy one’), we would would use \(b=0\) and the appropriate \(p_{0j}=2.91\). If the climber were 30 years old but did not plan to use oxygen:
= -1.53 + 2.91 - .0474*30
logit_p
invlogit(logit_p)
## [1] 0.4895015
49% chance of success. Could also use posterior_prediction
<- data.frame(
new_expedition age = c(30), oxygen_used = c(FALSE),
expedition_id = c("new"), peak_name = c("Ama_Dablam") )
<- posterior_predict(climb_model_2, newdata = new_expedition)
binary_prediction
mean(binary_prediction)
# [1] 0.49425
If they did use oxygen:
= -1.53 + 2.91 - .0474*30 + 6.2
logit_p
invlogit(logit_p)
## [1] 0.997888
With prediction:
<- data.frame(
new_expedition age = c(30), oxygen_used = c(TRUE),
expedition_id = c("new"), peak_name = c("Ama_Dablam") )
<- posterior_predict(climb_model_2, newdata = new_expedition)
binary_prediction
mean(binary_prediction)
# [1] 0.95185
Why different? invlogit
is nonlinear (but monotonic)