29
Epidemiology, Biostatistics and Prevention Institute Spatio-Temporal Analysis of Epidemic Phenomena Using the R Package Sebastian Meyer

Spatio-Temporal Analysis of Epidemic Phenomena Using the …

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Epidemiology, Biostatistics and Prevention Institute

Spatio-Temporal Analysis ofEpidemic Phenomena Usingthe R Package surveillance

Sebastian Meyer

Page 2: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Epidemic phenomena

Examples:

– Earth quakes

– Riots / crimes

– Infectious diseases

Data: Surveillance systems routinely collect

– time-stamped

– geo-referenced

case reports

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 2

Page 3: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaselibrary("surveillance"); data("imdepi")

plot(imdepi, "space")

●●

● ●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

● ●

●●●

●●

● ●●

●●

●●

●●

●●

●●

● ●

●●

●●

●●

type

BC

124816

Dot size proportional to the number ofcases (residence postcode)

plot(imdepi, "time")

2002 2004 2006 2008

0

5

10

15

20

Time (months)

Num

ber

of c

ases

0

84

168

252

336

Cum

ulat

ive

num

ber

of c

ases

BC

Monthly and cumulative number of cases(by date of specimen sampling)

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 3

Page 4: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

animate(subset(imdepi, type=="B"),

time.spacing = 7)

animate(subset(imdepi, type=="C"),

time.spacing = 7)

Does the force of infection depend on the bacterial finetype?

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 4

Page 5: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study II: Measleslibrary("surveillance"); data("measlesWeserEms")

Publically available surveillance data:time series of counts of newly reported infections by district

plot(measlesWeserEms,

type = observed ~ unit)

2001/1 − 2002/52

036 100 196 324 400 484 576 676

plot(measlesWeserEms,

type = observed ~ time)

time

No.

infe

cted

2001

II

2001

IV

2002

II

2002

IV

0

10

20

30

40

50

60

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 5

Page 6: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

animate(measlesWeserEms)

Is local vaccination coveragerelated to disease dynamics?

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 6

Page 7: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Characteristics of epidemic-type data

– Low number of cases

– Seasonality

– Occassional outbreaks (“self-exciting” process)

– Dependence between areas, age groups, etc.

– Underreporting, reporting delays

Aims of surveillance

Monitoring (prospective): Outbreak prediction and detection(→ “Zombie Preparedness” talk by Michael Höhle)

Modelling (retrospective): Quantify epidemicity and effects ofexternal covariates on disease dynamics

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 7

Page 8: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Characteristics of epidemic-type data

– Low number of cases

– Seasonality

– Occassional outbreaks (“self-exciting” process)

– Dependence between areas, age groups, etc.

– Underreporting, reporting delays

Aims of surveillance

Monitoring (prospective): Outbreak prediction and detection(→ “Zombie Preparedness” talk by Michael Höhle)

Modelling (retrospective): Quantify epidemicity and effects ofexternal covariates on disease dynamics

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 7

Page 9: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Place in the world of R packages

surveillance is the first and only software packagededicated to the space-time modelling and monitoring ofepidemic phenomena

Related packages:

spacetime: Basic classes and methods for spatio-temporal data

spatstat: THE package for purely spatial point patterns

tscount, EpiEstim, outbreaker, amei: Several packages dealingwith purely temporal epidemic data

stpp: Simulation & visualization of space-time pointpatterns

For a more complete picture:

→ CRAN task view “Handling and Analyzing Spatio-Temporal Data”

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 8

Page 10: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Three modelling frameworks in surveillance

Data Resolution Example Model Function

individual eventsin continuousspace-time

cases of invasivemeningococcaldisease (IMD)Meyer et al., 2012

spatio-temporalpoint process

twinstim()

event countsaggregated inspace & time

week×districtcounts of measlesMeyer et al., 2014

multivariateNegBin timeseries

hhh4()

individual SIRevent history of afixed population

spread of classi-cal swine feveramong domes-tic pig farmsHöhle, 2009

multivariatetemporal pointprocess

