Conditional Autoregressive (CAR) models
for disease mapping:
Lip cancer in Scotland
The rates of lip cancer in 56 counties in Scotland have been analysed by Clayton and Kaldor (1987) and Breslow and Clayton (1993). The form of the data includes the observed and expected cases (expected numbers based on the population and its age and sex distribution in the county), a covariate measuring the percentage of the population engaged in agriculture, fishing, or forestry, and the "position'' of each county expressed as a list of adjacent counties.
We note that the extreme SMRs (Standardised Mortality Ratios) are based on very few cases.
We may smooth the raw SMRs by fitting a random-effects Poisson model allowing for spatial correlation, using the intrinsic conditional autoregressive (CAR) prior proposed by Besag, York and Mollie (1991). For the lip cancer example, the model may be written as:
O i ~ Poisson( m i )
log m i = og E i + a 0 + a 1 x i / 10 + b i
where a 0 is an intercept term representing the baseline (log) relative risk of disease across the study region, x i is the covariate "percentage of the population engaged in agriculture, fishing, or forestry" in district i, with associated regression coefficient a 1 and b i is an area-specific random effect capturing the residual or unexplained (log) relative risk of disease in area i. We often think of b i as representing the effect of latent (unobserved) risk factors.
To allow for spatial dependence between the random effects b i in nearby areas, we may assume a CAR prior for these terms. Technical details, including parameterisation and a discussion of suitable hyperpriors for the parameters of this model, are given in appendix 1 . The car.normal distribution may be used to fit this model. The code for the lip cancer data is given below:
Model
model {
# Likelihood
for (i in 1 : N) {
O[i] ~ dpois(mu[i])
log(mu[i]) <- log(E[i]) + alpha0 + alpha1 * X[i]/10 + b[i]
# Area-specific relative risk (for maps)
RR[i] <- exp(alpha0 + alpha1 * X[i]/10 + b[i])
}
# CAR prior distribution for random effects:
b[1:N] ~ car.normal(adj[], weights[], num[], tau)
for(k in 1:sumNumNeigh) {
weights[k] <- 1
}
# Other priors:
alpha0 ~ dflat()
alpha1 ~ dnorm(0.0, 1.0E-5)
tau ~ dgamma(0.5, 0.0005) # prior on precision
sigma <- sqrt(1 / tau) # standard deviation
b.mean <- sum(b[])
}
Data click here to open data
Note that the data for the adjacency matrix (variables adj , num and SumNumNeigh ) have been generated using the adj matrix option of the Adjacency Tool menu in GeoBUGS . By default, this treats islands as having no neighbours, and so the three areas representing the Orkneys, Shetland and the Outer Hebrides islands in Scotland have zero neighbours. You can edit the adjacency map of Scotland to include these areas as neighbours if you wish. The car.normal distribution sets the value of b i equal to zero for areas i that are islands. Hence the posterior relative risks for the Orkneys, Shetland and the Outer Hebrides in the present example will just depend on the overall baseline rate a 0 and the covariate x i . Alternatively, you could specify a convolution prior for the area-specific random effects (Besag, York and Mollie 1991) which partitions the overall random effect for each area into the sum of a spatial component plus a non-spatial component. In this model, the islands will just have a non-spatial term for the random effect. See example on lung cancer in a London Health Authority for details of this model.
Inits click here to open initial values
Note that the initial values for elements 6, 8 and 11 of the vector b are set to NA since these correspond to the three islands ( Orkneys, Shetland and the Outer Hebrides). The values of b are set to zero by the car.normal prior for these 3 areas, and so they are not stochastic nodes.