Last data update: 2014.03.03

R: Function to Fit the Penalized Parametric Bayesian Accelerated...
aftGLR Documentation

Function to Fit the Penalized Parametric Bayesian Accelerated Failure Time Model with Group Lasso Prior

Description

Penalized parametric Bayesian accelerated failure time model with group lasso prior is implemented to analyze survival data with high-dimensional covariates.

Usage

aftGL(survData, grpInx, hyperParams, startValues, numReps, thin, burninPerc = 0.5)

Arguments

survData

a data.frame containing the time-to-event outcome, the censoring indicator, p covariate vectors from n subjects. It is of dimension n\times (p+2).

grpInx

a vector of p group indicator for each variable

hyperParams

a numeric vector containing hyperparameter values in hierarchical models: c(nu0, sigSq0, alpha0, h0, rLam, deltaLam). (nu0, sigSq0): hyperparameters for the prior of σ^2; (alpha0, h0): hyperparameters for the prior of α; (rLam, deltaLam): hyperparameters for the prior of λ^2.

startValues

a numeric vector containing starting values for model parameters: c(alpha, beta, sigSq, tauSq, lambdaSq, w). See Examples below.

numReps

total number of scans

thin

extent of thinning

burninPerc

the proportion of burn-in

Value

aftGL returns an object of class aftGL.

Author(s)

Kyu Ha Lee, Sounak Chakraborty, (Tony) Jianguo Sun

References

Lee, K. H. (2011). Bayesian Variable Selection in Parametric and Semiparametric High-Dimensional Survival Analysis. Ph.D. thesis, University of Missouri–Columbia.

Lee, K. H., Chakraborty, S., and Sun, J. Variable Selection for High-Dimensional Genomic Data with Censored Outcomes Using Group Lasso Prior. submitted.

Examples


# generate some survival data	
	set.seed(204542)
	
	p = 20
	n = 100
	logHR.true <- c(rep(4, 10), rep(0, (p-10)))	

	CovX<-matrix(0,p,p)

	for(i in 1:10){
		for(j in 1:10){
			CovX[i,j] <- 0.5^abs(i-j)
			}
		}
		
	diag(CovX) <- 1
	
	x	<- apply(rmvnorm(n, sigma=CovX, method="chol"), 2, scale)	
	pred <- as.vector(exp(rowSums(scale(x, center = FALSE, scale = 1/logHR.true))))
	
	t 		<- rexp(n, rate = pred)
	cen		<- runif(n, 0, 8)      
	tcen 		<- pmin(t, cen)
	di 		<- as.numeric(t <= cen)
	
	n <- dim(x)[1]
	p <- dim(x)[2]

	survData <- data.frame(cbind(tcen, di, x))
	colnames(survData)[c(1:2)] <- c("time", "event")

	grpInx <- 1:p
	K <- length(unique(grpInx))
	
	############################
	nu0 <- 3
	sigSq0 <- 1

	alpha0 <- 0
	h0 <- 10^6

	rLam <- 0.5
	deltaLam <- 2

	hyperParams <- c(nu0, sigSq0, alpha0, h0, rLam, deltaLam)

	############################
	alpha <- 0.1
	beta <- rep(0.1, p)
	sigSq <- 1
	tauSq <- rep(0.4, p)
	lambdaSq <- 5
	w	<- log(tcen)

	startValues <- as.vector(c(alpha, beta, sigSq, tauSq, lambdaSq, w))

	############################
	numReps	<- 1000
	thin	<- 1
	burninPerc = 0.5

	fit <- aftGL(survData, grpInx, hyperParams, startValues, numReps, thin, burninPerc)

Results