lcd.mle {LogConcDEAD} | R Documentation |
This function uses Shor's r-algorithm to compute the maximum likelihood estimator of a log-concave density based on an i.i.d. sample. The estimator is determined by its value at data points.
lcd.mle (X, initial=NULL, verbose=-1, alpha=5, c=1, sigmatol=10^-8, integraltol=10^-4, ytol=10^-4, stepscale=5.1, stepscale2=2, stepscale3=1.5, stepscale4=1.05, desiredsize=3.3)
X |
Data in R^d, in the form of an n x d numeric matrix | ||||||
initial |
Starting point for the r-algorithm. If NULL (the
default), a kernel estimate is used. | ||||||
verbose |
| ||||||
alpha |
Scaling parameter for SolvOpt | ||||||
c |
Starting step size | ||||||
sigmatol |
Stopping criterion: relative change in sigma (see Details for details) | ||||||
ytol |
Stopping criterion: relative change in y (see Details for details) | ||||||
integraltol |
Stopping criterion: difference from 1 of integral of exp(h_y) (see Details for details) | ||||||
stepscale,stepscale2,stepscale3,stepscale4 |
Parameters for SolvOpt | ||||||
desiredsize |
Another parameter for SolvOpt (changing this is not recommended) |
The MLE of a log-concave density is of the form
h y(x) = inf{h(x): h concave, h(Xi) >= yi for i = 1, ..., n}
for some y in R^n.
Functions of this form are piecewise linear on the convex hull of X1, ..., Xn, and of the form
min {<b_j, x> - beta_j}
for some vectors b_j and constants beta_j.
This function uses Shor's r-algorithm (an iterative subgradient-based procedure) to minimise over vectors y in R^n the function
sigma(y) = -1/n (y_1 + ... + y_n) + int (h_y(x)) dx.
This is equivalent to finding the MLE.
An implementation of Shor's r-algorithm based on SolvOpt is used.
Computing sigma makes use of the qhull (http:\www.qhull.org) library, adapted from the R implementation in geometry.
x |
Data (reordered) |
logMLE |
Vector of the log of the MLE at the observation points |
NumberOfEvaluations |
Number of steps, number of function evaluations, number of subgradient evaluations. If the SolvOpt algorithm fails, the first component will be an error message. |
MinSigma |
Minimum value of the objective function |
b |
see Details |
beta |
see Details |
chull |
Vector containing final triangulation of convex hull of data |
verts |
Details of triangulation for use in lcd.eval |
vertsoffset |
Details of triangulation for use in lcd.eval |
Madeleine Cule mlc40@cam.ac.uk
Robert B. Gramacy
Richard Samworth
Cule, M. L., Samworth, R. J., and Stewart, M. I. (2007) Computing the nonparametric maximum likelihood estimator of a log-concave density In preparation
Barber, C.B., Dobkin, D.P., and Huhdanpaa, H.T. (1996) The Quickhull algorithm for convex hulls ACM Trans. on Mathematical Software, 22(4) p.469-483 http://www.qhull.org
Kappel, F. and Kuntsevich, A. V. (2000) An implementation of Shor's r-algorithm Computational Optimization and Applications 15(2) p.193-205
http://www.uni-graz.at/imawww/kuntsevich/solvopt/
N. Z. Shor (1985) Minimization methods for nondifferentiable functions Springer-Verlag
## some simple normal data x <- matrix(rnorm(200), ncol=2) out <- lcd.mle(x) g <- lcd.interp(out) par(mfrow=c(2,2)) plot(out, g=g, itype="c", main="Density") plot(out, g=g, itype="c", uselog=TRUE, main="LogDensity") plot(out, g=g, itype="i", main="Density") plot(out, g=g, itype="i", uselog=TRUE, main="LogDensity")