inla.spde1.create {INLA} | R Documentation |
Create an inla.spde1
model object.
inla.spde1.create( mesh, model = c("matern", "imatern", "matern.osc"), param = NULL, ... ) inla.spde1.matern(mesh, ...) inla.spde1.imatern(mesh, ...) inla.spde1.matern.osc(mesh, ...)
mesh |
The mesh to build the model on, as an |
model |
The name of the model. |
param |
Model specific parameters. |
... |
Additional parameters passed on to other methods. |
Note: This is an old spde object format retained for backwards
compatibility. Please use inla.spde2()
models for new code.
This method constructs an object for SPDE models. Currently implemented:
model="matern"
(kappa^2(u)-Delta)^(alpha/2) (tau(u) x(u)) = W(u)
(kappa^2(u)-Delta)^(alpha/2) (tau(u) x(u)) = W(u)
param
:
alpha
= 1 or 2
basis.T
=
Matrix of basis functions for log tau(u)
basis.K
= Matrix of basis functions for
log kappa^2(u)
model="imatern"
(-Delta)^(alpha/2) (tau(u) x(u)) = W(u)
(-Delta)^(alpha/2) (tau(u) x(u)) = W(u)
param
:
alpha
= 1 or 2
basis.T
=
Matrix of basis functions for log tau(u)
An inla.spde1
object.
Finn Lindgren finn.lindgren@gmail.com
inla.spde2.matern()
, inla.mesh.2d()
,
inla.mesh.basis()
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.spde1.create(mesh, model = "matern") 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)) { ## Plot the posterior mean: plot(mesh, rgl = TRUE, result$summary.random$field[, "mean"], color.palette = colorRampPalette(c("blue", "green", "red")) ) ## Plot residual field: plot(mesh, rgl = TRUE, result$summary.random$field[, "mean"] - field.fcn(mesh$loc), color.palette = colorRampPalette(c("blue", "green", "red")) ) }