Plug-in bandwidth selector
Hpi.RdPlug-in bandwidth for for 1- to 6-dimensional data.
Usage
Hpi(x, nstage=2, pilot, pre="sphere", Hstart, binned, bgridsize,
amise=FALSE, deriv.order=0, verbose=FALSE, optim.fun="optim")
Hpi.diag(x, nstage=2, pilot, pre="scale", Hstart, binned, bgridsize,
amise=FALSE, deriv.order=0, verbose=FALSE, optim.fun="optim")
hpi(x, nstage=2, binned=TRUE, bgridsize, deriv.order=0)Arguments
- x
vector or matrix of data values
- nstage
number of stages in the plug-in bandwidth selector (1 or 2)
- pilot
"amse" = AMSE pilot bandwidths
"samse" = single SAMSE pilot bandwidth
"unconstr" = single unconstrained pilot bandwidth
"dscalar" = single pilot bandwidth for deriv.order >= 0
"dunconstr" = single unconstrained pilot bandwidth for deriv.order >= 0- pre
"scale" =
pre.scale, "sphere" =pre.sphere- Hstart
initial bandwidth matrix, used in numerical optimisation
- binned
flag for binned kernel estimation
- bgridsize
vector of binning grid sizes
- amise
flag to return the minimal scaled PI value
- deriv.order
derivative order
- verbose
flag to print out progress information. Default is FALSE.
- optim.fun
optimiser function: one of
nlmoroptim
Details
hpi(deriv.order=0) is the univariate plug-in
selector of Wand & Jones (1994), i.e. it is exactly the same as
KernSmooth::dpik. For deriv.order>0, the formula is
taken from Wand & Jones (1995). Hpi is a multivariate
generalisation of this. Use Hpi for unconstrained bandwidth matrices and
Hpi.diag for diagonal bandwidth matrices.
The default pilot is "samse" for d=2, r=0, and
"dscalar" otherwise.
For AMSE pilot bandwidths, see Wand & Jones (1994). For
SAMSE pilot bandwidths, see Duong & Hazelton (2003). The latter is a
modification of the former, in order to remove any possible problems
with non-positive definiteness. Unconstrained and higher order
derivative pilot bandwidths are from Chacon & Duong (2010).
For d=1, 2, 3, 4 and binned=TRUE,
estimates are computed over a binning grid defined
by bgridsize. Otherwise it's computed exactly.
If Hstart is not given then it defaults to Hns(x).
For ks \(\geq\) 1.11.1, the default optimisation function is
optim.fun="optim". To reinstate the previous functionality, use
optim.fun="nlm".
References
Chacon, J.E. & Duong, T. (2010) Multivariate plug-in bandwidth selection with unconstrained pilot matrices. Test 19, 375–398.
Duong, T. & Hazelton, M.L. (2003) Plug-in bandwidth matrices for bivariate kernel density estimation. Journal of Nonparametric Statistics 15, 17–30.
Sheather, S.J. & Jones, M.C. (1991) A reliable data-based bandwidth selection method for kernel density estimation. Journal of the Royal Statistical Society Series B 53, 683–690.
Wand, M.P. & Jones, M.C. (1994) Multivariate plug-in bandwidth selection. Computational Statistics 9, 97–116.
Examples
data(unicef)
Hpi(unicef, pilot="dscalar")
#> [,1] [,2]
#> [1,] 430.7196 -55.0075
#> [2,] -55.0075 10.1603
hpi(unicef[,1])
#> [1] 33.11583