h.bcv computes the biased
cross-validation bandwidth selector of r'th derivative of
kernel density estimator one-dimensional.h.bcv(x, ...)
## S3 method for class 'default':
h.bcv(x, whichbcv = 1, deriv.order = 0, lower = 0.1 * hos, upper = 2 * hos,
tol = 0.1 * lower, kernel = c("gaussian","epanechnikov",
"triweight","tricube","biweight","cosine"), ...)1 = BCV1 or 2 = BCV2, see details.hos (Over-smoothing) is calculated internally
from an kernel, see details.optimize."gaussian".x argument.h.bcv biased cross-validation implements for choosing the bandwidth $h$ of a
r'th derivative kernel density estimator. if whichbcv = 1 then BCV1 is selected
(Scott and George 1987), and if whichbcv = 2 used BCV2 (Jones and Kappenman 1991).
Scott and George (1987) suggest a method which has as its immediate target the AMISE
(e.g. Silverman 1986, section 3.3). We denote $\hat{\theta}_{r}(h)$ and
$\bar{\theta}_{r}(h)$ (Peter and Marron 1987, Jones and Kappenman 1991) by: $$\hat{\theta}_{r}(h)= \frac{(-1)^{r}}{n(n-1)h^{2r+1}} \sum_{i=1}^{n} \sum_{j=1;j \neq i}^{n} K^{(r)} \ast K^{(r)} \left(\frac{X_{j}-X_{i}}{h}\right)$$
and $$\bar{\theta}_{r}(h)= \frac{(-1)^r}{n(n-1) h^{2r+1}} \sum_{i=1}^{n} \sum_{j=1;j \neq i}^{n} K^{(2r)} \left(\frac{X_{j}-X_{i}}{h}\right)$$
Scott and George (1987) proposed using $\hat{\theta}_{r}(h)$ to estimate $f^{(r)}(x)$.
Thus, $\hat{h}^{(r)}_{BCV1}$, say, is the $h$ that minimises:
$$BCV1(h;r)= \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{1}{4} \mu_{2}^{2}(K) h^{4} \hat{\theta}_{r+2}(h)$$
and we define $\hat{h}^{(r)}_{BCV2}$ as the minimiser of (Jones and Kappenman 1991):
$$BCV2(h;r)= \frac{R\left(K^{(r)}\right)}{nh^{2r+1}} + \frac{1}{4} \mu_{2}^{2}(K) h^{4} \bar{\theta}_{r+2}(h)$$
where $K^{(r)} \ast K^{(r)} (x)$ is the convolution of the r'th derivative kernel function $K^{(r)}(x)$
(see kernel.conv and kernel.fun); $R\left(K^{(r)}\right) = \int_{R} K^{(r)}(x)^{2} dx$ and $\mu_{2}(K) = \int_{R}x^{2} K(x) dx$.
The range over which to minimize is hos Oversmoothing bandwidth, the default is almost always
satisfactory. See George and Scott (1985), George (1990), Scott (1992, pp 165), Wand and Jones (1995, pp 61).plot.h.bcv, see bw.bcv in package bcv in package deriv.order = 0,
Hbcv for bivariate data in package deriv.order = 0, kdeb in package deriv.order = 0.## EXAMPLE 1:
x <- rnorm(100)
h.bcv(x,whichbcv = 1, deriv.order = 0)
h.bcv(x,whichbcv = 2, deriv.order = 0)
## EXAMPLE 2:
## Derivative order = 0
h.bcv(kurtotic,deriv.order = 0)
## Derivative order = 1
h.bcv(kurtotic,deriv.order = 1)Run the code above in your browser using DataLab