lcd.mle (X, weights=rep(1/nrow(X),nrow(X)),
y=initialy(X), 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, Jtol=0.001)lcd.evallcd.evalFunctions of this form are piecewise linear on the convex hull of $X_1, \ldots, X_n$, and of the form $$\min \lbrace \langle b_j, x \rangle - \beta_j \rbrace$$ 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) = -\frac{1}{n} \sum_{i=1}^n y_i + \int \exp(\bar{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
(
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
Kappel, F. and Kuntsevich, A. V. (2000) An implementation of Shor's r-algorithm Computational Optimization and Applications 15(2) p.193-205
N. Z. Shor (1985) Minimization methods for nondifferentiable functions Springer-Verlag
geometry## some simple normal data
set.seed(101)
x <- matrix(rnorm(200), ncol=2)
out <- lcd.mle(x)Run the code above in your browser using DataLab