Oxford: smooth fit to log-odds
ratios
Breslow and Clayton (1993) re-analyse 2 by 2 tables of cases (deaths from childhood cancer) and controls tabulated against maternal exposure to X-rays, one table for each of 120 combinations of age (0-9) and birth year (1944-1964). The data may be arranged to the following form.

Their most complex model is equivalent to expressing the log(odds-ratio) y i for the table in stratum i as
log y i = a + b 1 year i + b 2 (year i 2 - 22) + b i
b i ~ Normal(0, t )
They use a quasi-likelihood approximation of the full hypergeometric likelihood obtained by conditioning on the margins of the tables.
We let r 0 i denote number of exposures among the n 0 i controls in stratum i , and r 1 i denote number of exposures for the n 1 i cases. The we assume
r 0 i ~ Binomial(p 0 i , n 0 i )
r 1 i ~ Binomial(p 1 i , n 1 i )
logit(p 0 i ) = m i
logit(p 1 i ) = m i + log y i
Assuming this model with independent vague priors for the m i 's provides the correct conditional likelihood. The appropriate graph is shown below
BUGS language for Oxford example:
model
{
for (i in 1 : K) {
r0[i] ~ dbin(p0[i], n0[i])
r1[i] ~ dbin(p1[i], n1[i])
logit(p0[i]) <- mu[i]
logit(p1[i]) <- mu[i] + logPsi[i]
logPsi[i] <- alpha + beta1 * year[i] + beta2 * (year[i] * year[i] - 22) + b[i]
b[i] ~ dnorm(0, tau)
mu[i] ~ dnorm(0.0, 1.0E-6)
culmative.r0[i] <- culmative(r0[i], r0[i])
culmative.r1[i] <- culmative(r1[i], r1[i])
}
alpha ~ dnorm(0.0, 1.0E-6)
beta1 ~ dnorm(0.0, 1.0E-6)
beta2 ~ dnorm(0.0, 1.0E-6)
tau ~ dgamma(1.0E-3, 1.0E-3)
sigma <- 1 / sqrt(tau)
}
Data ( click to open )
Inits ( click to open )
Results
A 1000 update burn in followed by a further 10000 updates gave the parameter estimates
These estimates compare well with Breslow and Clayton (1993) PQL estimates of a = 0.566 +/- 0.070, b 1 = -0.469 +/- 0.0167, b 2 = 0.0071 +/- 0.0033, s = 0.15 +/- 0.10.