breslow:clayton:93 re-analyse 2
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)
for the table in stratum i as
They use a quasi-likelihood approximation of the full hypergeometric likelihood obtained by conditioning on the margins of the tables.
We let
denote number of exposures among the
controls in stratum i, and
denote number of exposures for the
cases. The we assume
Assuming this model with independent vague priors for the
's
provides the correct conditional likelihood.
The appropriate graph is shown
in Figure 13.
Figure 13:
Graphical model for oxford example
Oxford: model specification
model oxford;
const
K=120; # Number of strata
var
r1[K], n1[K], r0[K], n0[K],year[K],
p1[K], p0[K], mu[K], logPsi[K], b[K],
alpha, beta1, beta2, sigma, tau;
data r1,n1,r0,n0,year in "oxford.dat";
inits in "oxford.in"
{
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*(pow(year[i],2)-22) + b[i];
b[i] ~ dnorm(0,tau);
mu[i] ~ dnorm(0.0,1.0E-6)
}
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);
}
Analysis
A simple BUGS run took 3 minutes for 1000 iterations after a 500 iteration burn-in. The comparison with the PQL fit of breslow:clayton:93 is as follows.