View source: R/LKrigNormalizeBasis.R
LKrigNormalizeBasis | R Documentation |
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. LKrigNormalizeBasisFast
takes advantage of rectangular geometry and a constant a.wght
, and further decomposes the SAR matrix using Kronecker products. This method calculates the exact marginal variance while providing an increase in computational efficiency. The LKrigNormalizeBasisFFTInterpolate
method is the fastest, yet it provides an approximate marginal variance, and can only be used when there are significantly less basis functions than locations.
LKrigNormalizeBasis(
LKinfo, Level, PHI = NULL, x1 = NULL, gridList = NULL, ...)
LKrigNormalizeBasisFast(LKinfo, ...)
LKrigNormalizeBasisFFTInterpolate(LKinfo, Level, x1)
## Default S3 method:
LKrigNormalizeBasisFast(LKinfo, ...)
## S3 method for class 'LKRectangle'
LKrigNormalizeBasisFast(LKinfo, Level, x1, ...)
LKRectangleSetupNormalization(mx, a.wght)
a.wght |
A.wght parameters. |
gridList |
If not NULL this is a gridList object that will be expanded to give a grid of locations and used for |
LKinfo |
An LKinfo object. NOTE: Here |
Level |
The multi-resolution level. |
mx |
Matrix of lattice sizes. |
PHI |
Unnormalized basis functions evaluated at the locations to find the normalization weights. |
x1 |
Locations to find normalization weights. If NULL then locations obtained from |
... |
Additional arguments for method. |
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. This allows for a faster way of calculating the exact marginal variance.
In cases where (2 * NC - 1) < s, where NC is the selected number of basis functions and s is the larger side of a 2-dimensional dataset, an approximate marginal variance with extremely high accuracy (average error 0.001%, maximum error ~2%) can be calculated. This is done by first calculating the marginal variance on a coarser grid, then performing 2-dimensional Fourier Interpolation to upsample to all locations of the dataset.
A vector of weights. The basis are normalized by dividing by the square root of the weights.
Doug Nychka
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.