68
MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Embed Size (px)

Citation preview

Page 1: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

MCMC for Stochastic Epidemic Models

Philip D. O’Neill

School of Mathematical Sciences

University of Nottingham

Page 2: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

This includes joint work with…

Tom Britton (Stockholm) Niels Becker (ANU, Canberra) Gareth Roberts (Lancaster) Peter Marks (NHS, Derbyshire PCT)

Page 3: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Contents 1. MCMC: overview and basics 2. Example: Vaccine efficacy 3. Data augmentation 4. Example: SIR epidemic model 5. Model choice 6. Example: Norovirus outbreak 7. Other topics

Page 4: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

1. Markov chain Monte Carlo (MCMC) Overview and basics

The key problem is to explore a density function π known up to proportionality.

The output of an MCMC algorithm is a sequence of samples from the correctly normalised π.

These samples can be used to estimate summaries of π, e.g. its mean, variance.

Page 5: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

How MCMC works Key idea is to construct a discrete time

Markov chain X1, X2, X3, … on state space S whose stationary distribution is π.

If P(dy,dx) is the transitional kernel of the chain this means that

),()()( dxyPdydxS

Page 6: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

How MCMC works (2)

Subject to some technical conditions,

Distribution of Xn → π as n → Thus to obtain samples from π we simulate

the chain and sample from it after a “long time”.

Page 7: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Example: π (x) x e-2x

Page 8: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Example: π (x) x e-2x

XN = 1.2662 X1, X2, …

Page 9: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Example: π (x) x e-2x

XN = 1.2662

XN+1 = 1.7840

Page 10: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Example: π (x) x e-2x

XN = 1.2662

XN+1 = 1.7840

XN+2 = 0. 6629

Page 11: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Example: π (x) x e-2x

Suppose Markov chain output is

..., XN = 1.2662, XN+1 = 1.7840, XN+2 = 0.6629, …. ,XN+M = 1.0312

(i.e. discard initial N values, burn-in)

032.1M

1)(

MN

Njj

XXE

Page 12: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

How to build the Markov chain

Surprisingly, there are many ways to construct a Markov chain with stationary distribution π.

Perhaps the simplest is the Metropolis-Hastings algorithm.

Page 13: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Metropolis-Hastings algorithm Set an initial value X1.

If the chain is currently at Xn = x, randomly propose a new position Xn+1 = y according to a proposal density q(y | x).

Accept the proposed jump with probability

If not accepted, Xn+1 = x.

.)|()(

)|()(,1min

xyqx

yxqy

Page 14: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Why the M-H algorithm works

Let P(dx,dy) denote the transition kernel of the chain.

Then P(dx,dy) is approximately the probability that the chain jumps from a region dx to a region dy.

We can calculate P(dx,dy) as follows:

Page 15: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Why M-H works (2)

1

)|()(

)|()()|(),(

dxdyqdx

dydxqdydxdyqdydxP

)|()|()(

)(dxdyqdydxq

dx

dy

)|()()|()(),()( dxdyqdxdydxqdydydxPdx

),()(),()( Thus dxdyPdydydxPdx

Page 16: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Why M-H works (3)

),()(),()( dxdyPdydydxPdxSdySdy

),()(),()( dxdyPdydydxPdx

),()()( dxdyPdydxSdy

This last equation shows that π is a stationary distribution for the Markov chain.

Page 17: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Comments on M-H algorithm (1)

The choice of proposal q(y|x) is fairly arbitrary.

Popular choices include

q(y|x) = q(y) (Independence sampler)

q(y|x) ~ N(x, 2) (Gaussian proposal)

q(y|x) = q(|y-x|) (Symmetric proposal)

Page 18: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Comments on M-H (2)

In practice, MCMC is almost always used for multi-dimensional problems. Given a target density π(x1, x2, … ,xn) it is possible to update each component separately, or even in blocks, using different M-H schemes.

Page 19: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Comments on M-H (3)

A popular multi-dimensional scheme is the Gibbs sampler, in which the proposal for a component xi is its full conditional density

π (xi | (x1,…,xi-1, xi+1, … ,xn) )

The M-H acceptance probability is equal to one in this case.

Page 20: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

General comments on MCMC

How to check convergence? There is no guaranteed way.

Visual inspection of trace plots; diagnostic tools (e.g. looking at autocorrelation).

Starting values – try a range Acceptance rates – not too large/small Mixing – how fast does the chain move

around?

Page 21: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Contents 1. MCMC: overview and basics 2. Example: Vaccine efficacy 3. Data augmentation 4. Example: SIR epidemic model 5. Model choice 6. Example: Norovirus outbreak 7. Other topics

Page 22: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

2. Example: Vaccine Efficacy Outbreak of Variola Minor, Brazil 1956 Data on cases in households (size 1 to 12) 338 households: 126 had no cases 1542 individuals:

809 vaccinated, 85 cases

733 unvaccinated, 425 cases

Objective: estimate vaccine efficacy

Page 23: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Disease transmission model

Population divided into separate households. Divide transmission into community-acquired

and within-household.

q = P( individual avoids outside infection ) = P ( one individual fails to infect another

in the same household )

Page 24: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

q

Disease transmission model

Page 25: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Vaccine response model

For a vaccinated individual, three responses can occur: complete protection; vaccine failure; or partial protection and infectivity reduction.

c = P(complete protection) f = P(vaccine failure) a = proportionate susceptibility reduction b = proportionate infectivity reduction

Page 26: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Vaccine response : (A,B)

A convenient way of summarising the random response is to suppose that an individual’s susceptibility and infectivity reduction is given by a bivariate random variable (A,B). Thus

P[ (A,B) = (0, -)] = c

P[ (A,B) = (1,1) ] = f

P[ (A,B) = (a,b) ] = 1-c-f

Page 27: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Efficacy Measures

Furthermore it is sensible to define measures of vaccine efficacy using (A,B).

VES = 1- E[A] = 1 - f - a(1-f-c) is a protective measure VEI = 1 - E[AB] / E[A] = 1 - [f + ab(1-f-c)] / [f + a(1-f-c)] is a measure of infectivity reduction Note both are functions of basic model

parameters

Page 28: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Bayesian inference

Object of inference is the posterior density

( | n ) = ( a,b,c,f,q, | n )

where n is the data set. By Bayes’ Theorem (| n ) (n | ) ( ), where (| n ) is the likelihood, and () is the prior density for .

Page 29: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

MCMC details

There are six parameters: a,b,c,f,q, Each parameter has range [0,1] Update each parameter separately using a

Metropolis-Hastings step with Gaussian proposal centered on the current value

Page 30: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

MCMC pseudocode Initialise parameters (e.g. a = 0.5, b=0.5,…) User input burn-in (B), sample size (S),

thinning gap (T)

LOOP: counter from –B to (S x T) Update a, update b, …, update IF (counter > 0) AND (counter/T is integer) THEN store current values END LOOP

Page 31: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Updating details for a

Propose ã~ N(a, 2) Accept with probability

Note that the (symmetric) proposal cancels out The other parameters are updated similarly

1)(),,,,,|(

)~(),,,,,~|(

aqfcba

aqfcba

n

n

Page 32: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Trace plot for a

Page 33: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Density estimate for a

Page 34: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Scatterplot of a versus c

Page 35: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Results for VES

Posterior mean: VES = 1 – E(A) = 0.84

Posterior Standard Deviation = 0.03

These results are easily obtained using the raw

Markov chain output for the model parameters.

Page 36: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Contents 1. MCMC: overview and basics 2. Example: Vaccine efficacy 3. Data augmentation 4. Example: SIR epidemic model 5. Model choice 6. Example: Norovirus outbreak 7. Other topics

Page 37: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

4. Data augmentation Suppose we have a model with unknown

parameter vector = (1,2,…,n).

Available data are y = ( y1, y2,…, ym ). If the likelihood π (y | ) is intractable… …one solution is to introduce extra

parameters (“missing data”)

x = (x1, x2,…, xp)

such that π (y , x | ) is tractable.

Page 38: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Data augmentation (2)

The extra parameters x = (x1, x2,…, xp) are simply treated as unknown model parameters as before.

To obtain samples from π ( y | ), take samples from π (y , x | ) and ignore x.

Such a scheme is often easy using MCMC.

Page 39: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Data augmentation (3)

Can also add parameters to improve the mixing of the Markov chain (auxiliary variables).

Choosing how to augment data is not always obvious!

Page 40: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Contents 1. MCMC: overview and basics 2. Example: Vaccine efficacy 3. Data augmentation 4. Example: SIR epidemic model 5. Model choice 6. Example: Norovirus outbreak 7. Other topics

Page 41: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

4. SIR Epidemic Model

Suppose we observe daily numbers of cases during an epidemic outbreak in some fixed population.

Objective is to say something about infection rates and infectious period duration of the disease.

Page 42: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Epidemic curve (SARS in Canada)

Page 43: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Model definition

Population of N individuals At time t there are:

St susceptibles

It infectives

Rt recovered/immune individuals

Thus St + It + Rt = N for all t.

Initially (S0, I0 ,R0 ) = (N-1,1,0).

Page 44: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Model definition (2)

Each infectious individual remains so for a length of time TI ~ Exponential().

During this time, infectious contacts occur with each susceptible according to a Poisson process of rate /N.

Thus overall infection rate is St It/N.

Two model parameters, and .

Page 45: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Data, likelihood, augmentation Suppose we observe removals at times

0 ≤ r1 ≤ r2 ≤ … ≤ rn ≤ .

Define r = ( r1, r2 , …, rn ). The likelihood of the data, π (r | , ), is

practically intractable. However, given the (unknown) infection

times i = ( i1, i2 , …, in ), π (i ,r | , ) is tractable.

Page 46: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

MCMC algorithm

Specifically,

It follows that if π() ~ Gamma distribution then π( | …) ~ Gamma distribution also.

Same is true for . So can update and using a Gibbs step.

0

tt

1

r

2

ii )dt γIIS(expIIS ),|,( t j j j βγβγβn

j

n

j

ri

Page 47: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

MCMC algorithm – infection times

It remains to update the infection times i = ( i1, i2 , …, in )

Various ways of doing this. A simple way is to use a M-H scheme to

randomly move the times. For example, propose a new ik by picking a

new time uniformly at random in (0,).

Page 48: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Updating infection times

I6

I6

Updating I2 :

Acceptance prob. π (i*,r | ,) / π (i,r | ,)

I4I2

I2*I4

Page 49: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Extensions

Epidemic not known to be finished by Non-exponential infectious periods Multi-group models (e.g. age-stratified

data) More sophisticated updates of infection

times Inclusion of latent periods

Page 50: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Contents 1. MCMC: overview and basics 2. Example: Vaccine efficacy 3. Data augmentation 4. Example: SIR epidemic model 5. Model choice 6. Example: Norovirus outbreak 7. Other topics

Page 51: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

5. Model Choice

Bayesian model choice problems can also be implemented using MCMC.

So-called “transdimensional MCMC” (alias “Reversible Jump MCMC”) is used.

The basic idea is to construct the Markov chain on the union of the different sample spaces and (essentially) use M-H.

Page 52: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Simple example

Model 1 has two parameters: , Model 2 has one parameter: The Markov chain moves between models

and within models E.g. Xn = (1, , , ) for model 1, ignore Practical question – how to jump between

models?

Page 53: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Contents 1. MCMC: overview and basics 2. Example: Vaccine efficacy 3. Data augmentation 4. Example: SIR epidemic model 5. Model choice 6. Example: Norovirus outbreak 7. Other topics

Page 54: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

6. Example: Norovirus outbreak

Outbreak of gastroenteritis in summer 2001 at school in Derbyshire, England.

A single strain of Norovirus virus found to be the causative agent.

Believed to be person-to-person spread

Page 55: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Outbreak data

15 classrooms, each child based in one. Absence records plus questionnaires. 492 children of whom 186 were cases. Data include age, period of illness, times

of vomiting episodes in classrooms.

Page 56: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Question of interest

Does vomiting play a significant role in transmission?

Total of 15 vomiting episodes in classrooms.

Page 57: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Epidemic curve in Classroom 10

0

2

4

6

8

10

12

1 3 5 7 9 11 13 15 17

Day of outbreak

Num

ber

ill f

or f

irst

day

Page 58: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Stochastic transmission model

Assumption: A susceptible on weekday t remains so on day

t+1 if they avoid infection from each infective child;

per-infective daily avoidance probabilities are classmate : qc schoolmate: qs in class, vomiters : qv

Page 59: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Transmission model (2)

At weekends, a susceptible remains so by avoiding infection from all infectives in the community,

per-infective avoidance probability is q.

Page 60: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Two models

M1 : Full model: qc, qv, qs, q Vomiters treated separately

M2 : Sub-model: qc, qv=qc, qs, q Vomiters classed as normal infectives

Page 61: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

MCMC algorithm

Construct Markov chain on state space

S = { ( qc, qs, qv, q, M) }

where M = 1 or 2 is the current model

Model-switching step to update M Random walk updates for the q’s

Page 62: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Between-model jumps

Full model sub-model: Propose qv = qc

Sub-model full model: Propose qv = qc + N(0, 2 )

Acceptance probabilities straightforward

Page 63: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Results

Uniform(0,1) q. priors; P(M1) = 0.5

P(M1 | data) = 0.0001 (Full model) P(M2 | data) = 0.999 (Sub model)

qc qs qv q

Mean 0.997 0.998 0.936 0.999

S. dev 0.0014 0.00018 0.018 0.000066

Page 64: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Contents 1. MCMC: overview and basics 2. Example: Vaccine efficacy 3. Data augmentation 4. Example: SIR epidemic model 5. Model choice 6. Example: Norovirus outbreak 7. Other topics

Page 65: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

7. Other topics

1. Improving algorithm performance 2. Perfect simulation 3. Some conclusions

Page 66: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Improving algorithm performance

Choose parameters to reduce correlation Trade-off between ease of computation

and mixing behaviour of chain Choice of M-H proposal distributions Choice of blocking schemes

Page 67: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Perfect simulation

Detecting convergence can be a real problem in practice.

Perfect simulation is a method for constructing a chain that is known to have converged by a certain time.

Unfortunately it is far less applicable than MCMC.

Page 68: MCMC for Stochastic Epidemic Models Philip D. O’Neill School of Mathematical Sciences University of Nottingham

Some conclusions

MCMC methods are hugely powerful The methods enable analysis of very

complicated models Sample-based methods easily permit

exploration of both parameters and functions of parameters

Implementation is often relatively easy Software available (e.g. BUGS)