twinSIR()

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 9

Page 11: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Basic modelling conceptStochastic branching process with immigration

– Decomposed disease risk:Endemic: seasonality, population,

socio-demography, . . .⊕

Epidemic: force of previouslyinfected individuals

– Ebola: R0 of about 1.5 – 2.5

– Force of infection may depend onage and spatial/temporal distanceto infective

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 10

Page 12: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Spatial interaction

Tobler’s First Law of Geography:

Everything is related to everything else,but near things are more related than distant things.

Brockmann et al., 2006 (dollar bill tracking):

The distribution of travelling distancesdecays as a power law.

0 500 1000 2000 3000

f(x)=

x−1.6

Distance x

1 5 50 500

log(

f(x))

=−

1.6

⋅log

(x)

Distance x

o−1.6

2

3

0

4

3

1

3

2

3

2

4

2

1

3

2

1

3

0.0

0.2

0.4

0.6

0.8

1.0

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 11

Page 13: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseRegression framework for the conditional intensity function

λ(s, t) = ρ[s][t] ν[s][t]

+∑j:tj<t

ηj f (‖s − sj‖)g(t − tj)

Endemic component

– Piecewise constant on asuitable space-time grid

– Explanatory variables in alog-linear predictor ν[s][t]

– Equivalent to Poisson-GLMfor aggregated counts

Force of infection

– Depends on event-specificcharacteristics mj via

log(ηj) = γ0 + γ>mj

– Decays over space/timeaccording to parametricinteraction function f (·)/g(·)

Likelihood inference

– nlminb() with analytical score function and Fisher info

– R package polyCub for cubature of f (‖s‖) over polygons

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 12

Page 14: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseRegression framework for the conditional intensity function

λ(s, t) = ρ[s][t] ν[s][t] +∑j:tj<t

ηj f (‖s − sj‖)g(t − tj)

Endemic component

– Piecewise constant on asuitable space-time grid

– Explanatory variables in alog-linear predictor ν[s][t]

– Equivalent to Poisson-GLMfor aggregated counts

Force of infection

– Depends on event-specificcharacteristics mj via

log(ηj) = γ0 + γ>mj

– Decays over space/timeaccording to parametricinteraction function f (·)/g(·)

Likelihood inference

– nlminb() with analytical score function and Fisher info

– R package polyCub for cubature of f (‖s‖) over polygons

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 12

Page 15: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseRegression framework for the conditional intensity function

λ(s, t) = ρ[s][t] ν[s][t] +∑j:tj<t

ηj f (‖s − sj‖)g(t − tj)

Endemic component

– Piecewise constant on asuitable space-time grid

– Explanatory variables in alog-linear predictor ν[s][t]

– Equivalent to Poisson-GLMfor aggregated counts

Force of infection

– Depends on event-specificcharacteristics mj via

log(ηj) = γ0 + γ>mj

– Decays over space/timeaccording to parametricinteraction function f (·)/g(·)

Likelihood inference

– nlminb() with analytical score function and Fisher info

– R package polyCub for cubature of f (‖s‖) over polygons

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 12

Page 16: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseModel estimation

imdfit <- twinstim(

endemic = ~offset(log(popdensity)) + I(start/365 - 3.5) +

sin(2 * pi * start/365) + cos(2 * pi * start/365),

epidemic = ~type + agegrp,

siaf = siaf.powerlaw(), tiaf = tiaf.constant(),

data = imdepi, subset = !is.na(agegrp),

start = c("e.(Intercept)"=-6.5, "e.siaf.1"=1.5, "e.siaf.2"=0.9),

optim.args = list(fixed = "e.siaf.1"), model = TRUE, cores = 4)

xtable(imdfit)

RR 95% CI p-value

h.I(start/365 - 3.5) 0.959 0.92–1.00 0.071h.sin(2 * pi * start/365) 1.231 1.08–1.41 0.0022h.cos(2 * pi * start/365) 1.379 1.21–1.57 <0.0001e.typeC 0.450 0.27–0.74 0.0017e.agegrp[3,19) 2.133 1.10–4.12 0.024e.agegrp[19,Inf) 0.824 0.33–2.05 0.68

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 13

