Learn R Programming

RandomFields (version 3.0.5)

RMbigneiting: Gneiting-Wendland Covariance Models

Description

RMbigneiting is a bivariate stationary isotropic covariance model family whose elements are specified by seven parameters.

Let $$\delta_{ij} = \mu + \gamma_{ij} + 1.$$ Then, $$C_{n}(h) = c_{ij} (C_{n, \delta} (h / s_{ij}))_{i,j=1,2}$$ and $C_{n, \delta}$ is the generalised Gneiting model with parameters $n$ and $\delta$, see RMgengneiting, i.e., $$C_{\kappa=0, \delta}(r) = (1-r)^\beta 1_{[0,1]}(r), \qquad \beta=\delta + 2\kappa + 1/2;$$ $$C_{\kappa=1, \delta}(r) = \left(1+\beta r \right)(1-r)^{\beta} 1_{[0,1]}(r), \qquad \beta = \delta + 2\kappa + 1/2;$$ $$C_{\kappa=2, \delta}(r)=\left( 1 + \beta r + \frac{\beta^{2} - 1}{3}r^{2} \right)(1-r)^{\beta} 1_{[0,1]}(r), \qquad \beta=\delta + 2\kappa + 1/2;$$ $$C_{\kappa=3, \delta}(r)=\left( 1 + \beta r + \frac{(2\beta^{2}-3)}{5} r^{2}+ \frac{(\beta^2 - 4)\beta}{15} r^{3} \right)(1-r)^\beta 1_{[0,1]}(r), \qquad \beta=\delta+2\kappa+1/2.$$

Usage

RMbigneiting(kappa, mu, s, sred12, gamma, cdiag, rhored, c, var, scale, Aniso, proj)

Arguments

kappa
parameter that chooses between the four different covariance models and may take values $0,\ldots,3$. The model is $k$ times differentiable.
mu
mu has to be greater than or equal to $\frac{d}{2}$ where $d$ is the (arbitrary) dimension of the randomfield.
s
vector of two elements giving the scale of the models on the diagonal, i.e., the vector $(s_{11}, s_{22})$.
sred12
value in $[-1,1]$. The scale on the offdiagonals is given by $s_{12} = s_{21} =$ sred12 * $\min{s_{11},s_{22}}$.
gamma
a vector of length 3 of numerical values; each entry is positive. The vector gamma equals $(\gamma_{11},\gamma_{21},\gamma_{22})$. Note that $\gamma_{12} =\gamma_{21}$.
cdiag
a vector of length 2 of numerical values; each entry positive; the vector $(c_{11},c_{22})$
c
a vector of length 3 of numerical values; the vector $(c_{11}, c_{21}, c_{22})$. Note that $c_{12}= c_{21}$.

Either rhored and cdiag or c must be given.

rhored
value in $[-1,1]$. See also the Details for the corresponding value of $c_{12}=c_{21}$.
var,scale,Aniso,proj
optional parameters; same meaning for any RMmodel. If not passed, the above covariance function remains unmodified.

Value

Details

A sufficient condition for the constant $c_{ij}$ is $$c_{12} = \rho_{\rm red} \cdot m \cdot \left(c_{11} c_{22} \prod_{i,j=1,2} \left(\frac{\Gamma(\gamma_{ij} + \mu + 2\kappa + 5/2)}{b_{ij}^{\nu_{ij} + 2\kappa + 1} \Gamma(1 + \gamma_{ij}) \Gamma(\mu + 2\kappa + 3/2)} \right)^{(-1)^{i+j}} \right)^{1/2}$$ where $\rho_{\rm red} \in [-1,1]$.

The constant $m$ in the formula above is obtained as follows: $$m = \min{1, m_{-1}, m_{+1}}$$ Let $$a = 2 \gamma_{12} - \gamma_{11} -\gamma_{22}$$ $$b = -2 \gamma_{12} (s_{11} + s_{22}) + \gamma_{11} (s_{12} + s_{22}) + \gamma_{22} (s_{12} + s_{11})$$ $$e = 2 \gamma_{12} s_{11}s_{22} - \gamma_{11}s_{12}s_{22} - \gamma_{22}s_{12}s_{11}$$ $$d = b^2 - 4ae$$ $$t_j =\frac{- b + j \sqrt d}{2 a}$$ If $d \ge0$ and $t_j \not\in (0, s_{12})$ then $m_j=\infty$ else $$m_j = \frac{(1 - t_j/s_{11})^{\gamma_{11}}(1 - t_j/s_{22})^{\gamma_{22}}}{(1 - t_j/s_{12})^{2 \gamma_{11}} }{ m_j = (1 - t_j/s_{11})^{\gamma_{11}} (1 - t_j/s_{22})^{\gamma_{22}} / (1 - t_j/s_{12})^{2 \gamma_{11}} }$$

In the function RMbigneiting, either c is passed, then the above condition is checked, or rhored is passed then $c_{12}$ is calculated by the above formula.

References

  • Bevilacqua, M., Daley, D.J., Porcu, E., Schlather, M. (2012) Classes of compactly supported correlation functions for multivariate random fields. Arxiv.
  • Gneiting, T. (1999) Correlation functions for atmospherical data analysis.Q. J. Roy. Meteor. SocPart A125, 2449-2464.
  • Wendland, H. (2005)Scattered Data Approximation.{Cambridge Monogr. Appl. Comput. Math.}

See Also

RMaskey, RMbiwm, RMgengneiting, RMgneiting, RMmodel, RFsimulate, RFfit.

Examples

Run this code
set.seed(0)model <- RMbigneiting(kappa=2, mu=0.5, gamma=c(0, 3, 6), rhored=1)
x <- seq(0, 10, if (interactive()) 0.02 else 1) 
plot(model, ylim=c(0,1))
plot(RFsimulate(model, x=x))

Run the code above in your browser using DataLab