| lientz {modeest} | R Documentation |
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'
mlv(x,
bw = NULL,
abc = FALSE,
par = shorth(x),
optim.method = "BFGS",
...)
## S3 method for class 'lientz'
plot(x,
zoom = FALSE,
...)
## S3 method for class 'lientz'
print(x,
digits = NULL,
...)
x |
numeric (vector of observations) or an object of class |
bw |
numeric. The smoothing bandwidth to be used. Should belong to (0, 1). Parameter 'beta' in Lientz (1970) function. |
abc |
logical. If |
par |
numeric. The initial value used in |
optim.method |
character. If |
zoom |
logical. If |
digits |
numeric. Number of digits to be printed. |
... |
if |
The Lientz function is the smallest non-negative quantity S(x,b),
where b = bw, such that
F(x+S(x,b)) - F(x-S(x,b)) >= b.
Lientz (1970) provided a way to estimate S(x,b); this estimate is what we call the empirical Lientz function.
lientz returns an object of class c("lientz", "function"); this is a
function with additional attributes:
x |
the |
bw |
the |
call |
the 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.
The user should preferentially call mlv.lientz through
mlv(x, method = "lientz", ...).
This returns an object of class mlv.
P. Poncet
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.
mlv for general mode estimation;
shorth for the shorth estimate of the mode
# 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))] M <- mlv(x, method = "lientz", bw = 0.2) print(M) plot(M) # Bimodal distribution x <- c(rnorm(1000,5,1), rnorm(1500, 22, 3)) f <- lientz(x, 0.1) plot(f)