| MCAR_INLA | R Documentation |
Fit a spatial multivariate Poisson mixed model to areal count data. The linear predictor is modelled as
\log{r_{ij}}=\alpha_j + \theta_{ij}, \quad \mbox{for} \quad i=1,\ldots,n; \quad j=1,\ldots,J
where \alpha_j is a disease-specific intercept and \theta_{ij} is the spatial main effect of area i for the j-th disease.
Following \insertCitebotella2015unifying;textualbigDM, we rearrange the spatial effects into the matrix \mathbf{\Theta} = \{ \theta_{ij}: i=1, \ldots, I; j=1, \ldots, J \} whose columns are spatial random effects and its joint distribution specifies how dependence within-diseases and between-diseases is defined.
Several conditional autoregressive (CAR) prior distributions can be specified to deal with spatial dependence within-diseases, such as the intrinsic CAR prior \insertCitebesag1991bigDM, the CAR prior proposed by \insertCiteleroux1999estimation;textualbigDM, and the proper CAR prior distribution.
As in the CAR_INLA function, three main modelling approaches can be considered:
the usual model with a global spatial random effect whose dependence structure is based on the whole neighbourhood graph of the areal units (model="global" argument)
a Disjoint model based on a partition of the whole spatial domain where independent spatial CAR models are simultaneously fitted in each partition (model="partition" and k=0 arguments)
a modelling approach where k-order neighbours are added to each partition to avoid border effects in the Disjoint model (model="partition" and k>0 arguments).
For both the Disjoint and k-order neighbour models, parallel or distributed computation strategies can be performed to speed up computations by using the 'future' package \insertCitebengtsson2020unifyingbigDM.
Inference is conducted in a fully Bayesian setting using the integrated nested Laplace approximation (INLA; \insertCiterue2009approximate;textualbigDM) technique through the R-INLA package (https://www.r-inla.org/). For the scalable model proposals \insertCiteorozco2020bigDM, approximate values of the Deviance Information Criterion (DIC) and Watanabe-Akaike Information Criterion (WAIC) can also be computed.
The function allows also to use the new hybrid approximate method that combines the Laplace method with a low-rank Variational Bayes correction to the posterior mean \insertCitevanNiekerk2023bigDM by including the inla.mode="compact" argument.
MCAR_INLA(
carto = NULL,
data = NULL,
ID.area = NULL,
ID.disease = NULL,
ID.group = NULL,
O = NULL,
E = NULL,
W = NULL,
prior = "intrinsic",
model = "partition",
k = 0,
strategy = "simplified.laplace",
merge.strategy = "original",
compute.intercept = NULL,
compute.DIC = TRUE,
n.sample = 1000,
compute.fitted.values = FALSE,
save.models = FALSE,
plan = "sequential",
workers = NULL,
inla.mode = "classic",
num.threads = NULL
)
carto |
object of class |
data |
object of class |
ID.area |
character; name of the variable that contains the IDs of spatial areal units. The values of this variable must match those given in the |
ID.disease |
character; name of the variable that contains the IDs of the diseases. |
ID.group |
character; name of the variable that contains the IDs of the spatial partition (grouping variable). Only required if |
O |
character; name of the variable that contains the observed number of cases for each areal unit and disease. |
E |
character; name of the variable that contains either the expected number of cases or the population at risk for each areal unit and disease. |
W |
optional argument with the binary adjacency matrix of the spatial areal units. If |
prior |
one of either |
model |
one of either |
k |
numeric value with the neighbourhood order used for the partition model. Usually k=2 or 3 is enough to get good results. If k=0 (default) the Disjoint model is considered. Only required if |
strategy |
one of either |
merge.strategy |
one of either |
compute.intercept |
CAUTION! This argument is deprecated from version 0.5.2. |
compute.DIC |
logical value; if |
n.sample |
numeric; number of samples to generate from the posterior marginal distribution of the linear predictor when computing approximate DIC/WAIC values. Default to 1000. |
compute.fitted.values |
logical value (default |
save.models |
logical value (default |
plan |
one of either |
workers |
character or vector (default |
inla.mode |
one of either |
num.threads |
maximum number of threads the inla-program will use. See |
For a full model specification and further details see the vignettes accompanying this package.
This function returns an object of class inla. See the mergeINLA function for details.
bengtsson2020unifyingbigDM
\insertRefbesag1991bigDM
\insertRefbotella2015unifyingbigDM
\insertRefleroux1999estimationbigDM
\insertRefrue2009approximatebigDM
\insertRefvicente2022bigDM
\insertRefvanNiekerk2023bigDM
## Not run:
if(require("INLA", quietly=TRUE)){
## Load the sf object that contains the spatial polygons of the municipalities of Spain ##
data(Carto_SpainMUN)
str(Carto_SpainMUN)
## Load the simulated cancer mortality data (three diseases) ##
data(Data_MultiCancer)
str(Data_MultiCancer)
## Fit the Global model with an iCAR prior for the within-disease random effects ##
Global <- MCAR_INLA(carto=Carto_SpainMUN, data=Data_MultiCancer,
ID.area="ID", ID.disease="disease", O="obs", E="exp",
prior="intrinsic", model="global", strategy="gaussian")
summary(Global)
## Fit the Disjoint model with an iCAR prior for the within-disease random effects ##
## using 4 local clusters to fit the models in parallel ##
Disjoint <- MCAR_INLA(carto=Carto_SpainMUN, data=Data_MultiCancer,
ID.area="ID", ID.disease="disease", O="obs", E="exp", ID.group="region",
prior="intrinsic", model="partition", k=0, strategy="gaussian",
plan="cluster", workers=rep("localhost",4))
summary(Disjoint)
## 1st-order neighbourhood model with an iCAR prior for the within-disease random effects ##
## using 4 local clusters to fit the models in parallel ##
order1 <- MCAR_INLA(carto=Carto_SpainMUN, data=Data_MultiCancer,
ID.area="ID", ID.disease="disease", O="obs", E="exp", ID.group="region",
prior="intrinsic", model="partition", k=1, strategy="gaussian",
plan="cluster", workers=rep("localhost",4))
summary(order1)
}
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.