EM {ebTobit}R Documentation

Nonparametric Maximum Likelihood via Expectation Maximization

Description

Compute the nonparametric maximum likelihood estimate given a likelihood matrix. The matrix A is structured so that A_{ij} = f(X_i | theta_j) for some grid of potential parameter values theta_1, ..., theta_p and observations X_1, ..., X_n. The parameters, theta_j, can be multidimensional because all that is required is the likelihood. Convergence is achieved when the relative improvements of the log-likelihood is below the provided tolerance level.

Usage

EM(A, maxiter = 10000L, rtol = 1e-06)

Arguments

A

numeric matrix likelihoods

maxiter

early stopping condition

rtol

convergence tolerance: abs(loss_new - loss_old)/abs(loss_old)

Value

the estimated prior distribution (a vector of masses corresponding to the columns of A)

Examples

set.seed(1)
t = sample(c(0,5), size = 100, replace = TRUE)
x = t + stats::rnorm(100)
gr = seq(from = min(x), to = max(x), length.out = 50)
A = stats::dnorm(outer(x, gr, "-"))
EM(A)
## Not run: 
# compare to solution from rmosek (requires additional library installation):
all.equal(
    REBayes::KWPrimal(A = A, d = rep(1, 50), w = rep(1/100, 100))$f,
    EM(A, maxiter = 1e+6, rtol = 1e-16), # EM alg converges slowly
    tolerance = 0.01
)

## End(Not run)

[Package ebTobit version 1.0.2 Index]