GeoCovmatrix: Spatial and Spatio-temporal Covariance Matrix of...

View source: R/GeoCovmatrix.r

GeoCovmatrixR Documentation

Spatial and Spatio-temporal Covariance Matrix of (non-)Gaussian random fields

Description

The function computes the covariance matrix associated to a spatial or spatio-temporal Gaussian or supported non-Gaussian random field with given underlying covariance model and a set of spatial location sites (and temporal instants).

Usage

GeoCovmatrix(estobj = NULL, coordx = NULL, coordy = NULL, coordz = NULL, coordt = NULL,
 coordx_dyn = NULL, corrmodel, distance = "Eucl", grid = FALSE,
 model = "Gaussian", n = 1, param, anisopars = NULL, radius = 1,
 sparse = FALSE, copula = NULL, X = NULL, spobj = NULL,
 check.duplicates = FALSE)

Arguments

estobj

An object of class Geofit that includes information about data, model and estimates.

coordx

A numeric (d \times 2)-matrix or (d \times 3)-matrix. Coordinates on a sphere for a fixed radius radius are passed in lon/lat format expressed in decimal degrees. The default is NULL; this is useful when coordinates are supplied through coordx_dyn, estobj, or spobj.

coordy

A numeric vector giving 1-dimension of spatial coordinates; optional argument, the default is NULL.

coordz

A numeric vector giving 1-dimension of spatial coordinates; optional argument, the default is NULL.

coordt

A numeric vector giving one dimension of temporal coordinates. Optional argument; the default is NULL, in which case a spatial random field is expected. At the moment implemented only for the Gaussian case. Temporal coordinates may be irregularly spaced; temporal lags are computed from the supplied coordinate values.

coordx_dyn

For dynamic locations, a list of length T, where T is length(coordt). Element coordx_dyn[[t]] contains the two- or three-dimensional locations at coordt[t]; covariance-matrix rows and columns concatenate these blocks by time.

corrmodel

String; the name of a correlation model; see GeoCovmatrix for the list of implemented correlation models.

distance

String; the name of the spatial distance. The default is "Eucl", the Euclidean distance. See GeoFit.

grid

Logical; if FALSE (the default) the data are interpreted as spatial or spatio-temporal realisations on a set of non-equispaced spatial sites (irregular grid). See GeoFit.

n

Positive integer size parameter. For a direct Binomial random field it may be a scalar or one value per observation. For a direct Negative-Binomial random field it is the common number r of successes and must be scalar; the Geometric model is the special case r=1. Default is 1.

model

String; the type of random field. See GeoFit.

param

A list of parameter values required for the covariance model.

anisopars

A list of two elements "angle" and "ratio", i.e. the anisotropy angle and the anisotropy ratio, respectively.

radius

Numeric; a value indicating the radius of the sphere when using covariance models valid for the great circle distance. Default value is 1.

sparse

Logical; if TRUE the function returns an object of class spam. This option should be used when a parametric compactly supported covariance is used. Default is FALSE.

copula

String; optional copula specification. Observed-scale covariance-matrix construction is implemented for "Gaussian", "Clayton", and "SkewGaussian" for the supported continuous copula margins.

X

Numeric design matrix used to evaluate the mean when required by the marginal covariance. For fixed sites, rows follow time-major order; for dynamic sites, supply a stacked matrix in temporal-block order or a list aligned with coordx_dyn.

spobj

An object of class sp or spacetime. For space-time objects, the current sp2Geo() conversion uses sequential temporal indices and does not preserve irregular original time spacing; to retain irregular temporal distances, use the explicit-coordinate interface with numeric coordt.

check.duplicates

Logical. If TRUE, perform a fast exact scan for duplicated observation locations at this user entry point. The default is FALSE, so no duplicate-location scan is imposed. Internal bootstrap, cross-validation, and refitting calls do not repeat the scan.

Details

