cgeneric_generic0 {INLAtools} | R Documentation |
Build an cgeneric
object for a generic0
model.
See details.
Description
Build data needed to implement a model whose precision has a conditional precision parameter. This uses the C interface in the 'INLA' package, that can be used as a linear predictor model component with an 'f' term.
Usage
cgeneric_generic0(
R,
param,
constr = TRUE,
scale = TRUE,
debug = FALSE,
useINLAprecomp = TRUE,
libpath = NULL
)
Arguments
R |
the structure matrix for the model definition. |
param |
length two vector with the parameters
where |
constr |
logical indicating if it is to add a sum-to-zero constraint. Default is TRUE. |
scale |
logical indicating if it is to scale the model. See detais. |
debug |
integer, default is zero, indicating the verbose level. Will be used as logical by INLA. |
useINLAprecomp |
logical, default is TRUE, indicating if it is to be used the shared object pre-compiled by INLA. This is not considered if 'libpath' is provided. |
libpath |
string, default is NULL, with the path to the shared object. |
Details
The precision matrix is defined as
Q = \tau R
where the structure matrix R is supplied by the user
and \tau
is the precision parameter.
Following Sørbie and Rue (2014), if scale = TRUE
the model is scaled so that
Q = \tau s R
where s
is the geometric mean of the diagonal
elements of the generalized inverse of R
.
s = \exp{\sum_i \log((R^{-})_{ii})/n}
If the model is scaled, the geometric mean of the
marginal variances, the diagonal of Q^{-1}
, is one.
Therefore, when the model is scaled,
\tau
is the marginal precision,
otherwise \tau
is the conditional precision.
Value
a cgeneric
object, see cgeneric()
.
References
Sigrunn Holbek Sørbye and Håvard Rue (2014). Scaling intrinsic Gaussian Markov random field priors in spatial modelling. Spatial Statistics, vol. 8, p. 39-51.
See Also
Examples
## structured precision matrix model definition
R <- Matrix(toeplitz(c(2,-1,0,0,0)))
mR <- cgeneric("generic0", R = R,
scale = FALSE, param = c(1, 0.05),
useINLAprecomp = FALSE)
graph(mR)
prec(mR, theta = 0)