meanshift function

The Meanshift mode estimator

The Meanshift mode estimator

The Meanshift mode estimator.

meanshift( x, bw = NULL, kernel = "gaussian", par = shorth(x), iter = 1000, tolerance = sqrt(.Machine$double.eps) )

Arguments

  • x: numeric. Vector of observations.
  • bw: numeric. The smoothing bandwidth to be used.
  • kernel: character. The kernel to be used. Available kernels are "biweight", "cosine", "eddy", "epanechnikov", "gaussian", "optcosine", "rectangular", "triangular", "uniform". See density for more details on some of these kernels.
  • par: numeric. The initial value used in the meanshift algorithm.
  • iter: numeric. Maximal number of iterations.
  • tolerance: numeric. Stopping criteria.

Returns

meanshift returns a numeric value, the mode estimate, with an attribute "iterations". The number of iterations can be less than iter

if the stopping criteria specified by eps is reached.

Note

The user should preferentially call meanshift through mlv(x, method = "meanshift", ...).

Examples

# Unimodal distribution x <- rweibull(100, shape = 12, scale = 0.8) ## True mode weibullMode(shape = 12, scale = 0.8) ## Estimate of the mode mlv(x, method = "meanshift", par = mean(x))

References

  • Fukunaga, K. and Hostetler, L. (1975). The estimation of the gradient of a density function, with applications in pattern recognition. IEEE Transactions on Information Theory, 21 (1):32--40.

See Also

mlv, tsybakov.

  • Maintainer: Paul Poncet
  • License: GPL-3
  • Last published: 2019-11-18