Page 17: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseModel estimation

imdfit <- twinstim(

endemic = ~offset(log(popdensity)) + I(start/365 - 3.5) +

sin(2 * pi * start/365) + cos(2 * pi * start/365),

epidemic = ~type + agegrp,

siaf = siaf.powerlaw(), tiaf = tiaf.constant(),

data = imdepi, subset = !is.na(agegrp),

start = c("e.(Intercept)"=-6.5, "e.siaf.1"=1.5, "e.siaf.2"=0.9),

optim.args = list(fixed = "e.siaf.1"), model = TRUE, cores = 4)

xtable(imdfit)

RR 95% CI p-value

h.I(start/365 - 3.5) 0.959 0.92–1.00 0.071h.sin(2 * pi * start/365) 1.231 1.08–1.41 0.0022h.cos(2 * pi * start/365) 1.379 1.21–1.57 <0.0001e.typeC 0.450 0.27–0.74 0.0017e.agegrp[3,19) 2.133 1.10–4.12 0.024e.agegrp[19,Inf) 0.824 0.33–2.05 0.68

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 13

Page 18: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseEstimated spatial interaction

plot(imdfit, which = "siaf",

xlim = c(0, 50))

imdfit_fstep <- update(imdfit,

siaf = siaf.step(

knots = exp((1:4)*log(100)/5),

maxRange = 100),

optim.args = list(fixed = NULL))

plot(imdfit_fstep, which = "siaf",

add = TRUE, col.estimate = 1)

0 10 20 30 40 50

0e+

002e

−05

4e−

05

Distance x from host

eγ 0⋅f

(x)

Power lawStep (df=4)

Predefined interaction functions:

Spatial (siaf.*) Temporal (tiaf.*)

constant constant

gaussian exponential

powerlaw step

powerlawL

step

student

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 14

Page 19: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseEstimated spatial interaction

plot(imdfit, which = "siaf",

xlim = c(0, 50))

imdfit_fstep <- update(imdfit,

siaf = siaf.step(

knots = exp((1:4)*log(100)/5),

maxRange = 100),

optim.args = list(fixed = NULL))

plot(imdfit_fstep, which = "siaf",

add = TRUE, col.estimate = 1)

0 10 20 30 40 50

0e+

002e

−05

4e−

05

Distance x from host

eγ 0⋅f

(x)

Power lawStep (df=4)

Predefined interaction functions:

Spatial (siaf.*) Temporal (tiaf.*)

constant constant

gaussian exponential

powerlaw step

powerlawL

step

student

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 14

Page 20: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseFitted ground intensity

∫λ̂(s, t) ds

plot(imdfit, which = "total intensity", aggregate = "time",

types = 1, ylim = c(0,0.3), tgrid = 2500)

0 500 1000 1500 2000 2500

0.00

0.10

0.20

0.30

B

Time [days]

Fitt

ed in

tens

ity p

roce

ss

total intensityendemic intensity

0 500 1000 1500 2000 2500

0.00

0.10

0.20

0.30

C

Time [days]

Fitt

ed in

tens

ity p

roce

ss

total intensityendemic intensity

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 15

Page 21: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study I: Invasive meningococcal diseaseMethods for "twinstim"

Display Extract Modify Other

print nobs update simulate

summary vcov add1 coeflist

xtable logLik drop1

plot extractAIC stepComponent

intensityplot profile

iafplot residuals

checkResidualProcess terms

R0

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 16

Page 22: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study II: Measles (areal count time series)Regression framework

Number of cases in region r at time t

Yrt |Y ·,t−1 ∼ NegBin(µrt , ψ)

Endemic-Epidemic decomposition of disease risk:

µrt = ert νrt + λrtYr ,t−1 + φrt

∑s 6=r

wsr Ys,t−1

