View source: R/fractional.computations.R
rSPDE.loglike | R Documentation |
This function evaluates the log-likelihood function for a
fractional SPDE model
L^\beta u(s) = W
that is observed under
Gaussian measurement noise:
Y_i = u(s_i) + \epsilon_i
,
where \epsilon_i
are iid mean-zero Gaussian variables and x(s) =
\mu(s) + u(s)
, where
\mu(s)
is the expectation vector of the latent field.
rSPDE.loglike(obj, Y, A, sigma.e, mu = 0)
obj |
The rational SPDE approximation, computed using
|
Y |
The observations, either a vector or a matrix where the columns correspond to independent replicates of observations. |
A |
An observation matrix that links the measurement location to the finite element basis. |
sigma.e |
The standard deviation of the measurement noise. |
mu |
Expectation vector of the latent field (default = 0). |
The log-likelihood value.
This example below shows how the function can be used to evaluate the likelihood of a latent Matern model.
spde.matern.loglike()
# Sample a Gaussian Matern process on R using a rational approximation
kappa <- 10
sigma <- 1
nu <- 0.8
sigma.e <- 0.3
range <- 0.2
# create mass and stiffness matrices for a FEM discretization
x <- seq(from = 0, to = 1, length.out = 101)
fem <- rSPDE.fem1d(x)
# compute rational approximation
op <- matern.operators(
range = range, sigma = sigma, nu = nu,
loc_mesh = x, d = 1,
type = "operator", parameterization = "matern"
)
# Sample the model
u <- simulate(op)
# Create some data
obs.loc <- runif(n = 10, min = 0, max = 1)
A <- rSPDE.A1d(x, obs.loc)
Y <- as.vector(A %*% u + sigma.e * rnorm(10))
# compute log-likelihood of the data
lik1 <- rSPDE.loglike(op, Y, A, sigma.e)
cat(lik1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.