h.tcv: Trimmed Cross-Validation for Bandwidth Selection

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

The (S3) generic function h.tcv computes the trimmed cross-validation bandwidth selector of r'th derivative of kernel density estimator one-dimensional.

Usage

1
2
3
4
5
h.tcv(x, ...)
## Default S3 method:
h.tcv(x, deriv.order = 0, lower = 0.1 * hos, upper = 2 * hos, 
         tol = 0.1 * lower, kernel = c("gaussian", "epanechnikov", "uniform", 
         "triangular", "triweight", "tricube", "biweight", "cosine"), ...)

Arguments

x

vector of data values.

deriv.order

derivative order (scalar).

lower, upper

range over which to minimize. The default is almost always satisfactory. hos (Over-smoothing) is calculated internally from an kernel, see details.

tol

the convergence tolerance for optimize.

kernel

a character string giving the smoothing kernel to be used, with default "gaussian".

...

further arguments for (non-default) methods.

Details

h.tcv trimmed cross-validation implements for choosing the bandwidth h of a r'th derivative kernel density estimator.

Feluch and Koronacki (1992) proposed a so-called trimmed cross-validation (TCV) in kernel density estimator, a simple modification of the unbiased (least-squares) cross-validation criterion. We consider the following "trimmed" version of "unbiased", to be minimized with respect to h:

int (hat(f)(x;r))^2 - 2 (-1)^r / n (n-1)h^(2r+1) sum(sum(K(x(j)-x(i)/h;2r)),i=1...n,j=1...n, j!=i) chi(|X(i)-X(j)| > c(n))

where chi(.) denotes the indicator function and c(n) is a sequence of positive constants, c(n)/h^(2r+1) --> 0 as n --> Inf, and

int (hat(f)(x;r))^2 dx = R(k(x;r))/n h^(2r+1) + (-1)^r / n (n-1) h^(2r+1) sum(sum(K(.;r)*K(.;r)(x(j)-x(i)/h)), i=1...n, j=1...n, j != i)

the trimmed cross-validation function is defined by:

TCV(h;r) = R(K(x;r))/ n h^(2r+1) + (-1)^r / n (n-1) h^(2r+1) sum( sum(varphi(x(j)-x(i)/h;r) ),i=1...n,j=1...n,j != i)

whit

varphi(c;r)= K(c;r)*K(c;r) - 2 K(c;2r) chi( |c| > c(n)/h^(2r+1) )

here we take c(n) = 1/n, for assure the convergence. Where K(x;r)*K(x;r) is the convolution of the r'th derivative kernel function K(x;r) (see kernel.conv and kernel.fun).

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).

Value

x

data points - same as input.

data.name

the deparsed name of the x argument.

n

the sample size after elimination of missing values.

kernel

name of kernel to use

deriv.order

the derivative order to use.

h

value of bandwidth parameter.

min.tcv

the minimal TCV value.

Author(s)

Arsalane Chouaib Guidoum acguidoum@usthb.dz

References

Feluch, W. and Koronacki, J. (1992). A note on modified cross-validation in density estimation. Computational Statistics and Data Analysis, 13, 143–151.

See Also

plot.h.tcv.

Examples

1
2
3
4
5
6
7
## Derivative order = 0

h.tcv(kurtotic,deriv.order = 0)

## Derivative order = 1

h.tcv(kurtotic,deriv.order = 1)

Example output

Call:		Trimmed Cross-Validation

Derivative order = 0
Data: kurtotic (200 obs.);	Kernel: gaussian
Min TCV = -0.4968653;	Bandwidth 'h' = 0.08283


Call:		Trimmed Cross-Validation

Derivative order = 1
Data: kurtotic (200 obs.);	Kernel: gaussian
Min TCV = -0.5349858;	Bandwidth 'h' = 0.4023737

kedd documentation built on May 2, 2019, 7:32 a.m.