The basis functions can be normalized so that the
marginal variance of the process at each level and at all locations is
one. A generic function LKrigNormalizeBasis
computes this for
any LatticeKrig model. However, in special cases the normalization can
be accelerated taking advantage of the geometry and the model for the
lattice weights. This alternative is the method LKrigNormalizeBasisFast
.
LKrigNormalizeBasis( LKinfo, Level, PHI, ...)
LKrigNormalizeBasisFast(LKinfo, ...)
# S3 method for default
LKrigNormalizeBasisFast(LKinfo, ...)
# S3 method for LKRectangle
LKrigNormalizeBasisFast(LKinfo, Level, x, ...)
LKRectangleSetupNormalization(mx, a.wght)
A vector of weights. The basis are normalized by dividing by the square root of the weights.
A.wght parameters.
An LKinfo object. NOTE: Here choleskyMemory
, a Spam memory argument, can be a component of LKinfo and is subsequently passed
through to the (spam) sparse cholesky decomposition
The multi-resolution level.
Matrix of lattice sizes.
Unnormalized basis functions evaluated at the locations to find the normalization weights.
Locations to find normalization weights.
Additional arguments for method.
Doug Nychka
Normalization to unit variance is useful for reducing the artifacts of the lattice points and creates a model that is closer to being stationary. The computation must be done for every point evaluated with the basis functions The basic calculation is
tempB <- LKrigSAR(LKinfo, Level = Level)
tempB <- LKrig.spind2spam(tempB)
wght <- LKrig.quadraticform(t(tempB)
choleskyMemory = choleskyMemory)
This generic method uses the low level utility LKrig.quadraticform
that evaluates diag( t(PHI) solve( Q.l) PHI ) where PHI are the basis functions evaluated at the locations and Q.l is the precision matrix for the lattice coefficients at level l.
For constant a.wght and for the rectangular geometry one can use an eigen decomposition of the Kronecker product of the SAR matrix.