
This function computes the Grenander mode estimator.
grenander(x, bw = NULL, k, p, ...)
numeric. Vector of observations.
numeric. The bandwidth to be used. Should belong to (0, 1].
numeric. Paramater 'k' in Grenander's mode estimate, see below.
numeric. Paramater 'p' in Grenander's mode estimate, see below.
If p = Inf
, the function venter
is used.
Additional arguments to be passed to venter
.
A numeric value is returned, the mode estimate.
If p = Inf
, the venter
mode estimator is returned.
The Grenander estimate is defined by
If venter
if p = Inf
.
The user should either give the bandwidth bw
or the argument k
,
k
being taken equal to ceiling(bw*n) - 1
if missing.
Grenander U. (1965). Some direct estimates of the mode. Ann. Math. Statist., 36:131-138.
Dalenius T. (1965). The Mode - A Negleted Statistical Parameter. J. Royal Statist. Soc. A, 128:110-117.
Adriano K.N., Gentle J.E. and Sposito V.A. (1977). On the asymptotic bias of Grenander's mode estimator. Commun. Statist.-Theor. Meth. A, 6:773-776.
Hall P. (1982). Asymptotic Theory of Grenander's Mode Estimator. Z. Wahrsch. Verw. Gebiete, 60:315-334.
mlv
for general mode estimation;
venter
for the Venter mode estimate.
# NOT RUN {
# Unimodal distribution
x <- rnorm(1000, mean = 23, sd = 0.5)
## True mode
normMode(mean = 23, sd = 0.5) # (!)
## Parameter 'k'
k <- 5
## Many values of parameter 'p'
ps <- seq(0.1, 4, 0.01)
## Estimate of the mode with these parameters
M <- sapply(ps, function(p) grenander(x, p = p, k = k))
## Distribution obtained
plot(density(M), xlim = c(22.5, 23.5))
# }
Run the code above in your browser using DataLab