ert population offsetνrt , λrt , φrt log-linear predictors, e.g., vaccination coveragewsr weight for s to r transmission, e.g., wsr = o−d

sr

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 17

Page 23: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study II: Measles (areal count time series)Model estimation

(endemic <- addSeason2formula(~log(pSusceptible) + t))

## ~log(pSusceptible) + t + sin(2 * pi * t/52) + cos(2 * pi * t/52)

measlesModel <- list(

end = list(f = endemic, offset = population(measlesWeserEms)),

ar = list(f = ~1),

ne = list(f = ~1, weights = W_powerlaw(maxlag = 5)),

family = "NegBin1", data = list(pSusceptible = 1 - pVacc))

measlesFit <- hhh4(measlesWeserEms, control = measlesModel)

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 18

Page 24: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study II: Measles (areal count time series)Fitted mean components

plot(measlesFit, type = "fitted", units = c(7,12), hide0s = TRUE)

2001.0 2002.0 2003.0

0

2

4

6

8

No.

infe

cted

LK Aurich

●●●● ●

●●

●●

●●

●● ●

●●

●● ● ● ●

spatiotemporalautoregressiveendemic

2001.0 2002.0 2003.0

0

10

20

30

40

50

No.

infe

cted

LK Leer

●●●

●●●

●●

●● ●● ● ●●

●●

●●●

●●

●●●

●●●

●●

● ●●

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 19

Page 25: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study II: Measles (areal count time series)Association with vaccination coverage vr

Endemic incidence is proportional to (1− vr )βv :

summary(measlesFit)$fixef["end.log(pSusceptible)", ]

## Estimate Std. Error

## 2.054 0.379

Other methods:update(), simulate(), oneStepAhead(), . . .

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 20

Page 26: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Case study II: Measles (areal count time series)Association with vaccination coverage vr

Endemic incidence is proportional to (1− vr )βv :

summary(measlesFit)$fixef["end.log(pSusceptible)", ]

## Estimate Std. Error

## 2.054 0.379

Other methods:update(), simulate(), oneStepAhead(), . . .

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 20

Page 27: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Conclusion

surveillance offers a comprehensive framework for thespatio-temporal analysis of epidemic phenomena, includingvisualisation, modelling, inference and simulation of:

– (multivariate) surveillance time series

– spatio-temporal point patterns

– geo-referenced SIR event histories

Key references:

– http://surveillance.r-forge.r-project.org/

– arXiv:1411.0416 (Meyer et al., 2014): a guide to thethree presented endemic-epidemic model classes

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 21

Page 28: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

Acknowledgments

Joint work with:

– Leonhard Held (University of Zurich)

– Michael Höhle (University of Stockholm)

Funding:

– Munich Center of Health Sciences (2007–2010)

– Swiss National Science Foundation (2012–2015)

useR! 2015, Spatial Session 1 July 2015 surveillance: Spatio-Temporal Analysis of Epidemic Phenomena Page 22

Page 29: Spatio-Temporal Analysis of Epidemic Phenomena Using the …

References

I Brockmann, D., Hufnagel, L., and Geisel, T. (2006). The Scaling Laws ofHuman Travel. Nature, 439(7075):462–465.

I Höhle, M. (2009). Additive-Multiplicative Regression Models forSpatio-Temporal Epidemics. Biometrical Journal, 51(6):961–978.

I Meyer, S., Elias, J., and Höhle, M. (2012). A Space-Time Conditional IntensityModel for Invasive Meningococcal Disease Occurrence. Biometrics,68(2):607–616.

I Meyer, S. and Held, L. (2014). Power-Law Models for Infectious DiseaseSpread. The Annals of Applied Statistics, 8(3):1612–1639.

I Meyer, S., Held, L., and Höhle, M. (2014). Spatio-Temporal Analysis ofEpidemic Phenomena Using the R Package surveillance. arxiv:1411.0416.

I Tobler, W. R. (1970). A Computer Movie Simulating Urban Growth in the DetroitRegion. Economic Geography, 46:234–240.

Feedback?Z [email protected]