Learn R Programming

RandomFields (version 3.1.12)

RMgneiting: Gneiting Covariance Model

Description

RMgneiting is a stationary isotropic covariance model which is only valid up to dimension 3, or 5 (see the argument orig). The corresponding covariance function only depends on the distance $r \ge 0$ between two points and is given by $$C(r) = (1 + 8 s r + 25 s^2 r^2 + 32 s^3 r^3)(1-s r)^8$$ if $0 \ge r \ge \frac{1}{s}$ and $$C(r)=0$$ otherwise. Here, $s=0.301187465825$. For a generalized model see also RMgengneiting.

Usage

RMgneiting(orig, var, scale, Aniso, proj)

Arguments

var,scale,Aniso,proj
optional arguments; same meaning for any RMmodel. If not passed, the above covariance function remains unmodified.
orig
logical. if TRUE the above model is used. Otherwise the RMgengneiting model C(s r) with kappa=3 as above, but but with mu = 2.683509 and s=0.27

Value

Details

This isotropic covariance function is valid only for dimensions less than or equal to 3. It is 6 times differentiable and has compact support.

This model is an alternative to RMgauss as its graph is hardly distinguishable from the graph of the Gaussian model, but possesses neither the mathematical nor the numerical disadvantages of the Gaussian model.

It is a special case of RMgengneiting for the choice $kappa=3, \mu=1.5$.

Note that, in the original work by Gneiting (1999), a numerical value slightly deviating from the optimal one was used for $mu=1.5$: $s=\frac{10 \sqrt(2)}{47}$.

References

For the original version
  • Gneiting, T. (1999) Correlation functions for atmospherical data analysis.Q. J. Roy. Meteor. SocPart A125, 2449-2464.

For the version (orig=FALSE)

  • this packageRandomFields

See Also

RMbigneiting, RMgengneiting, RMgauss, RMmodel, RFsimulate, RFfit.

Examples

Run this code
RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set
##                   RFoptions(seed=NA) to make them all random again
StartExample()
plot(RMgneiting(), model2=RMgneiting(orig=FALSE), model3=RMgauss(), 
     xlim=c(-3,3), maxchar=100)
plot(RMgneiting(), model2=RMgneiting(orig=FALSE), model3=RMgauss(), 
     xlim=c(1.5,2.5), maxchar=100)

model <- RMgneiting(orig=FALSE, scale=0.4)
x <- seq(0, 10, 0.2) ## nicer with 0.1 instead of 0.2
z <- RFsimulate(model, x=x, y=x, z=x, T=c(1,1,4), maxGB=3)
plot(z, MARGIN.slices=4, MARGIN.movie=3)

FinalizeExample()

Run the code above in your browser using DataLab