Description Usage Arguments Details Value Author(s) See Also Examples
Create an inla.spde2
model object for a Matern model. Use
inla.spde2.pcmatern
instead for a PC prior for the parameters.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | inla.spde2.matern(mesh,
alpha = 2,
param = NULL,
constr = FALSE,
extraconstr.int = NULL,
extraconstr = NULL,
fractional.method = c("parsimonious", "null"),
B.tau = matrix(c(0,1,0),1,3),
B.kappa = matrix(c(0,0,1),1,3),
prior.variance.nominal = 1,
prior.range.nominal = NULL,
prior.tau = NULL,
prior.kappa = NULL,
theta.prior.mean = NULL,
theta.prior.prec = 0.1,
n.iid.group = 1,
...)
|
mesh |
The mesh to build the model on, as an |
alpha |
Fractional operator order, 0<α≤q 2 supported. (ν=α-d/2) |
param |
Parameter, e.g. generated by |
constr |
If |
extraconstr.int |
Field integral constraints. |
extraconstr |
Direct linear combination constraints on the basis weights. |
fractional.method |
Specifies the approximation method to use for
fractional (non-integer) |
B.tau |
Matrix with specification of log-linear model for τ. |
B.kappa |
Matrix with specification of log-linear model for κ. |
prior.variance.nominal |
Nominal prior mean for the field variance |
prior.range.nominal |
Nominal prior mean for the spatial range |
prior.tau |
Prior mean for tau (overrides |
prior.kappa |
Prior mean for kappa (overrides |
theta.prior.mean |
(overrides |
theta.prior.prec |
Scalar, vector or matrix, specifying the joint prior precision for theta. |
n.iid.group |
If greater than 1, build an explicitly iid
replicated model, to support constraints applied to the combined
replicates, for example in a time-replicated spatial
model. Constraints can either be specified for a single mesh, in
which case it's applied to the average of the replicates
( |
... |
Additional parameters for special uses. |
This method constructs a Matern SPDE model, with spatial scale parameter κ(u) and variance rescaling parameter τ(u).
(kappa^2(u)-Delta)^(alpha/2) (tau(u) x(u)) = W(u)
Stationary models are supported for
0 < α ≤q 2, with spectral approximation methods used for
non-integer α, with approximation method determined by
fractional.method
.
Non-stationary models are supported for α=2 only, with
log tau(u) = B.tau_0(u) + sum_{k=1}^p B.tau_k(u) theta_k
log kappa(u) = B.kappa_0(u) + sum_{k=1}^p B.kappa_k(u) theta_k
The same parameterisation is used in the stationary cases, but with B^τ_0, B^τ_k, B^κ_0, and B^τ_k constant across u.
Integration and other general linear constraints are supported via the
constr
, extraconstr.int
, and extraconstr
parameters, which also interact with n.iid.group
.
An inla.spde2
object.
Finn Lindgren finn.lindgren@gmail.com
inla.mesh.2d
, inla.mesh.create
,
inla.mesh.1d
, inla.mesh.basis
,
inla.spde2.pcmatern
,
inla.spde2.generic
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | n = 100
field.fcn = function(loc) (10*cos(2*pi*2*(loc[,1]+loc[,2])))
loc = matrix(runif(n*2),n,2)
## One field, 2 observations per location
idx.y = rep(1:n,2)
y = field.fcn(loc[idx.y,]) + rnorm(length(idx.y))
mesh = inla.mesh.create(loc, refine=list(max.edge=0.05))
spde = inla.spde2.matern(mesh)
data = list(y=y, field=mesh$idx$loc[idx.y])
formula = y ~ -1 + f(field, model=spde)
result = inla(formula, data=data, family="normal")
## Plot the mesh structure:
plot(mesh)
if (require(rgl)) {
col.pal = colorRampPalette(c("blue","cyan","green","yellow","red"))
## Plot the posterior mean:
plot(mesh, rgl=TRUE,
result$summary.random$field[,"mean"],
color.palette = col.pal)
## Plot residual field:
plot(mesh, rgl=TRUE,
result$summary.random$field[,"mean"]-field.fcn(mesh$loc),
color.palette = col.pal)
}
result.field = inla.spde.result(result, "field", spde)
plot(result.field$marginals.range.nominal[[1]])
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.