Learn R Programming

mixtools (version 2.0.0)

expRMM_EM: EM algorithm for Reliability Mixture Models (RMM) with right Censoring

Description

Parametric EM algorithm for univariate finite mixture of exponentials distributions with randomly right censored data.

Usage

expRMM_EM(x, d=NULL, lambda = NULL, rate = NULL, k = 2, 
		    complete = "tdz", epsilon = 1e-08, maxit = 1000, verb = FALSE)

Value

expRMM_EM returns a list of class "mixEM" with the following items:

x

The input data.

d

The input censoring indicator.

lambda

The estimates for the mixing proportions.

rate

The estimates for the component rates.

loglik

The log-likelihood value at convergence of the algorithm.

posterior

An \(n\times k\) matrix of posterior probabilities for observation, after convergence of the algorithm.

all.loglik

The sequence of log-likelihoods over iterations.

all.lambda

The sequence of mixing proportions over iterations.

all.rate

The sequence of component rates over iterations.

ft

A character vector giving the name of the function.

Arguments

x

A vector of \(n\) real positive lifetime (possibly censored) durations. If d is not NULL then a vector of random censoring times c occurred, so that \(x= min(x,c)\) and \(d = I(x <= c)\).

d

The vector of censoring indication, where 1 means observed lifetime data, and 0 means censored lifetime data.

lambda

Initial value of mixing proportions. If NULL, then lambda is set to rep(1/k,k).

rate

Initial value of component exponential rates, all set to 1 if NULL.

k

Number of components of the mixture.

complete

Nature of complete data involved within the EM machinery, can be "tdz" for (t,d,z) (the default), or "xz" for (x,z) (see Bordes L. and Chauveau D. (2016) reference below).

epsilon

Tolerance limit for declaring algorithm convergence based on the change between two consecutive iterations.

maxit

The maximum number of iterations allowed, convergence may be declared before maxit iterations (see epsilon above).

verb

If TRUE, print updates for every iteration of the algorithm as it runs

Author

Didier Chauveau

References

See Also

Related functions: plotexpRMM, summary.mixEM.

Other models and algorithms for censored lifetime data: weibullRMM_SEM, spRMM_SEM.

Examples

Run this code
n <- 300 # sample size
m <- 2   # number of mixture components
lambda <- c(1/3,1-1/3); rate <- c(1,1/10) # mixture parameters
set.seed(1234)
x <- rexpmix(n, lambda, rate) # iid ~ exponential mixture
cs <- runif(n,0,max(x)) # Censoring (uniform) and incomplete data
t <- apply(cbind(x,cs),1,min) # observed or censored data
d <- 1*(x <= cs)              # censoring indicator

###### EM for RMM, exponential lifetimes
l0 <- rep(1/m,m); r0 <- c(1, 0.5) # "arbitrary" initial values
a <- expRMM_EM(t, d, lambda = l0, rate = r0, k = m)
summary(a)                 # EM estimates etc
plotexpRMM(a, lwd=2) # default plot of EM sequences
plot(a, which=2) # or equivalently, S3 method for "mixEM" object


Run the code above in your browser using DataLab