For plain (non-copula) bivariate correlation models, observed-scale covariance is currently validated only for Gaussian margins; unsupported non-Gaussian bivariate combinations are rejected explicitly. For direct Negative-Binomial fields, the public argument n denotes the single common integer r in the waiting-time construction. For copula="Gaussian", copula="Clayton", and copula="SkewGaussian", continuous-margin covariance matrices are constructed directly on the observed scale. The implementation supports "Gaussian", "StudentT", "LogGaussian", "Gamma", "Weibull", "Beta", "Beta2", "Kumaraswamy", "Kumaraswamy2", "Logistic", "SkewLaplace", "Tukeyh", "Tukeyh2", and "SinhAsinh". Under the Gaussian copula, covariance for the last three is evaluated with the exact covariance of the corresponding monotone transformed-Gaussian field. For location-dependent copula margins, pairwise covariances use the two site-specific marginal predictors supplied through X or an external mean vector. Clayton-like covariance uses cached deterministic copula quadrature; skew-Gaussian covariance uses a cached bivariate Hermite expansion of the latent representation, avoiding pair-by-pair adaptive two-dimensional integration. The count margins "Poisson", "Binomial", and "BinomialNeg" are also available for Gaussian, Clayton-like, and skew-Gaussian copula covariance in the global prediction path; Binomial currently requires a common trial count n. The same observed-scale covariance engines are used by GeoCovariogram and GeoKrig, so covariance matrices, fitted semivariogram curves, and linear prediction are numerically consistent.

For model="Wrapped", let \Theta=(\mu+Z) \bmod 2\pi, with latent Gaussian variance \sigma^2 given by sill and off-diagonal latent correlation r_{ij}=(1-\tau)\rho_{ij}, where \tau is nugget. Ordinary covariance of the numeric angles is not used because it depends on the arbitrary branch cut. Instead, covmatrix contains

\operatorname{Cov}[\sin(\Theta_i-\mu_i),\sin(\Theta_j-\mu_j)] = e^{-\sigma^2}\sinh(\sigma^2 r_{ij}),

with the exact marginal variance on the diagonal. The returned wrapped_cos_covmatrix contains

e^{-\sigma^2} [\cosh(\sigma^2 r_{ij})-1],

and wrapped_circular_correlation contains

\frac{\sinh(\sigma^2 r_{ij})}{\sinh(\sigma^2)}.

These matrices are evaluated with numerically stable exponential formulas.

For univariate models whose covariance depends on the marginal location, the mean is evaluated as X\beta, where coefficients mean, mean1, and so on correspond in order to the columns of X. With X=NULL, an intercept-only design is used. A vector param$mean may instead supply one known mean per observation and is mutually exclusive with X.

In the spatial case, the covariance matrix of the random vector

[Z(s_1),\ldots,Z(s_n)]^T

with a specific spatial covariance model is computed. Here n is the number of spatial location sites.

In the space-time case, the covariance matrix of the random vector

[Z(s_1,t_1),Z(s_2,t_1),\ldots,Z(s_n,t_1),\ldots,Z(s_n,t_m)]^T

with a specific space-time covariance model is computed. Here m is the number of temporal instants.

In the bivariate case, rows and columns are in variable-block order. For common locations the covariance matrix is associated with

[Z_1(s_1),\ldots,Z_1(s_n),Z_2(s_1),\ldots,Z_2(s_n)]^T.

For heterotopic locations supplied by coordx_dyn=list(coords1,coords2), the first block contains all observations of variable 1 at coords1 and the second contains all observations of variable 2 at coords2.

The location site s_i can be a point in the d-dimensional Euclidean space with d=2 or d=3 or a point (given in lon/lat degree format) on a sphere of arbitrary radius.

