ic_LCMLE: Compute the log-concave MLE for Interval-censored Data using...

View source: R/iclogcondist_LCMLE.R

ic_LCMLER Documentation

Compute the log-concave MLE for Interval-censored Data using an Active Set Algorithm

Description

This function computes the log-concave MLE of the cumulative distribution function for interval-censored data under log-concavity on the underlying distribution function based on an active set algorithm. The active set algorithm adjusts the knots set based on certain directional derivatives.

Usage

ic_LCMLE(
  X,
  initial = "LCM",
  print = FALSE,
  max_iter = 500,
  tol_conv = 1e-07,
  tol_conv_like = 1e-10,
  tol_K = 1e-05
)

Arguments

X

A matrix with two columns, where each row represents an interval (L, R] for interval-censored data. L and R are the left and right endpoints, with R = Inf indicating right-censoring.

initial

A character string specifying the method of obtaining an initial value ("LCM" or "MLE") for the estimation process. Default is "LCM".

print

Logical. If TRUE, prints the iterative process details. Default is FALSE.

max_iter

An integer specifying the maximum number of iterations for the algorithm. Default is 500.

tol_conv

A numeric tolerance level for convergence based on the directional derivatives. Default is 1e-7.

tol_conv_like

A numeric tolerance level for convergence based on log-likelihood difference. Default is 1e-10.

tol_K

A numeric tolerance for checking if v^T phi is in K (constraint set) in active constraint set A. Default is 1e-5.

Value

A list with the following components:

est

A list containing tau_no_Inf (unique finite tau values), phi_hat (estimate of log F), and F_hat (estimate of F).

knot_info

A list with knot_index (indices of active knots in tau_no_Inf), tau_on_knot (tau values at active knots), F_on_knot (MLE cumulative distribution function values at active knots), and phi_on_knot (logarithmic estimates of F at active knots).

neg_log_likelihood

Vector of negative log-likelihood values for each iteration of the algorithm.

dir_derivs

Vector of directional derivatives for each iteration.

iter_no

Integer representing the total number of iterations.

weight

Vector of weights corresponding to each interval in the data.

X

The original interval-censored data matrix input.

Examples

# Example usage:
data(lgnm)
result <- ic_LCMLE(X = lgnm, initial = "LCM", print = TRUE, max_iter = 500)
print(result$est)

iclogcondist documentation built on April 4, 2025, 5:18 a.m.