I’m using brms to fit five linear regression models. While trying different ways to evaluate my models, it seems like LOO comparisons and model stacking are providing conflicting information and I’d like to get some insight into why (and confirm that my interpretations are correct). Here’s what I did after fitting my models in brms (m1, m2, m3, m4, m5):
> # Add ICs
> loo1 <- add_ic(m1,ic=c("loo","R2"))
> loo2 <- add_ic(m2,ic=c("loo","R2"))
> loo3 <- add_ic(m3,ic=c("loo","R2"))
> loo4 <- add_ic(m4,ic=c("loo","R2"))
> loo5 <- add_ic(m5,ic=c("loo","R2"))
Next, I used model stacking to compare the models:
loo_list <- list(loo1$loo, loo2$loo,loo3$loo,loo4$loo,loo5$loo)
loo_model_weights(loo_list,method = c("stacking"))
Method: stacking
------
weight
model1 0.027
model2 0.000
model3 0.345
model4 0.000
model5 0.628
I was then thinking that there’s at least some evidence that m5 is the preferred model but that m3 is a good candidate too. Just try look at things another way, I then tried pseudo BMA and got basically the same result except now m4 and m3 share similar weights:
> loo_model_weights(loo_list,method = "pseudobma")`
Method: pseudo-BMA+ with Bayesian bootstrap
------
weight
model1 0.000
model2 0.000
model3 0.122
model4 0.133
model5 0.745
Finally, just to see what would happen I compared the models using LOO:
> compare_ic(loo1,loo2,loo3,loo4,loo5)
LOOIC SE
m1 33613.97 310.00
m2 33359.18 312.84
m3 27141.53 374.63
m4 27135.29 374.62
m5 27127.36 374.28
m1 - m2 254.79 32.00
m1 - m3 6472.44 139.52
m1 - m4 6478.68 139.63
m1 - m5 6486.61 139.37
m2 - m3 6217.65 140.22
m2 - m4 6223.89 139.68
m2 - m5 6231.81 139.48
m3 - m4 6.24 8.65
m3 - m5 14.16 13.46
m4 - m5 7.92 8.71
Here’s where I’m confused and surprised: It looks to me that m4 and m5 aren’t really improving the predictive accuracy at all over m3, which seems surprising giving the stacking and pseudo BMA results. Is this unusual?
I’m posting this with the assumption that I might be just misinterpreting how I should be using the brms functions (maybe this isn’t really a brms issue though).
- Operating System: Windows 10
- brms Version: 3.2.1