# NOT RUN {
# }
# NOT RUN {
# loading a data set
data(survData)
id=survData$cluster
form <- Formula(time + event ~ cov1 + cov2)
#####################
## Hyperparameters ##
#####################
## Weibull baseline hazard function: alpha1, kappa1
##
WB.ab <- c(0.5, 0.01) # prior parameters for alpha
##
WB.cd <- c(0.5, 0.05) # prior parameters for kappa
## PEM baseline hazard function:
##
PEM.ab <- c(0.7, 0.7) # prior parameters for 1/sigma^2
##
PEM.alpha <- 10 # prior parameters for K
## Normal cluster-specific random effects
##
Normal.ab <- c(0.5, 0.01) # prior for zeta
## DPM cluster-specific random effects
##
DPM.ab <- c(0.5, 0.01)
aTau <- 1.5
bTau <- 0.0125
##
hyperParams <- list(WB=list(WB.ab=WB.ab, WB.cd=WB.cd),
PEM=list(PEM.ab=PEM.ab, PEM.alpha=PEM.alpha),
Normal=list(Normal.ab=Normal.ab),
DPM=list(DPM.ab=DPM.ab, aTau=aTau, bTau=bTau))
###################
## MCMC SETTINGS ##
###################
## Setting for the overall run
##
numReps <- 2000
thin <- 10
burninPerc <- 0.5
## Settings for storage
##
storeV <- TRUE
## Tuning parameters for specific updates
##
## - those common to all models
mhProp_V_var <- 0.05
##
## - those specific to the Weibull specification of the baseline hazard functions
mhProp_alpha_var <- 0.01
##
## - those specific to the PEM specification of the baseline hazard functions
C <- 0.2
delPert <- 0.5
rj.scheme <- 1
K_max <- 50
s_max <- max(survData$time[survData$event == 1])
time_lambda <- seq(1, s_max, 1)
##
mcmc.WB <- list(run=list(numReps=numReps, thin=thin, burninPerc=burninPerc),
storage=list(storeV=storeV),
tuning=list(mhProp_alpha_var=mhProp_alpha_var, mhProp_V_var=mhProp_V_var))
##
mcmc.PEM <- list(run=list(numReps=numReps, thin=thin, burninPerc=burninPerc),
storage=list(storeV=storeV),
tuning=list(mhProp_V_var=mhProp_V_var, C=C, delPert=delPert,
rj.scheme=rj.scheme, K_max=K_max, time_lambda=time_lambda))
################################################################
## Analysis of Independent Univariate Survival Data ############
################################################################
#############
## WEIBULL ##
#############
##
myModel <- "Weibull"
myPath <- "Output/01-Results-WB/"
startValues <- initiate.startValues_HReg(form, survData, model=myModel, nChain=2)
##
fit_WB <- BayesSurv_HReg(form, survData, id=NULL, model=myModel,
hyperParams, startValues, mcmc.WB, path=myPath)
fit_WB
summ.fit_WB <- summary(fit_WB); names(summ.fit_WB)
summ.fit_WB
pred_WB <- predict(fit_WB, tseq=seq(from=0, to=30, by=5))
plot(pred_WB, plot.est="Haz")
plot(pred_WB, plot.est="Surv")
#########
## PEM ##
#########
##
myModel <- "PEM"
myPath <- "Output/02-Results-PEM/"
startValues <- initiate.startValues_HReg(form, survData, model=myModel, nChain=2)
##
fit_PEM <- BayesSurv_HReg(form, survData, id=NULL, model=myModel,
hyperParams, startValues, mcmc.PEM, path=myPath)
fit_PEM
summ.fit_PEM <- summary(fit_PEM); names(summ.fit_PEM)
summ.fit_PEM
pred_PEM <- predict(fit_PEM)
plot(pred_PEM, plot.est="Haz")
plot(pred_PEM, plot.est="Surv")
###############################################################
## Analysis of Correlated Univariate Survival Data ############
###############################################################
####################
## WEIBULL-NORMAL ##
####################
##
myModel <- c("Weibull", "Normal")
myPath <- "Output/03-Results-WB_Normal/"
startValues <- initiate.startValues_HReg(form, survData, model=myModel, id, nChain=2)
##
fit_WB_N <- BayesSurv_HReg(form, survData, id, model=myModel,
hyperParams, startValues, mcmc.WB, path=myPath)
fit_WB_N
summ.fit_WB_N <- summary(fit_WB_N); names(summ.fit_WB_N)
summ.fit_WB_N
pred_WB_N <- predict(fit_WB_N, tseq=seq(from=0, to=30, by=5))
plot(pred_WB_N, plot.est="Haz")
plot(pred_WB_N, plot.est="Surv")
#################
## WEIBULL-DPM ##
#################
##
myModel <- c("Weibull", "DPM")
myPath <- "Output/04-Results-WB_DPM/"
startValues <- initiate.startValues_HReg(form, survData, model=myModel, id, nChain=2)
##
fit_WB_DPM <- BayesSurv_HReg(form, survData, id, model=myModel,
hyperParams, startValues, mcmc.WB, path=myPath)
fit_WB_DPM
summ.fit_WB_DPM <- summary(fit_WB_DPM); names(summ.fit_WB_DPM)
summ.fit_WB_DPM
pred_WB_DPM <- predict(fit_WB_DPM, tseq=seq(from=0, to=30, by=5))
plot(pred_WB_DPM, plot.est="Haz")
plot(pred_WB_DPM, plot.est="Surv")
################
## PEM-NORMAL ##
################
##
myModel <- c("PEM", "Normal")
myPath <- "Output/05-Results-PEM_Normal/"
startValues <- initiate.startValues_HReg(form, survData, model=myModel, id, nChain=2)
##
fit_PEM_N <- BayesSurv_HReg(form, survData, id, model=myModel,
hyperParams, startValues, mcmc.PEM, path=myPath)
fit_PEM_N
summ.fit_PEM_N <- summary(fit_PEM_N); names(summ.fit_PEM_N)
summ.fit_PEM_N
pred_PEM_N <- predict(fit_PEM_N)
plot(pred_PEM_N, plot.est="Haz")
plot(pred_PEM_N, plot.est="Surv")
#############
## PEM-DPM ##
#############
##
myModel <- c("PEM", "DPM")
myPath <- "Output/06-Results-PEM_DPM/"
startValues <- initiate.startValues_HReg(form, survData, model=myModel, id, nChain=2)
##
fit_PEM_DPM <- BayesSurv_HReg(form, survData, id, model=myModel,
hyperParams, startValues, mcmc.PEM, path=myPath)
fit_PEM_DPM
summ.fit_PEM_DPM <- summary(fit_PEM_DPM); names(summ.fit_PEM_DPM)
summ.fit_PEM_DPM
pred_PEM_DPM <- predict(fit_PEM_DPM)
plot(pred_PEM_DPM, plot.est="Haz")
plot(pred_PEM_DPM, plot.est="Surv")
# }
Run the code above in your browser using DataLab