A list with all implemented spatial, space-time and bivariate correlation models is given below. The argument param is a list including all the parameters of a given correlation model specified by the argument corrmodel. For each correlation model one can check the associated parameters' names using CorrParam. In what follows \kappa>0, \beta>0, \alpha, \alpha_s, \alpha_t \in (0,2] and \gamma \in [0,1]. The associated parameters in the argument param are smooth, power2, power, power_s, power_t and sep respectively. Moreover let 1(A)=1 when A is true and 0 otherwise.

  • Spatial correlation models:

    1. GenCauchy (generalised Cauchy in Gneiting and Schlather 2004) defined as:

      R(h) = ( 1+h^{\alpha} )^{-\beta / \alpha}

      If h is the geodesic distance then \alpha \in (0,1].

    2. Matern defined as:

      R(h) = 2^{1-\kappa} \Gamma(\kappa)^{-1} h^\kappa K_\kappa(h)

      If h is the geodesic distance then \kappa \in (0,0.5].

    3. Kummer (Kummer hypergeometric in Ma and Bhadra 2022) defined as:

      R(h) = \Gamma(\kappa+\alpha) U(\alpha,1-\kappa,0.5 h^2 ) / \Gamma(\kappa+\alpha)

      where U(.,.,.) is the Kummer hypergeometric function. If h is the geodesic distance then \kappa \in (0,0.5].

    4. Kummer_Matern It is a rescaled version of the Kummer model, i.e. h must be divided by (2(1+\alpha))^{0.5}. When \alpha goes to infinity it is the Matern model.

    5. Wave defined as:

      R(h)=\sin(h)/h

      This model is valid only for dimensions less than or equal to 3.

    6. GenWend (Generalized Wendland in Bevilacqua et al. 2019) defined as:

      R(h) = A (1-h^2)^{\beta+\kappa} F(\beta/2,(\beta+1)/2,2\beta+\kappa+1,1-h^2) 1(h \in [0,1])

      where \mu \ge 0.5(d+1)+\kappa and A=(\Gamma(\kappa)\Gamma(2\kappa+\beta+1))/(\Gamma(2\kappa)\Gamma(\beta+1-\kappa)2^{\beta+1}) and F(.,.,.) is the Gaussian hypergeometric function. The cases \kappa=0,1,2 correspond to the Wend0, Wend1 and Wend2 models respectively.

    7. GenWend_Matern (Generalized Wendland Matern in Bevilacqua et al. 2022). It is defined as a rescaled version of the Generalized Wendland, i.e. h must be divided by (\Gamma(\beta+2\kappa+1)/\Gamma(\beta))^{1/(1+2\kappa)}. When \beta goes to infinity it is the Matern model.

    8. GenWend_Matern2 (Generalized Wendland Matern second parametrisation). It is defined as a rescaled version of the Generalized Wendland, i.e. h must be multiplied by \beta and the smoothness parameter is \kappa-0.5. When \beta goes to infinity it is the Matern model.

    9. Hypergeometric (Hypergeometric model in Bevilacqua et al. 2025).

    10. Hypergeometric_Matern (Hypergeometric model first parametrisation).

    11. Hypergeometric_Matern2 (Hypergeometric model second parametrisation).

    12. Multiquadric defined as:

      R(h) = (1-\alpha 0.5)^{2\beta}/(1+(\alpha 0.5)^2-\alpha \cos(h))^{\beta}, \quad h \in [0,\pi]

      This model is valid on the unit sphere and h is the geodesic distance.

    13. Sinpower defined as:

      R(h) = 1-(\sin(h/2))^{\alpha},\quad h \in [0,\pi]

      This model is valid on the unit sphere and h is the geodesic distance.

    14. F_Sphere (F family in Alegria et al. 2021) defined as:

      R(h) = K F(1/\alpha,1/\alpha+0.5,2/\alpha+0.5+\kappa),\quad h \in [0,\pi]

      where K =(\Gamma(a)\Gamma(i))/(\Gamma(i)\Gamma(o)). This model is valid on the unit sphere and h is the geodesic distance.

  • Spatio-temporal correlation models:

    • Non-separable models:

      1. Gneiting defined as:

        R(h, u) = \exp(-h^{\alpha_s}/((1+u^{\alpha_t})^{0.5 \gamma \alpha_s}))/(1+u^{\alpha_t})

      2. Gneiting_GC defined as:

        R(h, u) = \exp(-u^{\alpha_t}/((1+h^{\alpha_s})^{0.5 \gamma \alpha_t}))/(1+h^{\alpha_s})

        where h can be either Euclidean or geodesic distance.

      3. Iacocesare defined as:

        R(h, u) = (1+h^{\alpha_s}+u^{\alpha_t})^{-\beta}

      4. Porcu defined as:

        R(h, u) = (0.5 (1+h^{\alpha_s})^\gamma + 0.5 (1+u^{\alpha_t})^\gamma)^{-\gamma^{-1}}

      5. Porcu1 defined as:

        R(h, u) = \exp(-h^{\alpha_s}(1+u^{\alpha_t})^{0.5 \gamma \alpha_s})/((1+u^{\alpha_t})^{1.5})

      6. Stein defined as:

        R(h, u) = (h^{\psi(u)}K_{\psi(u)}(h))/(2^{\psi(u)}\Gamma(\psi(u)+1))

        where \psi(u)=\nu+u^{0.5\alpha_t}.

      7. Gneiting_mat_S defined as:

        R(h, u) = \phi(u)^{\tau_t} \mathrm{Mat}(h \phi(u)^{-\beta},\nu_s)

        where \phi(u)=(1+u^{0.5\alpha_t}), \tau_t \ge 3.5+\nu_s, \beta \in [0,1].

      8. Gneiting_mat_T defined by interchanging h with u in Gneiting_mat_S.

      9. Gneiting_wen_S defined as:

        R(h, u) = \phi(u)^{\tau_t} \mathrm{GenWend}(h \phi(u)^{\beta},\nu_s,\mu_s)

        where \phi(u)=(1+u^{0.5\alpha_t}), \tau_t \ge 2.5+2\nu_s, \beta \in [0,1].

      10. Gneiting_wen_T defined by interchanging h with u in Gneiting_wen_S.

      11. Matern_Matern_nosep defined as:

        R(h, u) = \frac{\mathrm{Matern}(h;\nu_s)\,\mathrm{Matern}(u;\nu_t)} {1+\lambda\,h^{2}u^{2}/(1+\lambda)}

        with \nu_s,\nu_t>0 and \lambda\in[0,1].

      12. GenWend_GenWend_nosep defined as:

        R(h, u) = \frac{\mathrm{GenWend}(h;\nu_s,\delta_s)\,\mathrm{GenWend}(u;\nu_t,\delta_t)} {1+\lambda\,h^{2}u^{2}/(1+\lambda)}

        with \nu_x \geq -0.5, \delta_x>(d+1)/2+\nu_x for x=s,t, and \lambda\in[0,1].

      13. Multiquadric_st defined as:

        R(h, u)= ((1-0.5\alpha_s)^2/(1+(0.5\alpha_s)^2-\alpha_s \psi(u) \cos(h)))^{a_s},\quad h \in [0,\pi]

        where \psi(u)=(1+(u/a_t)^{\alpha_t})^{-1}. This model is valid on the unit sphere and h is the geodesic distance.

      14. Sinpower_st defined as:

        R(h, u)=(\exp(\alpha_s \cos(h) \psi(u)/a_s)(1+\alpha_s \cos(h) \psi(u)/a_s))/k

        where \psi(u)=(1+(u/a_t)^{\alpha_t})^{-1} and k=(1+\alpha_s/a_s)\exp(\alpha_s/a_s), h \in [0,\pi]. This model is valid on the unit sphere and h is the geodesic distance.

    • Separable models:

      Space-time separable correlation models are easily obtained as the product of a spatial and a temporal correlation model, that is

      R(h,u)=R(h) R(u)

      Several combinations are possible:

      1. Exp_Exp defined as:

        R(h, u) = \exp(-h)\exp(-u)

      2. Matern_Matern defined as:

        R(h, u) = \mathrm{Matern}(h;\kappa_s)\mathrm{Matern}(u;\kappa_t)

      3. GenWend_GenWend defined as:

        R(h, u) = \mathrm{GenWend}(h;\kappa_s,\mu_s)\mathrm{GenWend}(u;\kappa_t,\mu_t)

      4. Stable_Stable defined as:

        R(h, u) = \exp(-h^{\alpha_s})\exp(-u^{\alpha_t})

      Note that some models are nested (e.g. Exp_Exp within Matern_Matern).

  • Spatial bivariate correlation models:

    1. Bi_Matern (Bivariate full Matern model)

    2. Bi_Matern_contr (Bivariate Matern model with constraints)

    3. Bi_Matern_sep (Bivariate separable Matern model)

    4. Bi_LMC (Bivariate linear model of coregionalization)

    5. Bi_LMC_contr (Bivariate LMC with constraints)

    6. Bi_Wendx (Bivariate full Wendland model)

    7. Bi_Wendx_contr (Bivariate Wendland model with constraints)

    8. Bi_Wendx_sep (Bivariate separable Wendland model)

    9. Bi_F_Sphere (Bivariate full F model on the unit sphere)

