next up previous contents
Next: Leuk: survival analysis using Up: BUGS 0.5 Examples Volume Previous: Mice: Weibull regression in

Kidney: Weibull regression with random effects

mcgilchrist:aisbett:91 analyse time to first and second recurrence of infection in kidney patients on dialysis using a Cox model with a multiplicative frailty parameter for each individual. The risk variables considered are age, sex and underlying disease (coded other, GN, AN and PKD). A portion of the data are shown below.

tabular1618

We have analysed the same data assuming a parametric Weibull distribution for the survivor function, and including an additive random effect tex2html_wrap_inline3819 for each patient in the exponent of the hazard model as follows

eqnarray1623

where AGE tex2html_wrap_inline4039 is a continuous covariate, SEX tex2html_wrap_inline2785 is a 2-level factor and DISEASE tex2html_wrap_inline4043 (k = 1,2,3) are dummy variables representing the 4-level factor for underlying disease. Note that the the survival distribution is a truncated Weibull for censored observations as discussed in the mice example. The regression coefficients and the precision of the random effects ( tex2html_wrap_inline2691 ) are given independent ``non-informative'' priors, namely

eqnarray1644

The shape parameter of the survival distribution r is given a Gamma(1, 0.0001) prior which is slowly decreasing on the positive real line.

The graphical model is shown in Figure 19, and the BUGS code is given below. The structure of the data file is similar to that used in the mice example.

Kidney: model specification in BUGS

model kidney;

const
  N = 38,    # number of patients
  M = 2;     # number of observations per patient
var
  t[N,M],                        # failure time
  t.cen[N,M],                    # censoring time
  mu[N,M], r,                    # Weibull parameters
  b[N],                          # random effects for patients
  tau,                           # precision of random effects
  sigma,                         # 1/sqrt(tau)
  age[N,M],sex[N],disease[N],    # covariates
  beta.age,beta.sex,             # regression coefficients
  beta.disease[4],alpha;         # regressioncoefficients

data t, t.cen, age, sex, disease in "kidney.dat";
inits in "kidney.in";
{
  for (i in 1:N) {
    for (j in 1:M) {

      # Survival times bounded below by censoring times:
      t[i,j] ~ dweib(r,mu[i,j]) I(t.cen[i,j],);

      log(mu[i,j]) <- alpha + beta.age*age[i,j] 
                  + beta.sex*sex[i]  
                  + beta.disease[disease[i]] + b[i];
      }
      # Random effects:
      b[i] ~ dnorm(0.0, tau)   
  }

  # Priors:
  alpha ~ dnorm(0.0, 0.0001);
  beta.age ~ dnorm(0.0, 0.0001);
  beta.sex ~ dnorm(0.0, 0.0001);
  beta.disease[1] <- 0;  # corner-point constraint
  for(k in 2:4) {
    beta.disease[k] ~ dnorm(0.0, 0.0001);
  }
  tau ~ dgamma(1.0E-3, 1.0E-3);
  r ~ dgamma(1.0, 1.0E-3); 
  sigma <- 1/sqrt(tau); # s.d. of random effects
}

  figure1655
Figure 19:   Graphical model for kidney example

Analysis

A BUGS run took 4 minutes for 2500 iterations after a 2500 iteration burn-in. The output is summarized in the table below, and the results of mcgilchrist:aisbett:91's Cox analysis using an iterative Newton-Raphson estimation procedure are also shown for comparison.

tabular1665



Andrew E Long
Tue Jun 8 09:17:20 EDT 1999