Workshop 1 Alternative models for clustered survival data

21
Workshop 1 Alternative models for clustered survival data

description

Workshop 1 Alternative models for clustered survival data. Log-linear model representation in parametric survival models. In most packages (SAS, R) survival models (and their estimates) are parametrized as log linear models - PowerPoint PPT Presentation

Transcript of Workshop 1 Alternative models for clustered survival data

Page 1: Workshop 1 Alternative models  for clustered survival data

Workshop 1Alternative models

for clustered survival data

Page 2: Workshop 1 Alternative models  for clustered survival data

Log-linear model representationin parametric survival models

• In most packages (SAS, R) survival models (and their estimates) are parametrized as log linear models

• If the error term eij has extreme value distribution, then this model corresponds to– PH Weibull model with

– AFT Weibull model with

ijijij exT log

)exp( 1

)exp( 1

Page 3: Workshop 1 Alternative models  for clustered survival data

The first data setbivariate survival data

• Time to reconstitution of blood-milk barrier after mastitis– Two quarters are infected with E. coli– One quarter treated locally, other quarter not– Blood milk-barrier destroyed– Milk Na+ increases– Time to normal Na+ level

Page 4: Workshop 1 Alternative models  for clustered survival data

Time to reconstitution data

Cow number 1 2 3 … 99 100

Heifer 1 1 0 … 1 0

Treatment 1.9 6.50* 4.78 … 0.66 4.93

Placebo 0.41 6.50* 2.62 … 0.98 6.50*

Page 5: Workshop 1 Alternative models  for clustered survival data

Reading in the data

library(survival)

bloodmilk<-read.table("c://bivariate.dat",header=T)

cows<-bloodmilk$cows

y<-bloodmilk$y

uncens<-bloodmilk$uncens

trt<-bloodmilk$trt

heifer<-bloodmilk$heifer

table(trt,uncens)

uncens

trt 0 1

0 28 72

1 19 81

Page 6: Workshop 1 Alternative models  for clustered survival data

Types of models fitted

• Treatment effect– Parametric models with constant hazard

• Unadjusted model

• Marginal model

• Fixed effects model

– Parametric models based on Weibull distribution• Unadjusted model and coefficient interpretation

– Models with unspecified baseline hazard• Stratified model

• Semiparametric marginal model

• Heifer effect• Fixed effects model with constant hazard

• Stratified model

)exp()( ijij xth

)exp()( iijij cxth )exp()(, mijmmij xth

)exp()()( ,0, mijmmij xthth )exp()()( 0 ijiij xthth

)exp()( 1 ijij xtth

)exp()( iiij cxth )exp()()( 0 iiij xthth

Page 7: Workshop 1 Alternative models  for clustered survival data

Exponential unadjusted model

res.unadjust<-survreg(Surv(y,uncens)~trt,dist="exponential",data=bloodmilk)summary(res.unadjust)b.unadjust<- -res.unadjust$coef[2]v.unadjust<- sqrt(res.unadjust$var[2,2])l.unadjust<-exp(-res.unadjust$coef[1])

Call: survreg(formula = Surv(y, uncens) ~ trt, data = bloodmilk, dist = "exponential")

Value Std. Error z p(Intercept) 1.531 0.118 12.99 1.33e-38trt -0.176 0.162 -1.09 2.77e-01

> l.unadjust(Intercept) 0.2162472

)exp()( ijij xth

Page 8: Workshop 1 Alternative models  for clustered survival data

Exponential marginal model

ncows<-length(levels(as.factor(cows)))

bdel<-rep(NA,ncows)

for (i in 1:ncows){

temp<-bloodmilk[bloodmilk$cows!=i,]

bdel[i]<-survreg(Surv(y,uncens)~trt,data=temp,dist="exponential")$coeff[2]}

sqrt(sum((bdel-b.unadjust)^2))

0.1535

)exp()(, mijmmij xth

Page 9: Workshop 1 Alternative models  for clustered survival data

Exponential fixed effects model

res.fixed<- survreg(Surv(y,uncens)~trt+as.factor(cows),dist="exponential",data=bloodmilk)summary(res.fixed)b.fix<- -res.fixed$coef[2]v.fix<- sqrt(res.fixed$var[2,2])

Call:survreg(formula = Surv(y, uncens) ~ trt + as.factor(cows), data = bloodmilk, dist = "exponential") Value Std. Error z p(Intercept) 2.10e+01 3331.692 0.00629

0.995trt -1.85e-01 0.190 -0.96993 0.332as.factor(cows)2 -1.88e+01 3331.692 -0.00564 0.995…as.factor(cows)100 -1.86e+01 3331.692 -0.00557 0.996

)exp()( iijij cxth

Page 10: Workshop 1 Alternative models  for clustered survival data

Weibull unadjusted model (1)

res.unadjustw<-survreg(Surv(y,uncens)~trt,dist="weibull",data=bloodmilk)summary(res.unadjustw)b.unadjustw<- -res.unadjustw$coef[2]/res.unadjustw$scalev.unadjustw<- sqrt(res.unadjustw$var[2,2])l.unadjustw<-exp(-res.unadjustw$coef[1]/res.unadjustw$scale)r.unadjustw<-1/res.unadjustw$scale

Call:survreg(formula = Surv(y, uncens) ~ trt, data = bloodmilk, dist = "weibull") Value Std. Error z p(Intercept) 1.533 0.1222 12.542 4.38e-36trt -0.180 0.1681 -1.072 2.84e-01Log(scale) 0.036 0.0695 0.518 6.04e-01Scale= 1.04

b.unadjustw trt 0.17387v.unadjustw 0.1681l.unadjustw (Intercept) 0.2278757 r.unadjustw 0.9646458

)exp()( 1 ijij xtth

)exp( 1

Page 11: Workshop 1 Alternative models  for clustered survival data

Weibull unadjusted model (2)

likelihood.unadjust.weib.exptransf<-function(p){

cumhaz<-exp(trt*p[2])*y^(exp(p[3]))*exp(p[1])

lnhaz<-uncens*(trt*p[2]+log(exp(p[1]))+log(exp(p[3]))+(exp(p[3])-1)*log(y) )

lik<- sum(cumhaz)-sum(lnhaz)}

initial<-c(log(0.23),0.2,log(1))

res<-nlm(likelihood.unadjust.weib.exptransf,initial)

l.unadjustw2<-exp(res$estimate[1])

b.unadjustw2<-res$estimate[2]

r.unadjustw2<-exp(res$estimate[3])

0.228

0.1740.965

)exp()( 1 ijij xtth

Page 12: Workshop 1 Alternative models  for clustered survival data

Weibull unadjusted model (3)

likelihood.unadjust.weib<-function(p){cumhaz<-exp(trt*p[2])*y^(p[3])*p[1]lnhaz<-uncens*(trt*p[2]+log(p[1])+log(p[3])+(p[3]-1)*log(y))lik<- sum(cumhaz)-sum(lnhaz)}

initial<-c(exp(res$estimate[1]),res$estimate[2],exp(res$estimate[3]))res.unadjustw2<-nlm(likelihood.unadjust.weib,initial,iterlim=1,hessian=T)l.unadjustw2<-res.unadjustw2$estimate[1]b.unadjustw2<-res.unadjustw2$estimate[2]r.unadjustw2<-res.unadjustw2$estimate[3]v.unadjustw2<-sqrt(solve(res.unadjustw2$hessian)[2,2])

0.2280.1740.965

0.162

)exp()( 1 ijij xtth

Page 13: Workshop 1 Alternative models  for clustered survival data

Stratified model

res.strat<-coxph(Surv(y,uncens)~trt+strata(cows))summary(res.strat)b.strat<-res.strat$coef[1]v.strat<-res.strat$coef[3]

Call: coxph(formula = Surv(y, uncens) ~ trt + strata(cows)) n= 200 coef exp(coef) se(coef) z p exp(-coef) lower .95 upper .95trt 0.131 1.14 0.209 0.625 0.53 0.878 0.757 1.72

)exp()()( 0 ijiij xthth

Page 14: Workshop 1 Alternative models  for clustered survival data

Semiparametric marginal model (1)

res.semimarg<-coxph(Surv(y,uncens)~trt+cluster(cows))summary(res.semimarg)b.semimarg<-summary(res.semimarg)$coef[1]v.semimarg<-summary(res.semimarg)$coef[4]

Call: coxph(formula = Surv(y, uncens) ~ trt + cluster(cows)) n= 200

coef exp(coef) se(coef) robust se z p lower .95 upper .95trt 0.161 1.17 0.162 0.145 1.11 0.27 0.883 1.56 Rsquare= 0.005 (max possible= 0.999 )Likelihood ratio test= 0.98 on 1 df, p=0.322Wald test = 1.22 on 1 df, p=0.269Score (logrank) test = 0.98 on 1 df, p=0.322, Robust = 1.23 p=0.268

)exp()()( ,0, mijmmij xthth

Page 15: Workshop 1 Alternative models  for clustered survival data

Semiparametric marginal model (2)

b.unadjust<-coxph(Surv(y,uncens)~trt)$coeff[1]ncows<-length(levels(as.factor(cows)))bdel<-rep(NA,ncows)for (i in 1:ncows){temp<-bloodmilk[bloodmilk$cows!=i,]bdel[i]<- -coxph(Surv(y,uncens)~trt,data=temp)$coeff[1]}sqrt(sum((-bdel-b.unadjust)^2))

[1] 0.1468473

)exp()()( ,0, mijmmij xthth

Page 16: Workshop 1 Alternative models  for clustered survival data

Fixed effects model with heifer,heifer first

summary(survreg(Surv(y,uncens)~heifer+as.factor(cows),dist="exponential", data=bloodmilk))

Call:survreg(formula = Surv(y, uncens) ~ heifer + as.factor(cows),data=bloodmilk, dist = "exponential")

Value Std. Error z p(Intercept) 2.09e+01 4723 4.42e-03 0.996heifer -2.01e+01 6680 -3.01e-03 0.998as.factor(cows)2 1.21e+00 4723 2.56e-04 1.000...as.factor(cows)100 -1.85e+01 4723 -3.92e-03 0.997

)exp()( iiij cxth

Page 17: Workshop 1 Alternative models  for clustered survival data

Fixed effects model with heifer,cow first

summary(survreg(Surv(y,uncens)~as.factor(cows)+heifer,dist="exponential", data=bloodmilk))

Call:survreg(formula = Surv(y, uncens) ~ as.factor(cows) + as.factor(heifer),data=bloodmilk,dist="exponential")

Value Std. Error z p(Intercept) 2.09e+01 4723 0.00442 0.996as.factor(cows)2 -1.89e+01 4723 -0.00399 0.997as.factor(cows)100 -1.85e+01 4723 -0.00392 0.997as.factor(heifer)1 0.00e+00 6680 0.00000 1.000

)exp()( iiij xcth

Page 18: Workshop 1 Alternative models  for clustered survival data

Stratified model with heifer

> summary(coxph(Surv(y,uncens)~heifer+strata(cows),data=bloodmilk))Call:coxph(formula = Surv(y, uncens) ~ heifer + strata(cows), data = bloodmilk) n= 200 coef exp(coef) se(coef) z p exp(-coef) lower .95 upper .95heifer NA NA 0 NA NA NA NA NA

Rsquare= 0 (max possible= 0.471 )Likelihood ratio test= 0 on 0 df, p=NaNWald test = NA on 0 df, p=NAScore (logrank) test = 0 on 0 df, p=NaN

Warning messages: 1: X matrix deemed to be singular; variable 1 in: coxph(Surv(y, uncens) ~ heifer

+ strata(cows), data = bloodmilk) 2: NaNs produced in: pchisq(q, df, lower.tail, log.p) 3: NaNs produced in: pchisq(q, df, lower.tail, log.p)

)exp()()( 0 iij xthth

Page 19: Workshop 1 Alternative models  for clustered survival data

The data set: Time to first insemination

• Database of regional Dairy Herd Improvement Association (DHIA)– Milk recording service– Artificial insemination– Select sample– Subset of 2567 cows from 49 dairy farms

Page 20: Workshop 1 Alternative models  for clustered survival data

Fixed covariates data setinsemfix.dat

Page 21: Workshop 1 Alternative models  for clustered survival data

Effect of initial ureum concentration

• Fit the following models– Parametric models with constant hazard

• Unadjusted model• Fixed effects model• Marginal model

– Models with unspecified baseline hazard• Stratified model• Semiparametric marginal model• Fixed effects model

)exp()( ijij xth

)exp()( iijij cxth )exp()(, mijmmij xth

)exp()()( ,0, mijmmij xthth

)exp()()( 0 ijiij xthth

)exp()()( 0 iiij cxthth