Remarks:
In what follows we assume \sigma^2,\sigma_1^2,\sigma_2^2,\tau^2,\tau_1^2,\tau_2^2,a,a_s,a_t,a_{11},a_{22},a_{12},\kappa_{11},\kappa_{22},\kappa_{12},f_{11},f_{12},f_{21},f_{22} positive.

The associated names of the parameters in param are sill, sill_1, sill_2, nugget, nugget_1, nugget_2, scale, scale_s, scale_t, scale_1, scale_2, scale_12, smooth_1, smooth_2, smooth_12, a_1, a_12, a_21, a_2 respectively.

Let R(h) be a spatial correlation model given in standard notation. Then the covariance model applied with arbitrary variance, nugget and scale equals to \sigma^2 if h=0 and

C(h)=\sigma^2(1-\tau^2)R(h/a,\ldots), \quad h>0

with nugget parameter \tau^2 between 0 and 1.

Similarly, if R(h,u) is a spatio-temporal correlation model given in standard notation, then the covariance model is \sigma^2 if h=0 and u=0 and

C(h,u)=\sigma^2(1-\tau^2)R(h/a_s,u/a_t,\ldots), \quad h>0, u>0

Here ‘...’ stands for additional parameters.

The bivariate models implemented are the following:

  1. Bi_Matern defined as:

    C_{ij}(h)=\rho_{ij}(\sigma_i\sigma_j+\tau_i^2 1(i=j,h=0))\mathrm{Matern}(h/a_{ij},\kappa_{ij}), \quad i,j=1,2,\; h\ge 0

    where \rho=\rho_{12}=\rho_{21} is the colocated correlation parameter and \rho_{ii}=1. The model Bi_Matern_sep (separable Matern) is a special case when a=a_{11}=a_{12}=a_{22} and \kappa=\kappa_{11}=\kappa_{12}=\kappa_{22}. The model Bi_Matern_contr (constrained Matern) is a special case when a_{12}=0.5(a_{11}+a_{22}) and \kappa_{12}=0.5(\kappa_{11}+\kappa_{22}).

  2. Bi_GenWend defined as:

    C_{ij}(h)=\rho_{ij}(\sigma_i\sigma_j+\tau_i^2 1(i=j,h=0))\mathrm{GenWend}(h/a_{ij},\nu_{ij},\kappa_{ij}), \quad i,j=1,2,\; h\ge 0

    where \rho=\rho_{12}=\rho_{21} is the colocated correlation parameter and \rho_{ii}=1. The model Bi_GenWend_sep (separable GenWendland) is a special case when a=a_{11}=a_{12}=a_{22} and \mu=\mu_{11}=\mu_{12}=\mu_{22}. The model Bi_GenWend_contr (constrained GenWendland) is a special case when a_{12}=0.5(a_{11}+a_{22}) and \mu_{12}=0.5(\mu_{11}+\mu_{22}).

  3. Bi_LMC defined as:

    C_{ij}(h)=\sum_{k=1}^{2}(f_{ik}f_{jk}+\tau_i^2 1(i=j,h=0))R(h/a_k)

    where R(h) is a correlation model. The model Bi_LMC_contr is a special case when f=f_{12}=f_{21}. Bivariate LMC models, in the current version of the package, are obtained with R(h) equal to the exponential correlation model.

