fmrs.mle {fmrs} | R Documentation |
Provides MLE for Finite Mixture of Accelerated Failure Time Regression Models or Finite Mixture of Regression Models. It also provides Ridge Regression.
fmrs.mle(y, delta, x, nComp, ...) ## S4 method for signature 'ANY' fmrs.mle( y, delta, x, nComp = 2, disFamily = "lnorm", initCoeff, initDispersion, initmixProp, lambRidge = 0, nIterEM = 400, nIterNR = 2, conveps = 1e-08, convepsEM = 1e-08, convepsNR = 1e-08, porNR = 2, activeset )
y |
Responses (observations) |
delta |
Censoring indicator vector |
x |
Design matrix (covariates) |
nComp |
Order (Number of components) of mixture model |
... |
Other possible options |
disFamily |
A sub-distribution family. The options
are |
initCoeff |
Vector of initial values for regression coefficients including intercepts |
initDispersion |
Vector of initial values for standard deviations |
initmixProp |
Vector of initial values for proportion of components |
lambRidge |
A positive value for tuning parameter in Ridge Regression or Elastic Net |
nIterEM |
Maximum number of iterations for EM algorithm |
nIterNR |
Maximum number of iterations for Newton-Raphson algorithm |
conveps |
A positive value for avoiding NaN in computing divisions |
convepsEM |
A positive value for threshold of convergence in EM algorithm |
convepsNR |
A positive value for threshold of convergence in Newton-Raphson algorithm |
porNR |
A positive integer for maximum number of searches in NR algorithm |
activeset |
A matrix of zero-one that shows which intercepts and covariates are active in the fitted fmrs model |
Finite mixture of AFT regression models are represented as follows. Let X be the survival time with non-negative values, and \boldsymbol{z} =(z_{1}, …, z_{d})^{\top} be a d-dimensional vector of covariates that may have an effect on X. If the survival time is subject to right censoring, then the observed response time is T=\min \{Y, C\}, where Y=\log X, C is logarithm of the censoring time and δ=I_{\{y<c\}} is the censoring indicator. We say that V=(T,δ,\boldsymbol z) follows a finite mixture of AFT regression models of order K if the conditional density of (T,δ) given \boldsymbol z has the form
f(t,δ;\boldsymbol{z},\boldsymbolΨ) =∑\limits_{k=1}^{K}π_{k}[f_Y(t;θ_{k}(\boldsymbol z), σ_{k})]^{δ}[S_Y(t;θ_{k}(\boldsymbol z) ,σ_{k})]^{1-δ}[f_{C}(t)]^{1-δ}[S_{C}(t)]^{δ}
where f_Y(.) and S_Y(.) are respectively the density and survival functions of Y, f_C(.) and S_C(.) are respectively the density and survival functions of C; and {θ}_{k}(\boldsymbol{z})=h(β_{0k}+\boldsymbol{z}^{\top} \boldsymbolβ_{k}) for a known link function h(.), \boldsymbolΨ=(π_{1},…,π_{K},β_{01},…, β_{0K},\boldsymbolβ_{1}, …,\boldsymbolβ_{K},σ_{1}, …,σ_{K})^{\top} with \boldsymbolβ_{k}= (β_{k1},β_{k2},…,β_{kd})^{\top} and 0<π_{k}<1 with ∑_{k=1}^{K}π_{k}=1. The log-likelihood of a sample of size $n$ is formed as
\ell_{n}(\boldsymbolΨ) = ∑\limits_{i=1}^{n}\log∑\limits_{k=1}^{K}π_{k}≤ft[f_Y(t_{i}, θ_{k}({\boldsymbol z}_{i}),σ_{k}) \right]^{δ_{i}} ≤ft[S_Y(t_{i},θ_{k}({\boldsymbol z}_{i}), σ_{k})\right]^{1-δ_{i}}.
Note that we assume the censoring distribution is non-informative and hence won't play any role in the estimation process. We use EM and Newton-Raphson algorithms in our method to find the maximizer of above Log-Likelihood.
An fmrsfit-class
that includes parameter
estimates of the specified FMRs
model
Farhad Shokoohi <shokoohi@icloud.com>
Shokoohi, F., Khalili, A., Asgharian, M. and Lin, S. (2016 submitted) Variable Selection in Mixture of Survival Models for Biomedical Genomic Studies
Other lnorm, norm, weibull:
fmrs.gendata()
,
fmrs.tunsel()
,
fmrs.varsel()
set.seed(1980) nComp = 2 nCov = 10 nObs = 500 dispersion = c(1, 1) mixProp = c(0.4, 0.6) rho = 0.5 coeff1 = c( 2, 2, -1, -2, 1, 2, 0, 0, 0, 0, 0) coeff2 = c(-1, -1, 1, 2, 0, 0, 0, 0, -1, 2, -2) umax = 40 dat <- fmrs.gendata(nObs = nObs, nComp = nComp, nCov = nCov, coeff = c(coeff1, coeff2), dispersion = dispersion, mixProp = mixProp, rho = rho, umax = umax, disFamily = 'lnorm') res.mle <- fmrs.mle(y = dat$y, x = dat$x, delta = dat$delta, nComp = nComp, disFamily = 'lnorm', initCoeff = rnorm(nComp*nCov+nComp), initDispersion = rep(1, nComp), initmixProp = rep(1/nComp, nComp)) summary(res.mle)