Hi Finn,
Thank you for the suggestion! I have now run inla.rerun() and bru_rerun() on both models, and I can confirm that the results are now identical between INLA and inlabru. Both approaches now give a range of ~64 km (95% CI: 48-85), resolving the previous discrepancy where INLA gave ~125 km. However, when rerunning the models, I encountered the following warnings:
*** WARNING *** GMRFLib_2order_approx: rescue NAN/INF values in logl for idx=297
*** WARNING *** GMRFLib_2order_approx: reset counter for 34 NAN/INF values in logl
I have three follow-up questions:
1. What do these warnings mean and should I be concerned about them for my results?
2. Should I routinely use inla.rerun()/bru_rerun() after fitting models, as a best practice?
betabinomial_rerun <- inla.rerun(betabinomial)
*** WARNING *** GMRFLib_2order_approx: rescue NAN/INF values in logl for idx=297
> betabinomial_inlabru_rerun <- bru_rerun(betabinomial_inlabru)
*** WARNING *** GMRFLib_2order_approx: rescue NAN/INF values in logl for idx=645
*** WARNING *** GMRFLib_2order_approx: reset counter for 34 NAN/INF values in logl
> summary(betabinomial_rerun)
Time used:
Pre = 0.929, Running = 12.8, Post = 1.47, Total = 15.2
Fixed effects:
mean sd 0.025quant 0.5quant 0.975quant mode kld
b0 -5.591 0.289 -6.172 -5.586 -5.034 -5.585 0
Random effects:
Name Model
s SPDE2 model
Model hyperparameters:
mean sd 0.025quant 0.5quant 0.975quant
overdispersion for the betabinomial observations 0.099 0.011 0.08 0.099 0.121
Range for s 64.121 9.435 47.84 63.344 84.908
Stdev for s 1.872 0.162 1.58 1.864 2.214
mode
overdispersion for the betabinomial observations 0.098
Range for s 61.652
Stdev for s 1.846
Deviance Information Criterion (DIC) ...............: 3120.84
Deviance Information Criterion (DIC, saturated) ....: 1680.37
Effective number of parameters .....................: 251.78
Watanabe-Akaike information criterion (WAIC) ...: 3103.86
Effective number of parameters .................: 194.00
Marginal log-Likelihood: -1620.93
CPO, PIT is computed
Posterior summaries for the linear predictor and the fitted values are computed
(Posterior marginals needs also 'control.compute=list(return.marginals.predictor=TRUE)')
> summary(betabinomial_inlabru_rerun)
inlabru version: 2.13.0
INLA version: 25.03.13
Components:
intercept: main = linear(1), group = exchangeable(1L), replicate = iid(1L), NULL
field: main = spde(as.matrix(coords.clusters)), group = exchangeable(1L), replicate = iid(1L), NULL
Observation models:
Family: 'betabinomial'
Tag: <No tag>
Data class: 'tbl_df', 'tbl', 'data.frame'
Response class: 'integer'
Predictor: n ~ .
Additive/Linear: TRUE/TRUE
Used components: effects[intercept, field], latent[]
Time used:
Pre = 0.905, Running = 8.37, Post = 0.26, Total = 9.54
Fixed effects:
mean sd 0.025quant 0.5quant 0.975quant mode kld
intercept -5.591 0.289 -6.171 -5.586 -5.034 -5.585 0
Random effects:
Name Model
field SPDE2 model
Model hyperparameters:
mean sd 0.025quant 0.5quant 0.975quant
overdispersion for the betabinomial observations 0.099 0.010 0.08 0.099 0.121
Range for field 64.120 9.356 47.97 63.350 84.730
Stdev for field 1.872 0.162 1.58 1.864 2.213
mode
overdispersion for the betabinomial observations 0.098
Range for field 61.665
Stdev for field 1.846
Marginal log-Likelihood: -1620.95