Value

Returns an object of class GeoCovmatrix. An object of class GeoCovmatrix is a list containing at most the following components:

bivariate

Logical: TRUE if the Gaussian random field is bivariate, otherwise FALSE.

coordx

A d-dimensional vector of spatial coordinates.

coordy

A d-dimensional vector of spatial coordinates.

coordt

A t-dimensional vector of temporal coordinates.

coordx_dyn

A list of t matrices of spatial coordinates.

covmatrix

The covariance matrix if type is Standard. An object of class spam if type is Tapering or Standard and sparse is TRUE. For model="Wrapped", this is the covariance matrix of \sin(\Theta-\mu), not an ordinary covariance matrix of numerically represented angles.

wrapped_cos_covmatrix

For model="Wrapped", the covariance matrix of \cos(\Theta-\mu). This component is present only for model="Wrapped".

wrapped_circular_correlation

For model="Wrapped", the Jammalamadaka–Sarma circular correlation matrix. This component is present only for model="Wrapped".

corrmodel

String: the correlation model.

distance

String: the type of spatial distance.

grid

Logical: the value supplied by the user, indicating whether the original spatial coordinates described a regular grid.

nozero

In the case of tapered matrix the percentage of non-zero values in the covariance matrix; otherwise NULL.

n

The Binomial number of trials, or the common Negative-Binomial number r of successes.

namescorr

String: the names of the correlation parameters.

numcoord

Numeric: the number of spatial coordinates.

numtime

Numeric: the number of temporal coordinates.

model

The type of RF, see GeoFit.

param

Numeric: the scalar covariance and marginal parameters.

mean_external

