The (S3) generic function h.mlcv
computes the maximum
likelihood cross-validation (Kullback-Leibler information)
bandwidth selector of a one-dimensional kernel density estimate.
h.mlcv(x, ...)
# S3 method for default
h.mlcv(x, lower = 0.1, upper = 5, tol = 0.1 * lower,
kernel = c("gaussian", "epanechnikov", "uniform", "triangular",
"triweight", "tricube", "biweight", "cosine"), ...)
data points - same as input.
the deparsed name of the x
argument.
the sample size after elimination of missing values.
name of kernel to use
value of bandwidth parameter.
the maximal likelihood CV value.
vector of data values.
range over which to maximize. The default is almost always satisfactory.
the convergence tolerance for optimize
.
a character string giving the smoothing kernel to be used, with default
"gaussian"
.
further arguments for (non-default) methods.
Arsalane Chouaib Guidoum acguidoum@usthb.dz
h.mlcv
maximum-likelihood cross-validation implements for choosing
the optimal bandwidth \(h\) of kernel density estimator.
This method was proposed by Habbema, Hermans, and Van den Broeck (1971) and by Duin (1976). The maximum-likelihood cross-validation (MLCV) function is defined by: $$MLCV(h) = n^{-1} \sum_{i=1}^{n} \log\left[\hat{f}_{h,i}(x)\right]$$ the estimate \(\hat{f}_{h,i}(x)\) on the subset \(\{X_{j}\}_{j \neq i}\) denoting the leave-one-out estimator, can be written: $$\hat{f}_{h,i}(X_{i}) = \frac{1}{(n-1) h} \sum_{j \neq i} K \left(\frac{X_{j}-X_{i}}{h}\right)$$ Define that \(h_{mlcv}\) as good which approaches the finite maximum of \(MLCV(h)\): $$h_{mlcv} = \arg \max_{h} MLCV(h) = \arg \max_{h} \left(n^{-1} \sum_{i=1}^{n} \log\left[\sum_{j \neq i} K \left(\frac{X_{j}-X_{i}}{h}\right)\right]-\log[(n-1)h]\right)$$
Habbema, J. D. F., Hermans, J., and Van den Broek, K. (1974) A stepwise discrimination analysis program using density estimation. Compstat 1974: Proceedings in Computational Statistics. Physica Verlag, Vienna.
Duin, R. P. W. (1976). On the choice of smoothing parameters of Parzen estimators of probability density functions. IEEE Transactions on Computers, C-25, 1175--1179.
plot.h.mlcv
, see lcv
in package locfit.
h.mlcv(bimodal)
h.mlcv(bimodal, kernel ="epanechnikov")
Run the code above in your browser using DataLab