The function implements a version the propagation separation approach that
uses patches instead of individuel voxels for comparisons in parameter space. Functionality is analog to function aws
. Using patches allows for an improved
handling of locally smooth functions and in 2D and 3D for improved smoothness of
discontinuities at the expense of increased computing time.
paws(y, hmax = NULL, mask=NULL, onestep = FALSE, aws = TRUE, family = "Gaussian",
lkern = "Triangle", aggkern = "Uniform", sigma2 = NULL, shape = NULL,
scorr = 0, spmin = 0.25, ladjust = 1, wghts = NULL, u = NULL,
graph = FALSE, demo = FALSE, patchsize = 1)
returns an object of class aws
with slots
y
dim(y)
numeric(0)
integer(0)
logical(0)
Estimates of regression function, length: length(y)
sequence of bandwidths employed
Mean absolute error for each iteration step if u was specified, numeric(0) else
Peak signal-to-noise ratio for each iteration step if u was specified, numeric(0) else
approx. variance of the estimates of the regression function. Please note that this does not reflect variability due to randomness of weights.
numeric(0)
numeric(0)
numeric(0), ratio of distances wghts[-1]/wghts[1]
0
effective hmax
provided or estimated error variance
scorr
family
shape
integer code for lkern, 1="Plateau", 2="Triangle", 3="Quadratic", 4="Cubic", 5="Gaussian"
effective value of lambda
effective value of ladjust
aws
memory
homogen
FALSE
"Constant"
numeric(0)
the arguments of the call to aws
array y
containing the observe response (image intensity) data.
dim(y)
determines the dimensionality and extend of the grid design.
logical array defining a mask. All computations are restricted to the mask.
hmax
specifies the maximal bandwidth. Defaults to hmax=250, 12, 5
for 1D, 2D, 3D images, respectively.
In case of lkern="Gaussian"
the bandwidth is assumed to be given in full width half maximum (FWHM) units, i.e., 0.42466
times gridsize.
apply the last step only (use for test purposes only)
logical: if TRUE structural adaptation (AWS) is used.
family
specifies the probability distribution. Default is family="Gaussian"
, also implemented
are "Bernoulli", "Poisson", "Exponential", "Volatility", "Variance" and "NCchi". family="Volatility"
specifies a Gaussian distribution with
expectation 0 and unknown variance. family="Volatility"
specifies that p*y/theta
is distributed as \(\chi^2\) with p=shape
degrees of freedom. family="NCchi"
uses a noncentral Chi distribution with p=shape
degrees of freedom and noncentrality parameter theta
character: location kernel, either "Triangle", "Plateau", "Quadratic", "Cubic" or "Gaussian". The default "Triangle" is equivalent to using an Epanechnikov kernel, "Quadratic" and "Cubic" refer to a Bi-weight and Tri-weight kernel, see Fan and Gijbels (1996). "Gaussian" is a truncated (compact support) Gaussian kernel. This is included for comparisons only and should be avoided due to its large computational costs.
character: kernel used in stagewise aggregation, either "Triangle" or "Uniform"
sigma2
allows to specify the variance in case of family="Gaussian"
. Not used if family!="Gaussian"
.
Defaults to NULL
. In this case a homoskedastic variance estimate is generated. If length(sigma2)==length(y)
then sigma2
is assumed to contain the pointwise variance of y
and a heteroscedastic variance model is used.
Allows to specify an additional shape parameter for certain family models. Currently only used for family="Variance", that is \(\chi\)-Square distributed observations
with shape
degrees of freedom.
The vector scorr
allows to specify a first order correlations of the noise for each coordinate direction,
defaults to 0 (no correlation).
Determines the form (size of the plateau) in the adaptation kernel. Not to be changed by the user.
factor to increase the default value of lambda
wghts
specifies the diagonal elements of a weight matrix to adjust for different distances between grid-points
in different coordinate directions, i.e. allows to define a more appropriate metric in the design space.
a "true" value of the regression function, may be provided to
report risks at each iteration. This can be used to test the propagation condition with u=0
If graph=TRUE
intermediate results are illustrated after each iteration step. Defaults to graph=FALSE
.
If demo=TRUE
the function pauses after each iteration. Defaults to demo=FALSE
.
positive integer defining the size of patches. Number of grid points within the patch is (2*patchsize+1)^d
with d
denoting the dimensionality of the design.
Joerg Polzehl, polzehl@wias-berlin.de, https://www.wias-berlin.de/people/polzehl/
see aws. The procedure is supposed to produce superior results if the assumption of a local constant image is violated or if smooothness of discontinuities is desired.
J. Polzehl, K. Tabelow (2019). Magnetic Resonance Brain Imaging: Modeling and Data Analysis Using R. Springer, Use R! series. Appendix A. Doi:10.1007/978-3-030-29184-6.
J. Polzehl, K. Papafitsoros, K. Tabelow (2020). Patch-Wise Adaptive Weights Smoothing in R, Journal of Statistical Software, 95(6), 1-27. doi:10.18637/jss.v095.i06 .
See also aws
, lpaws
, vpaws
,link{awsdata}
if (FALSE) {
setCores(2)
y <- array(rnorm(64^3),c(64,64,64))
yhat <- paws(y,hmax=6)
}
Run the code above in your browser using DataLab