Learn R Programming

RandomFields (version 3.0.5)

RMave: Space-time moving average model

Description

RMave is a univariate stationary covariance model which depends on a normal scale mixture covariance model $phi$. The corresponding covariance function only depends on the difference $(h,u) \in {\bf R}^{d}$ between two points in the $d$-dimensional space and is given by

$$C(h, u) = |E + 2Ahh^tA|^{-1/2} \phi(\sqrt(\|h\|^2/ 2 + (z^th + u)^2 (1 - 2h^tA (E+2Ahh^tA)^{-1} Ah)))$$ where $E$ is the identity matrix. The spatial dimension is $d-1$ and $h$ is real-valued.

Usage

RMave(phi, A, z, spacetime, var, scale, Aniso, proj)

Arguments

phi
a covariance model which is a normal mixture, that means an RMmodel whose normalmix equals TRUE.
A
a symmetric $d-1 \times d-1$-matrix if the corresponding random field is in the $d$-dimensional space
z
a $d-1$ dimensional vector if the corresponding random field is on $d$-dimensional space
spacetime
logical. If FALSE then the model is interpreted as if $h=0$, i.e. the spatial dimension is $d$. Default is TRUE
var,scale,Aniso,proj
optional parameters; same meaning for any RMmodel. If not passed, the above covariance function remains unmodified.

Value

Details

See Schlather, M. (2010), Example 13 with l=1)

References

  • Schlather, M. (2010) On some covariance models based on normal scale mixtures.Bernoulli,16, 780-797.

See Also

RMmodel, RFsimulate, RFfit.

Examples

Run this code
set.seed(0)

## Example of an evaluation of the ave2-covariance function
## in three different ways
## ---------------------------------------------------------
## some parameters A and z
A <- matrix(c(2,1,1,2),ncol=2)
z <- c(1,2)
## h for evalutation
h <- c(1,2)
## some abbreviations
E <- matrix(c(1,0,0,1),ncol=2)
B <- A %*% h %*% t(h) %*% A
phi <- function(t){return(RFcov(RMwhittle(1), t))}
## ---------------------------------------------------------
## the following should yield the same value 3 times
## (also for other choices of A,z and h)
z1 <- RFcov( model=RMave(RMwhittle(1),A=A,z=z) , x=t(c(h,0)) )
z2 <- RFcov( model=RMave(RMwhittle(1),A=A,z=z,spacetime=FALSE) , x=t(h) )
z3 <- ( (det(E+2*B))^(-1/2) ) *
 phi( sqrt( sum(h*h)/2 + (t(z) %*% h)^2 *
 ( 1-2*t(h) %*% A %*% solve(E+2*B) %*% A %*% h) ) )
##
stopifnot(abs(z1-z2)<1e-12, abs(z2-z3)<1e-12)

Run the code above in your browser using DataLab