spcov_initial {spmodel} | R Documentation |
Create a spatial covariance parameter initial object
Description
Create a spatial covariance parameter initial object that specifies
initial and/or known values to use while estimating spatial covariance parameters
with splm()
, spglm()
, spautor()
, or spgautor()
.
Usage
spcov_initial(spcov_type, de, ie, range, extra, rotate, scale, known)
Arguments
spcov_type |
The spatial covariance function type. Available options include
|
de |
The spatially dependent (correlated) random error variance. Commonly referred to as a partial sill. |
ie |
The spatially independent (uncorrelated) random error variance. Commonly referred to as a nugget. |
range |
The correlation parameter. |
extra |
An extra covariance parameter used when |
rotate |
Anisotropy rotation parameter (from 0 to |
scale |
Anisotropy scale parameter (from 0 to 1).
Not used if |
known |
A character vector indicating which spatial covariance parameters are to be
assumed known. The value |
Details
The spcov_initial
list is later passed to splm()
, spglm()
, spautor()
, or spgautor()
.
NA
values can be given for ie
, rotate
, and scale
, which lets
these functions find initial values for parameters that are sometimes
otherwise assumed known (e.g., rotate
and scale
with splm()
and spglm()
and ie
with spautor()
and spgautor()
).
The spatial covariance functions can be generally expressed as
de * R + ie * I
, where de
is de
above, R
is a matrix that controls the spatial dependence structure among observations,
h
, ie
is ie
above, and I
is and identity matrix.
Note that de
and ie
must be non-negative while range
must be positive, except when spcov_type
is car
or sar
,
in which case range
must be between the reciprocal of the maximum
eigenvalue of W
and the reciprocal of the minimum eigenvalue of
W
. Parametric forms for R
are given below, where \eta = h / range
:
exponential:
exp(- \eta )
spherical:
(1 - 1.5\eta + 0.5\eta^3) * I(h <= range)
gaussian:
exp(- \eta^2 )
triangular:
(1 - \eta) * I(h <= range)
circular:
(1 - (2 / \pi) * (m * sqrt(1 - m^2) + sin^{-1}(m))) * I(h <= range), m = min(\eta, 1)
cubic:
(1 - 7\eta^2 + 8.75\eta^3 - 3.5\eta^5 + 0.75\eta^7) * I(h <= range)
pentaspherical:
(1 - 1.875\eta + 1.25\eta^3 - 0.375\eta^5) * I(h <= range)
cosine:
cos(\eta)
wave:
sin(\eta) / \eta * I(h > 0) + I(h = 0)
jbessel:
Bj(h * range)
, Bj is Bessel-J functiongravity:
(1 + \eta^2)^{-0.5}
rquad:
(1 + \eta^2)^{-1}
magnetic:
(1 + \eta^2)^{-1.5}
matern:
2^{1 - extra}/ \Gamma(extra) * \alpha^{extra} * Bk(\alpha, extra)
,\alpha = (2extra * \eta)^{0.5}
, Bk is Bessel-K function wit order1/5 \le extra \le 5
cauchy:
(1 + \eta^2)^{-extra}
,extra > 0
pexponential:
exp(h^{extra}/range)
,0 < extra \le 2
car:
(I - range * W)^{-1} * M
, weights matrixW
, symmetry condition matrixM
, observations with no neighbors are given a unique variance parameter calledextra
,extra \ge 0
.sar:
[(I - range * W)(I - range * W)^T]^{-1}
, weights matrixW
,^T
indicates matrix transpose, observations with no neighbors are given a unique variance parameter calledextra
,extra \ge 0
.none:
0
All spatial covariance functions are valid in one spatial dimension. All
spatial covariance functions except triangular
and cosine
are
valid in two dimensions.
When the spatial covariance function is car
or sar
, extra
represents the variance parameter for the observations in W
without
at least one neighbor (other than itself) – these are called unconnected
observations. extra
is only used if there is at least one unconnected
observation.
Value
A list with two elements: initial
and is_known
.
initial
is a named numeric vector indicating the spatial covariance parameters
with specified initial and/or known values. is_known
is a named
numeric vector indicating whether the spatial covariance parameters in
initial
are known or not. The class of the list
matches the value given to the spcov_type
argument.
Examples
# known de value 1 and initial range value 0.4
spcov_initial("exponential", de = 1, range = 0.4, known = c("de"))
# known ie value 0 and known range value 1
spcov_initial("gaussian", ie = 0, range = 1, known = c("given"))
# ie given NA
spcov_initial("car", ie = NA)