MinLambda {mrbsizeR} | R Documentation |
Numerical optimization for finding appropriate smoothing levels.
Description
Numerical optimization of an objective function G
is carried out to find
appropriate signal-dependent smoothing levels (\lambda
's). This is easier
than visual inspection via the signal-dependent tapering function in TaperingPlot
.
Usage
MinLambda(Xmu, mm, nn, nGrid, nLambda = 2, lambda, sphere = FALSE)
Arguments
Xmu |
Posterior mean of the input object as a vector. |
mm |
Number of rows of the original input object. |
nn |
Number of columns of the original input object. |
nGrid |
Size of grid where objective function is evaluated (nGrid-by-nGrid).
This argument is ignorded if a sequence |
nLambda |
Number of lambdas to minimize over. Possible arguments: 2 (default) or 3. |
lambda |
|
sphere |
|
Details
As signal-dependent tapering functions are quiet irregular, it is hard to find appropriate smoothing values only by visual inspection of the tapering function plot. A more formal approach is the numerical optimization of an objective function.
Optimization can be carried out with 2 or 3 smoothing parameters. As the
smoothing parameters 0 and \infty
are always added, this results
in a mrbsizeR analysis with 4 or 5 smoothing parameters.
Sometimes, not all features of the input object can be extracted using the
smoothing levels proposed by MinLambda
. It might then be necessary to
include additional smoothing levels.
plot.minLambda
creates a plot of the objective function G
on a grid. The minimum is indicated with a white point. The minimum values of
the \lambda
's can be extracted from the output of MinLambda
,
see examples.
Value
A list with 3 objects:
G
Value of objective function G
.
lambda
Evaluated smoothing parameters \lambda
.
minind
Index of minimal \lambda
's. lambda
[minind
]
gives the minimal values.
Examples
# Artificial sample data
set.seed(987)
sampleData <- matrix(stats::rnorm(100), nrow = 10)
sampleData[4:6, 6:8] <- sampleData[4:6, 6:8] + 5
# Minimization of two lambdas on a 20-by-20-grid
minlamOut <- MinLambda(Xmu = c(sampleData), mm = 10, nn = 10,
nGrid = 20, nLambda = 2)
# Minimal lambda values
minlamOut$lambda[minlamOut$minind]