Learn R Programming

modeest (version 2.5.0)

parzen: Parzen's Kernel mode estimator

Description

Parzen's kernel mode estimator is the value maximizing the kernel density estimate.

Usage

parzen(
  x,
  bw = NULL,
  kernel = "gaussian",
  abc = FALSE,
  tolerance = .Machine$double.eps^0.25,
  ...
)

Value

parzen returns a numeric value, the mode estimate. If abc = TRUE, the x value maximizing the density estimate is returned. Otherwise, the optim

method is used to perform maximization, and the attributes: 'value', 'counts', 'convergence' and 'message', coming from the optim method, are added to the result.

Arguments

x

numeric. Vector of observations.

bw

numeric. The smoothing bandwidth to be used.

kernel

character. The kernel to be used. For available kernels see densityfun in package statip.

abc

logical. If FALSE (the default), the kernel density estimate is maximised using optim.

tolerance

numeric. Desired accuracy in the optimize function.

...

If abc = FALSE, further arguments to be passed to optim.

Details

If kernel = "uniform", the naive mode estimate is returned.

References

  • Parzen E. (1962). On estimation of a probability density function and mode. Ann. Math. Stat., 33(3):1065--1076.

  • Konakov V.D. (1973). On the asymptotic normality of the mode of multidimensional distributions. Theory Probab. Appl., 18:794-803.

  • Eddy W.F. (1980). Optimum kernel estimators of the mode. Ann. Statist., 8(4):870-882.

  • Eddy W.F. (1982). The Asymptotic Distributions of Kernel Estimators of the Mode. Z. Wahrsch. Verw. Gebiete, 59:279-290.

  • Romano J.P. (1988). On weak convergence and optimality of kernel density estimates of the mode. Ann. Statist., 16(2):629-647.

  • Abraham C., Biau G. and Cadre B. (2003). Simple Estimation of the Mode of a Multivariate Density. Canad. J. Statist., 31(1):23-34.

  • Abraham C., Biau G. and Cadre B. (2004). On the Asymptotic Properties of a Simple Estimate of the Mode. ESAIM Probab. Stat., 8:1-11.

See Also

mlv, naive

Examples

Run this code
# Unimodal distribution
x <- rlnorm(10000, meanlog = 3.4, sdlog = 0.2)

## True mode
lnormMode(meanlog = 3.4, sdlog = 0.2)

## Estimate of the mode
mlv(x, method = "kernel", kernel = "gaussian", bw = 0.3, par = shorth(x))

Run the code above in your browser using DataLab