pmixcox: IRLS-EM algorithm

Description Usage Arguments Value Author(s) References Examples

Description

IRLS-EM algorithm for the optimization of penalized maximum likelihood of finite-mixture Cox PH model using the penalty of LASSO, adaptive LASSO, SCAD or elastic net.

Usage

1
2
3
pmixcox(Time, Delta, X, K = 3, iter.max = 1000, u.init = NULL, 
        tparm = 0, alpha = 1, scad = FALSE, adpcoef = NULL, 
		abstol = 0.01, reltol = 1e-04, seed = 1)

Arguments

Time

observed time

Delta

survival status

X

a data matrix of explanatory variables, where each colomn correponds to one predictor and each row indicates one sample.

K

number of components in the finite-mixture Cox model

iter.max

maximum number of EM iterations

u.init

initial value of U, a data matrix that gives the probability that each sample belongs to each component. Each row corresponds to one sample and each column indicates one component.

tparm

value of tuning parameter for variable selection

alpha

the elastic net mixing parameter

scad

is the SCAD penalty applied?

adpcoef

the adaptive weights in the adaptive LASSO method

abstol

absolute tolerance of EM algorithm

reltol

relative tolerance of EM algorithm

seed

random seed for initialing U if it is not given

Value

a list, where

U

posterior probability matrix

fit

a list with K components, each of which is an object with class glmnet or ncvsurv, output by the last EM iteration

pi

estimate for the mixing probability

class

subtype classification for each sample

ploglik

partial log-likelihood

mixloglik

observed log-likelihood

iter

number of EM iterations

convergence

indicator to show the algorithm converged or not

Author(s)

Shijie Quan, Shun He

References

Subtype classification and heterogeneous prognosis model construction in precision medicine. Na You, Shun He, Xueqin Wang, Junxian Zhu and Heping Zhang

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require(PFMC)
data(example.data)
nopenalty.fit = pmixcox(Time = example.data$time,
  Delta = example.data$status,
  X = example.data[,-1:-2],
  K = 2,
  tparm = 0,
  seed = 1)

adpcoef = lapply(nopenalty.fit$fit, function(x) 1/abs(x))
alasso.cv = calcvcox(Time = example.data$time,
  Delta = example.data$status,
  X = example.data[,-1:-2],
  K = 2,
  nopenaltyresult = nopenalty.fit,
  adpcoef = adpcoef)

tparmchoice = alasso.cv[1,]
alasso.fit = pmixcox(Time = example.data$time,
  Delta = example.data$status,
  X = example.data[,-1:-2],
  K = 2,
  u.init = nopenalty.fit$U,
  tparm = tparmchoice,
  adpcoef = adpcoef)

scrcss/pfmc_pkg documentation built on May 8, 2019, 2:33 a.m.