-
-
Notifications
You must be signed in to change notification settings - Fork 37
Closed
Description
The newest loo package seems to be less robust than previous versions when calculating loo_R2. From the NES example,
data("nes", package = "rosdata")
ok <- nes$year==1992 & !is.na(nes$rvote) & !is.na(nes$dvote) & (nes$rvote==1 | nes$dvote==1)
library(rstanarm)
fit_1 <- stan_glm(rvote ~ income, family=binomial(link="logit"), data=nes92, refresh = 0)
loo_R2(fit_1)
This fails with the warning message "Input contains infinite or NA values, Pareto smoothing not performed." and error message "Error: $ operator is invalid for atomic vectors". Neither of these messages is very helpful. The warning results from posterior:::should_return_NA but it is due to the input being within tol of a constant rather than infinite or NA values. The error comes from loo:::.E_loo_khat_i due to the fact that posterior::pareto_khat returns the scalar NA rather than a list in this situation, so trying to select the $khat element fails.
This all worked with loo 2.6.0.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels