Function used for defining of smooth and spatial terms within ngme model formulae. The function is a wrapper function for specific submodels. (see ngme_models_types() for available models).
Usage
f(
map,
model,
noise = noise_normal(),
name = "field",
data = NULL,
group = NULL,
which_group = NULL,
replicate = NULL,
A = NULL,
W = NULL,
fix_W = FALSE,
fix_K = FALSE,
prior_theta_K = ngme_prior("normal", param = c(0, 0.001)),
subset = rep(TRUE, length_map(map)),
debug = FALSE
)Arguments
- map
symbol or numerical value: index or covariates to build index
- model
string, model type, see ngme_model_types()
- noise
ngme_noise object, noise_nig() or noise_gal()
- name
name of the field, for later use, if not provided, will be "field1" etc.
- data
specifed or inherit from ngme() function
- group
group factor indicate resposne variable, can be inherited from ngme() function, (used for bivariate model)
- which_group
belong to which group
- replicate
factor indicating replicate structure for INLA-style replicates. When provided, operators and A matrices will be block-diagonalized across replicates.
- A
observation matrix, automatically computed given map and model
- W
starting value of the process
- fix_W
stop sampling for W
- fix_K
fix the estimation of parameter of K
- prior_theta_K
prior for theta_K
- subset
subset of the model
- debug
debug mode
Value
a list for constructing latent model, e.g. A, h, C, G, which also has 1. Information about K matrix 2. Information about noise 3. Control variables
Details
When using different meshes for different replicates, provide the mesh parameter
as a list of mesh objects. The number of meshes should match the number of replicates.
For example: mesh = list(mesh1, mesh2, mesh3) for 3 replicates.
When using the `replicate` argument, the operator matrices will be block-diagonalized. For a generic operator K = param1 * Matrix1 + param2 * Matrix2, with 2 replicates, the resulting operator becomes: K = param1 * bdiag(Matrix1_rep1, Matrix1_rep2) + param2 * bdiag(Matrix2_rep1, Matrix2_rep2) Similarly, the A matrix will be block-diagonalized as bdiag(A_rep1, A_rep2, ...).
