Dear R-INLA community:
Hello,
I want to ask two questions, one of which might be very elementary question but I could not be successful to find descriptions, and the other is about the model results.
1. Meaning of messages when running inla(..., verbose=TRUE)
I always set verbose as TRUE every time I try running INLA models. It helps me to determine when I need to stop the model runs that are oftentimes time-consuming. I used to read the numbers being printed while the model is running, for example:
maxld= -60198.849 fn= 96 theta= -0.043 0.051 4.058 2.038 5.156 0.238 -0.091 2.958 [8.2, 1.87]
maxld, fn, thetas seem straightforward. However, the last part wrapped in squared brackets has no label, which made me assume these two values are related to theta values. Could someone explain the meaning of these values? Sometimes I realize these values can be an indicator of how the model is going under the hood as well as how the model results will look like.
2. All-NAs in mode values in model results
I have been fitting spatiotemporal models with three to five random components. I found that the mode is printed as NA in the model results (i.e., running the summary function for an inla object). The thing that confused me even worse is that the mode status (i.e., inla_object$mode$mode.status) is always zero. I am not sure how all-NA values in modes result in a fair mode status.
I am using experimental features that are provided in the testing version (currently INLA 22.04.16) and my model code is as below:
latent_sp_main = "besagproper"
latent_t_main = "ar1"
latent_sp_random = "besag"
latent_t_random = "iid"
form = y ~ offset(log(pop)) +
f(GEOID_int1, model = latent_sp_main, graph = graph, constr = TRUE) +
f(year_int1, model = latent_t_main, constr = TRUE) +
f(GEOID_int2, model = latent_sp_main, graph = graph, group = year_int2, control.group = list(model = latent_t_main), constr = TRUE) +
f(GEOID_int3, x1, model = latent_sp_rand, graph = graph, constr=TRUE)+ f(year_int3, x1, model = latent_t_rand, constr = TRUE) +
x1 + x2 + x3 + x4 + x5 + x6 + x7
threads = "28:1"
inla_result =
inla(
formula = form,
data = data,
family = "poisson", verbose = TRUE,
lincomb = lcs,
control.lincomb = list(verbose = FALSE),
control.inla = control.inla(
strategy = "simplified.laplace",
int.strategy = 'eb',
restart = 5,
optimiser = 'default',
stupid.search.factor = 1.25,
npoints = 9,
improved.simplified.laplace = TRUE,
use.directions = FALSE),
control.predictor = list(compute = TRUE, link = 1),
control.compute = list(cpo = TRUE, waic = TRUE, dic = TRUE,
return.marginals.predictor = TRUE,
openmp.strategy = 'huge',
smtp = 'default'),
control.mode = list(restart = TRUE, fixed = FALSE,
theta = thetas),
num.threads = threads,
safe = TRUE)
Thank you very much in advance!
Best,
Insang