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.