EM algorithm for Reliability Mixture Models (RMM) with right Censoring
expRMM_EM.RdParametric 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)Arguments
- x
A vector of \(n\) real positive lifetime (possibly censored) durations. If
dis notNULLthen a vector of random censoring timescoccurred, 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, thenlambdais set torep(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
maxititerations (seeepsilonabove).- verb
If TRUE, print updates for every iteration of the algorithm as it runs
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.
See also
Related functions:
plotexpRMM,
summary.mixEM.
Other models and algorithms for censored lifetime data:
weibullRMM_SEM,
spRMM_SEM.
References
Bordes, L., and Chauveau, D. (2016), Stochastic EM algorithms for parametric and semiparametric mixture models for right-censored lifetime data, Computational Statistics, Volume 31, Issue 4, pages 1513-1538. https://link.springer.com/article/10.1007/s00180-016-0661-7
Examples
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)
#> number of iterations = 59
summary(a) # EM estimates etc
#> summary of expRMM_EM object:
#> comp 1 comp 2
#> lambda 0.351555 0.6484450
#> rate 0.969003 0.0857216
#> loglik at estimate: -762.4311
#> 11.33333 % of the data right censored
plotexpRMM(a, lwd=2) # default plot of EM sequences
plot(a, which=2) # or equivalently, S3 method for "mixEM" object