Learn R Programming

RandomFields (version 3.0.5)

RMparswm: Parsimonious Multivariate Whittle Matern Model

Description

RMparswm is a multivariate stationary isotropic covariance model whose corresponding covariance function only depends on the distance $r \ge 0$ between two points and is given for $i,j \in {1,2}$ by $$C_{ij}(r)= c_{ij} W_{\nu_{ij}}(r).$$ Here $W_\nu$ is the covariance of the RMwhittle model.

RMparswmX ist defined as $$\rho_{ij} C_{ij}(r)$$ where $\rho_{ij}$ is any covariance matrix.

Usage

RMparswm(nudiag, var, scale, Aniso, proj)
RMparswmX(nudiag, rho, var, scale, Aniso, proj)

Arguments

nudiag
a vector of arbitrary length of positive values; each entry positive; the vector $(\nu_{11},\nu_{22},...)$. The offdiagonal elements $\nu_{ij}$ are calculated as $0.5 (\nu_{ii} + \nu_{jj})$.
rho
any positive definite $m \times m$ matrix; here $m$ equals length(nudiag) For the calculation of $c_{ij}$ see Details.
var,scale,Aniso,proj
optional parameters; same meaning for any RMmodel. If not passed, the above covariance function remains unmodified.

Value

Details

In the equation above we have $$c_{ij} = \rho_{ij} \sqrt{G_{ij}}$$ and $$G_{ij} = \frac{\Gamma(\nu_{11} + d/2) \Gamma(\nu_{22} + d/2) \Gamma(\nu_{12})^2}{\Gamma(\nu_{11}) \Gamma(\nu_{22}) \Gamma(\nu_{12}+d/2)^2}$$ where $\Gamma$ is the Gamma function and $d$ is the dimension of the space.

References

  • Gneiting, T., Kleiber, W., Schlather, M. (2010) Matern covariance functions for multivariate random fieldsJASA

See Also

RMbiwm, RMwhittle, RMmodel, RFsimulate, RFfit.

Examples

Run this code
set.seed(0)
\dontrun{
RFoptions(circulant.maxmem=6e7, pri=5)
model <- RMparswmX(nudiag=c(1.3, 0.7, 2),
 rho=matrix(nc=3, c(1, 0.5, 0.2, 0.5, 1, 0.6, 0.2, 0.6, 1)))
x.seq <- y.seq <- seq(-10,10,0.05)
simulated <- RFsimulate(model = model, x=x.seq, y=y.seq, grid=TRUE, n=1, spC=F)
par(mfcol=c(1, dim(simulated)[1]))
for (i in 1: dim(simulated)[1]) image(simulated[i,,])


## the definition of RMparswmX is
RMparswmX <- function(nudiag, rho, var, scale, Aniso, proj) {
  return(RMschur(S=rho, RMparswm(nudiag, var, scale, Aniso, proj)))
}

}

Run the code above in your browser using DataLab