R: The Grenander Mode Estimator

grenander {modeest} | R Documentation

## The Grenander Mode Estimator

### Description

This function computes the Grenander mode estimator.

### Usage

      grenander(x,
                bw = NULL,
                k,
                p,
                ...)

### Arguments

`x` | numeric. Vector of observations.
`bw` | numeric. The bandwidth to be used. Should belong to (0, 1].
`k` | numeric. Paramater 'k' in Grenander's mode estimate.
`p` | numeric. Paramater 'p' in Grenander's mode estimate. If `p = Inf`, function `venter` is used.
`...` | further arguments to be passed to `link{venter}`

### Details

The Grenander estimate is defined by

( sum_{j=1}^{n-k} (x_{j+k} + x_{j})/(2(x_{j+k} - x_{j})^p) ) / ( sum_{j=1}^{n-k} 1/((x_{j+k} - x_{j})^p) )

If p tends to infinity, this estimate tends to the Venter mode estimate; this justifies to call `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.

### Value

A numeric value is returned, the mode estimate. If `p = Inf`, the `Venter` mode estimator is returned.

### Note

The user should preferentially call `grenander` through `mlv(x, method = "grenander", bw, k, p, ...)`. This returns an object of class `mlv`.

### Author(s)

D.R. Bickel for the original code,
P. Poncet for the slight modifications introduced.

### References

- 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.

### See Also

`mlv` for general mode estimation; `venter` for the Venter mode estimate

### Examples

    # 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'
    p <- seq(0.1, 4, 0.01)

    ## Estimate of the mode with these parameters
    M <- sapply(p, function(pp) grenander(x, p = pp, k = k))

    ## Distribution obtained
    plot(density(M), xlim = c(22.5, 23.5))

[Package modeest version 2.1 Index]