For a univariate model, the optional known mean vector supplied through param$mean. It is stored separately from param, in observation order, so that covariance and prediction routines do not interpret its entries as regression coefficients.

spacetime

TRUE if spatio-temporal and FALSE if spatial covariance model.

sparse

Logical: is the returned object of class spam?

call

The matched call used to create the object.

Spatio-temporal ordering

For fixed locations, covariance rows and columns are ordered

(s[1], t[1]), ..., (s[N], t[1]),
(s[1], t[2]), ..., (s[N], t[2]), ...

For dynamic locations, all rows of coordx_dyn[[1]] come first, then all rows of coordx_dyn[[2]], and so on. The rows of X and an external param$mean vector use this same order. See GeoModels-spacetime-ordering.

Author(s)

Moreno Bevilacqua, moreno.bevilacqua89@gmail.com, https://sites.google.com/view/moreno-bevilacqua/home

Víctor Morales-Oñate, victor.morales@uv.cl, https://sites.google.com/site/moralesonatevictor/

Christian Caamaño-Carrillo, chcaaman@ubiobio.cl, https://www.researchgate.net/profile/Christian-Caamano

References

Alegria, A., Cuevas-Pacheco, F., Diggle, P. and Porcu, E. (2021). The F-family of covariance functions: A Matérn analogue for modeling random fields on spheres. Spatial Statistics 43, 100512.

Bevilacqua, M., Faouzi, T., Furrer, R. and Porcu, E. (2019). Estimation and prediction using generalized Wendland functions under fixed domain asymptotics. Annals of Statistics 47(2), 828–856.

Bevilacqua, M., Caamaño-Carrillo, C. and Porcu, E. (2022). Unifying compactly supported and Matérn covariance functions in spatial statistics. Journal of Multivariate Analysis 189, 104949.

Daley, D. J., Porcu, E. and Bevilacqua, M. (2015). Classes of compactly supported covariance functions for multivariate random fields. Stochastic Environmental Research and Risk Assessment 29(4), 1249–1263.

Emery, X. and Alegria, A. (2022). The Gauss hypergeometric covariance kernel for modeling second-order stationary random fields in Euclidean spaces: its compact support, properties and spectral representation. Stochastic Environmental Research and Risk Assessment 36, 2819–2834.

Gneiting, T. (2002). Nonseparable, stationary covariance functions for space-time data. Journal of the American Statistical Association 97, 590–600.

Gneiting, T., Kleiber, W. and Schlather, M. (2010). Matérn cross-covariance functions for multivariate random fields. Journal of the American Statistical Association 105, 1167–1177.

Ma, P. and Bhadra, A. (2022). Beyond Matérn: on a class of interpretable confluent hypergeometric covariance functions. Journal of the American Statistical Association, 1–14.

Porcu, E., Bevilacqua, M. and Genton, M. (2015). Spatio-temporal covariance and cross-covariance functions of the great circle distance on a sphere. Journal of the American Statistical Association. DOI: 10.1080/01621459.2015.1072541.

Gneiting, T. and Schlather, M. (2004). Stochastic models that separate fractal dimension and the Hurst effect. SIAM Review 46, 269–282.

See Also

GeoFit for parameter estimation, GeoSim for simulation, GeoKrig for prediction, CorrParam for correlation-parameter names.

Examples

library(GeoModels)
################################################################
###
### Example 1. Estimated spatial covariance matrix associated to
### a WCL estimates using the Matern correlation model
###
###############################################################

set.seed(3)
N <- 300 # number of location sites
x <- runif(N, 0, 1)
y <- runif(N, 0, 1)
coords <- cbind(x, y)
# Set the covariance model's parameters:
corrmodel <- "Matern"
mean <- 0.5
sill <- 1
nugget <- 0
scale <- 0.2/3
smooth <- 0.5

param <- list(mean = mean, sill = sill, nugget = nugget, scale = scale, smooth = smooth)
data <- GeoSim(coordx = coords, corrmodel = corrmodel, param = param)$data
fixed <- list(nugget = nugget, smooth = smooth)
start <- list(mean = mean, scale = scale, sill = sill)

fit0 <- GeoFit(data = data, coordx = coords, corrmodel = corrmodel,
 neighb = 3, likelihood = "Conditional", optimizer = "BFGS",
 type = "Pairwise", start = start, fixed = fixed)
print(fit0)

