Mice: Weibull regression


Dellaportas and Smith (1993) analyse data from Grieve (1987) on photocarcinogenicity in four groups, each containing 20 mice, who have recorded a survival time and whether they died or were censored at that time. A portion of the data, giving survival times in weeks, are shown below. A * indicates censoring.


[mice1]

The survival distribution is assumed to be Weibull. That is

   f (ti, zi) = reβzi tir - 1exp(-eβzitir)
   
where ti is the failure time of an individual with covariate vector zi and β is a vector of unknown regression coefficients. This leads to a baseline hazard function of the form

   λ0(ti) = rtir - 1


Setting μi = eβzi gives the parameterisation

   ti ~ Weibull(τ, μi)

For censored observations, the survival distribution is a truncated Weibull, with lower bound corresponding to the censoring time. The regression β coefficients were assumed a priori to follow independent Normal distributions with zero mean and ``vague'' precision 0.0001. The shape parameter r for the survival distribution was given a Gamma(1, 0.0001) prior, which is slowly decreasing on the positive real line.

Median survival for individuals with covariate vector zi is given by mi = (log2e-βzi)1/r

The appropriate graph and BUGS language are below, using an undirected dashed line to represent a logical range constraint.
[mice2]
   model
   {   
      for(i in 1 : M) {
         for(j in 1 : N) {
            t[i, j] ~ dweib(r, mu[i])C(t.cen[i, j],)
         }
         mu[i] <- exp(beta[i])
         beta[i] ~ dnorm(0.0, 0.001)
         median[i] <- pow(log(2) * exp(-beta[i]), 1/r)
      }
      #r ~ dexp(0.001)
      r ~ dunif(0.1, 10)
      veh.control <- beta[2] - beta[1]
      test.sub <- beta[3] - beta[1]
      pos.control <- beta[4] - beta[1]
   }


We note a number of tricks in setting up this model. First, individuals who are censored are given a missing value in the vector of failure times t, whilst individuals who fail are given a zero in the censoring time vector t.cen (see data file listing below). The truncated Weibull is modelled using C(t.cen[i],) to set a lower bound. Second, we set a parameter beta[j] for each treatment group j.The contrasts beta[j] with group 1 (the irradiated control) are calculated at the end. Alternatively, we could have included a grand mean term in the relative risk model and constrained beta[1] to be zero.
Data
list(t = structure(.Data =
      c(12, 1, 21, 25, 11, 26, 27, 30, 13, 12, 21, 20, 23, 25, 23, 29, 35, NA, 31, 36,
         32, 27, 23, 12, 18, NA, NA, 38, 29, 30, NA, 32, NA, NA, NA, NA, 25, 30, 37, 27,
         22, 26, NA, 28, 19, 15, 12, 35, 35, 10, 22, 18, NA, 12, NA, NA, 31, 24, 37, 29,
         27, 18, 22, 13, 18, 29, 28, NA, 16, 22, 26, 19, NA, NA, 17, 28, 26, 12, 17, 26),
         .Dim = c(4, 20)),
      t.cen = structure(.Data =
      c( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0,
         0, 0, 0, 0, 0, 40, 40, 0, 0, 0, 40, 0, 40, 40, 40, 40, 0, 0, 0, 0,
         0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 40, 40, 0, 0, 0, 0,
         0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 29, 10, 0, 0, 0, 0, 0, 0),
         .Dim = c(4, 20)),
      M = 4, N = 20)
Inits for chain 1
list(beta = c(-1, -1, -1, -1), r = 1)
   
Inits for chain 2
list(beta = c(-5,-5,-5,-5), r = 2)
Results
[mice3]