lientz function

The empirical Lientz function and the Lientz mode estimator

The empirical Lientz function and the Lientz mode estimator

The Lientz mode estimator is nothing but the value minimizing the empirical Lientz function. A 'plot' and a 'print' methods are provided.

lientz(x, bw = NULL) ## S3 method for class 'lientz' plot(x, zoom = FALSE, ...) ## S3 method for class 'lientz' print(x, digits = NULL, ...) ## S3 method for class 'lientz' mlv(x, bw = NULL, abc = FALSE, par = shorth(x), optim.method = "BFGS", ...)

Arguments

  • x: numeric (vector of observations) or an object of class "lientz".
  • bw: numeric. The smoothing bandwidth to be used. Should belong to (0, 1). Parameter 'beta' in Lientz (1970) function.
  • zoom: logical. If TRUE, one can zoom on the graph created.
  • ...: if abc = FALSE, further arguments to be passed to optim, or further arguments to be passed to plot.
  • digits: numeric. Number of digits to be printed.
  • abc: logical. If FALSE (the default), the Lientz empirical function is minimised using optim.
  • par: numeric. The initial value used in optim.
  • optim.method: character. If abc = FALSE, the method used in optim.

Returns

lientz returns an object of class c("lientz", "function"); this is a function with additional attributes:

  • xthe x argument
  • bwthe bw argument
  • callthe call which produced the result

mlv.lientz returns a numeric value, the mode estimate. If abc = TRUE, the x value minimizing the Lientz empirical function is returned. Otherwise, the optim method is used to perform minimization, and the attributes: 'value', 'counts', 'convergence' and 'message', coming from the optim

method, are added to the result.

Details

The Lientz function is the smallest non-negative quantity S(x,b)S(x,b), where bb = bw, such that

F(x+S(x,β))F(xS(x,β))β.F(x+S(x,b))F(xS(x,b))>=b. F(x+S(x,\beta)) - F(x-S(x,\beta)) \geq \beta.F(x+S(x,b)) - F(x-S(x,b)) >= b.

Lientz (1970) provided a way to estimate S(x,b)S(x,b); this estimate is what we call the empirical Lientz function.

Note

The user may call mlv.lientz through mlv(x, method = "lientz", ...).

Examples

# Unimodal distribution x <- rbeta(1000,23,4) ## True mode betaMode(23, 4) ## Lientz object f <- lientz(x, 0.2) print(f) plot(f) ## Estimate of the mode mlv(f) # optim(shorth(x), fn = f) mlv(f, abc = TRUE) # x[which.min(f(x))] mlv(x, method = "lientz", bw = 0.2) # Bimodal distribution x <- c(rnorm(1000,5,1), rnorm(1500, 22, 3)) f <- lientz(x, 0.1) plot(f)

References

  • Lientz B.P. (1969). On estimating points of local maxima and minima of density functions. Nonparametric Techniques in Statistical Inference (ed. M.L. Puri, Cambridge University Press, p.275-282.
  • Lientz B.P. (1970). Results on nonparametric modal intervals. SIAM J. Appl. Math., 19 :356-366.
  • Lientz B.P. (1972). Properties of modal intervals. SIAM J. Appl. Math., 23 :1-5.

See Also

mlv for general mode estimation; shorth for the shorth estimate of the mode

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