workshop 1 alternative models for clustered survival data

21
Workshop 1 Alternative models for clustered survival data

Upload: ariel-brown

Post on 17-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Workshop 1Alternative 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

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

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*

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fixed covariates data setinsemfix.dat

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