lientz {modeest}R Documentation

Empirical Lientz Function and Lientz Mode Estimator

Description

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

Usage

lientz(x, 
       bw = NULL)

## S3 method for class 'lientz':
mlv(x, 
       bw = NULL, 
       biau = 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, 
     ...)

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.
biau 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 biau = FALSE, the method used in optim.
zoom logical. If TRUE, one can zoom on the graph created.
digits numeric. Number of digits to be printed.
... if biau = FALSE, further arguments to be passed to optim, or further arguments to be passed to plot.default.

Details

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.

Value

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

x the x argument
bw the bw argument
call the call which produced the result


mlv.lientz returns a numeric value, the mode estimate. If biau = TRUE, the x value minimizing 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.

Note

The user should preferentially call mlv.lientz through mlv(x, method = "lientz", ...). This returns an object of class mlv.

Author(s)

Paul Poncet paulponcet@yahoo.fr

References

See Also

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

Examples

# Unimodal distribution
x <- rbeta(1000,23,4)
## True mode
betaMode(23, 4)
## Lientz object
f <- lientz(x, 0.2)
print(f)
plot(f, zoom = FALSE)
## Estimate of the mode
mlv(f)              # optim(mlv.shorth(x), fn = f)
mlv(f, biau = 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)

[Package modeest version 1.06 Index]