# estimated covariance matrix using Geofit object
mm <- GeoCovmatrix(fit0)$covmatrix
# estimated covariance matrix
mm1 <- GeoCovmatrix(coordx = coords, corrmodel = corrmodel,
 param = c(fit0$param, fit0$fixed))$covmatrix
sum(mm - mm1)

################################################################
###
### Example 2. Spatial covariance matrix associated to
### the Generalized Wendland-Matern correlation model
###
###############################################################

# Correlation Parameters for Gen Wendland model
CorrParam("GenWend_Matern")
# Gen Wendland Parameters
param <- list(sill = 1, scale = 0.04, nugget = 0, smooth = 0, power2 = 1/1.5)

matrix2 <- GeoCovmatrix(coordx = coords, corrmodel = "GenWend_Matern",
 param = param, sparse = TRUE)

# Percentage of non-zero values
matrix2$nozero

################################################################
###
### Example 3. Spatial covariance matrix associated to
### the Kummer correlation model
###
###############################################################

# Correlation Parameters for Kummer model
CorrParam("Kummer")
param <- list(sill = 1, scale = 0.2, nugget = 0, smooth = 0.5, power2 = 1)

matrix3 <- GeoCovmatrix(coordx = coords, corrmodel = "Kummer", param = param)

matrix3$covmatrix[1:4, 1:4]

################################################################
###
### Example 4. Covariance matrix associated to
### the space-time double Matern correlation model
###
###############################################################

# Define the temporal coordinates:
times <- seq(1, 4, 1)

# Correlation Parameters for double Matern model
CorrParam("Matern_Matern")

# Define covariance parameters
param <- list(scale_s = 0.3, scale_t = 0.5, sill = 1, smooth_s = 0.5, smooth_t = 0.5)

# Simulation of a spatial Gaussian random field:
matrix4 <- GeoCovmatrix(coordx = coords, coordt = times,
 corrmodel = "Matern_Matern", param = param)

dim(matrix4$covmatrix)

################################################################
###
### Example 5. Spatial covariance matrix associated to
### a skew Gaussian RF with Matern correlation model
###
###############################################################

param <- list(sill = 1, scale = 0.3/3, nugget = 0, skew = 4, smooth = 0.5)
# Simulation of a spatial Gaussian random field:
matrix5 <- GeoCovmatrix(coordx = coords, corrmodel = "Matern", param = param,
 model = "SkewGaussian")

# covariance matrix
matrix5$covmatrix[1:4, 1:4]

################################################################
###
### Example 6. Spatial covariance matrix associated to
### a Weibull RF with GenWend correlation model
###
###############################################################

param <- list(scale = 0.3, nugget = 0, shape = 4, mean = 0, smooth = 1, power2 = 5)
# Simulation of a spatial Gaussian random field:
matrix6 <- GeoCovmatrix(coordx = coords, corrmodel = "GenWend", param = param,
 sparse = TRUE, model = "Weibull")

# Percentage of non-zero values
matrix6$nozero

################################################################
###
### Example 7. Spatial covariance matrix associated to
### a binomial Gaussian RF with Generalized Wendland correlation model
###
###############################################################

param <- list(mean = 0.2, scale = 0.2, nugget = 0, power2 = 4, smooth = 0)
# Simulation of a spatial Gaussian random field:
matrix7 <- GeoCovmatrix(coordx = coords, corrmodel = "GenWend", param = param,
 n = 5, sparse = TRUE, model = "Binomial")

as.matrix(matrix7$covmatrix)[1:4, 1:4]

################################################################
###
### Example 8. Covariance matrix associated to
### a bivariate Matern exponential correlation model
###
###############################################################

set.seed(8)
# Define the spatial coordinates of the points:
x <- runif(4, 0, 1)
y <- runif(4, 0, 1)
coords <- cbind(x, y)

# Parameters
param <- list(mean_1 = 0, mean_2 = 0, sill_1 = 1, sill_2 = 2,
 scale_1 = 0.1, scale_2 = 0.1, scale_12 = 0.1,
 smooth_1 = 0.5, smooth_2 = 0.5, smooth_12 = 0.5,
 nugget_1 = 0, nugget_2 = 0, pcol = -0.25)

# Covariance matrix
matrix8 <- GeoCovmatrix(coordx = coords, corrmodel = "Bi_matern", param = param)$covmatrix

matrix8

GeoModels documentation built on Sept. 23, 2026, 5:07 p.m.