Modelling the spatio-temporal spread of infectious pathogens using metapopulations

18 February 2022

Julien Arino

Department of Mathematics & Data Science Nexus
University of Manitoba*

Canadian Centre for Disease Modelling
Canadian COVID-19 Mathematical Modelling Task Force
NSERC-PHAC EID Modelling Consortium (CANMOD, MfPH, OMNI/RÉUNIS)

* The University of Manitoba campuses are located on original lands of Anishinaabeg, Cree, Oji-Cree, Dakota and Dene peoples, and on the homeland of the Métis Nation.

Pathogens have been mobile for a while

It first began, it is said, in the parts of Ethiopia above Egypt, and thence descended into Egypt and Libya and into most of the King's country [Persia]. Suddenly falling upon Athens, it first attacked the population in Piraeus—which was the occasion of their saying that the Peloponnesians had poisoned the reservoirs, there being as yet no wells there—and afterwards appeared in the upper city, when the deaths became much more frequent.

Thucydides (c. 460 BCE - c. 395 BCE)

History of the Peloponnesian War

Outline

  • Mobility and the spread of infectious diseases
  • Waves of COVID-19
  • Metapopulation epidemic models
  • Basic mathematical analysis
  • R0\mathcal{R}_0 is not the panacea - An urban centre and satellite cities
  • Problems specific to metapopulations
  • Numerical investigations

Mobility and the spread of infectious diseases

Mobility is complicated and drives disease spatialisation

Mobility is complicated:

  • Multiple modalities: foot, bicycle, personal vehicle, bus, train, boat, airplane
  • Various durations: trip to the corner shop \neq commuting \neq multi-day trip for work or leisure \neq relocation, immigration or refuge seeking
  • Volumes are hard to fathom

And yet mobility drives spatio-temporal spread:

The Black Death: quick facts

  • First of the middle ages plagues to hit Europe
  • Affected Afro-Eurasia from 1346 to 1353
  • Europe 1347-1351
  • Killed 75–200M in Eurasia & North Africa
  • Killed 30-60% of European population

Plague control measures

  • Lazzarettos of Dubrovnik 1377 (30 days)
  • Quarantena of Venice 1448 (40 days)
  • Isolation of known or suspected cases as well as persons who had been in contact with them, at first for 14 days and gradually increased to 40 days
  • Improvement of sanitation: development of pure water supplies, garbage and sewage disposal, food inspection
  • .. Find and kill a snake, chop it into pieces and rub the various parts over swollen buboes. (Snake, synonymous with Satan, was thought to draw the disease out of the body as evil would be drawn to evil)

Pathogen spread has evolved with mobility

  • Pathogens travel along trade routes

  • In ancient times, trade routes were relatively easy to comprehend

  • With acceleration and globalization of mobility, things change

Fragmented jurisdictional landscape

  • Political divisions (jurisdictions): nation groups (e.g., EU), nations, provinces/states, regions, counties, cities..
  • Travel between jurisdictions can be complicated or impossible
  • Data is integrated at the jurisdicional level
  • Policy is decided at the jurisdictional level
  • Long range mobility is a bottom \to top \to top \to bottom process

Why mobility is important in the context of health

All migrants/travellers carry with them their "health history"
  • latent and/or active infections (TB, H1N1, polio)
  • immunizations (schedules vary by country)
  • health/nutrition practices (KJv)
  • treatment methods (antivirals)
Pathogens ignore borders and politics
  • antiviral treatment policies for Canada and USA
  • SARS-CoV-2 anyone?

SARS-CoV-1 (2002-2003)

Overall impact

  • Index case for international spread arrives HKG 21 February 2003

  • Last country with local transmission (Taiwan) removed from list 5 July 2003

  • 8273 cases in 28 countries

  • (Of these cases, 1706 were HCW)

  • 775 deaths (CFR 9.4%)

Measles cases in the USA
Polio spread 2002-2006. Pallansch & Sandhu, N Engl J Med 2006; 355:2508-2511

Waves of COVID-19

JA. Describing, modelling and forecasting the spatial and temporal spread of COVID-19 - A short review. Fields Institute Communications 85:25-51 (2022)

Amplification in Wuhan (Hubei province)

  • Details of emergence and precise timeline before amplification started unknown
  • Amplification in Wuhan
    • Cluster of pneumonia cases mostly related to the Huanan Seafood Market
    • 27 December 2019: first report to local government
    • 31 December 2019: publication
    • 8 January 2020: identification of SARS-CoV-2 as causative agent
  • \sim 23 January 2020: lockdown Wuhan and Hubei province + face mask mandates

By 29 January, virus was found in all provinces of mainland China

First detections outside China

Date Location Note
13 Jan. Thailand Arrived 8 Jan.
16 Jan. Japan Arrived 6 Jan.
20 Jan. Republic of Korea Airport detected on 19 Jan.
20 Jan. USA Arrived Jan. 15
23 Jan. Nepal Arrived 13 Jan.
23 Jan. Singapore Arrived 20 Jan.
24 Jan. France Arrived 22 Jan.
24 Jan. Vietnam Arrived 13 Jan.
25 Jan. Australia Arrived 19 Jan.
25 Jan. Malaysia Arrived 24 Jan.

Caveat : evidence of earlier spread

  • Report to Wuhan authorities on 27 December 2019
  • First export detections in Thailand and Japan on 13 and 16 January 2020 (with actual importations on 8 and 6 January)

    \implies amplification must have been occurring for a while longer

  • France: sample taken from 42-year-old male (last foreign travel to Algeria in August 2019) who presented to ICU on 27 December 2019
  • Retrospective studies in United Kingdom and Italy also showed undetected COVID-19 cases in prepandemic period

Metapopulation epidemic models

Disease spread process in a jurisdiction-based world

General principles (1)

  • P|\mathcal{P}| geographical locations (patches) in a set P\mathcal{P} (city, region, country..)
  • Patches are vertices in a graph
  • Each patch pPp\in\mathcal{P} contains compartments CpC\mathcal{C}_p\subseteq\mathcal{C}
    • individuals susceptible to the disease
      • individuals infected by the disease
      • different species affected by the disease
      • etc.

General principles (2)

  • Compartments may move between patches, with mcqpm_{cqp} rate of movement of individuals from compartment cCc\in\mathcal{C} from patch pPp\in\mathcal{P} to patch qP{p}q\in\mathcal{P}\setminus\{p\}
  • Movement instantaneous and no death during movement
  • cC\forall c\in\mathcal{C}, defines a digraph Gc\mathcal{G}^c with arcs Ac\mathcal{A}^c
  • Arc from pp to qq if mcqp>0m_{cqp}>0, absent otherwise
  • C|\mathcal{C}| compartments, so each (p,q)(p,q) can have at most C|\mathcal{C}| arrows \rightarrow multi-digraph

The underlying mobility model

NcpN_{cp} population of compartment cCc\in\mathcal{C} in patch pPp\in\mathcal{P}

Assume no birth or death. Balance inflow and outflow

Ncp=(qP{p}mcpqNcq)(qP{p}mcqp)Ncp=qPmcpqNcqwith mcpp=qP{p}mcqp\begin{aligned} N_{cp}' &= \left(\sum_{q\in\mathcal{P}\setminus\{p\}} m_{cpq}N_{cq}\right)-\left(\sum_{q\in\mathcal{P}\setminus\{p\}} m_{cqp}\right)N_{cp} \\ &\\ &= \sum_{q\in\mathcal{P}} m_{cpq}N_{cq} \qquad\textrm{with } m_{cpp}=-\sum_{q\in\mathcal{P}\setminus\{p\}} m_{cqp} \end{aligned}

The toy SLIRS model in patches

B(N)B(N) is the birth rate (typically bb or bNbN)

LL = latently infected (E\simeq E exposed, although the latter term is ambiguous)

P|\mathcal{P}|-SLIRS model

Sp=Bp(Np)+νpRpΦpdpSp+qPmSpqSqLp=Φp(εp+dp)Lp+qPmLpqLqIp=εpLp(γp+dp)Ip+qPmIpqIqRp=γpIp(νp+dp)Rp+qPmRpqRq\begin{aligned} S_{p}' &=\mathcal{B}_p\left(N_p\right)+\nu_pR_p-\Phi_p-d_pS_p \red{+\textstyle{\sum_{q\in\mathcal{P}}} m_{Spq}S_{q}} \\ L_{p}' &=\Phi_p-\left( \varepsilon_{p}+d_{p}\right)L_{p} \red{+\textstyle{\sum_{q\in\mathcal{P}}} m_{Lpq}L_{q}} \\ I_{p}' &=\varepsilon_pL_p-(\gamma_p+d_p)I_p \red{+\textstyle{\sum_{q\in\mathcal{P}}} m_{Ipq}I_{q}} \\ R_{p}' &=\gamma _{p}I_{p}-\left(\nu_{p}+d_{p}\right)R_{p} \red{+\textstyle{\sum_{q\in\mathcal{P}}} m_{Rpq}R_{q}} \end{aligned}

Φp=βpSpIpNpqp,qp{0,1}\Phi_p=\beta_p\frac{S_pI_p}{N_p^{q_p}},\qquad q_p\in\{0,1\}

S  P|\mathcal{S}|\;|\mathcal{P}|-SLIRS (multiple species)

S\mathcal{S} a set of species

Ssp=Bsp(Nsp)+νspRspΦspdspSsp+qPmSspqSsqLsp=Φsp(εsp+dsp)Lsp+qPmLspqLsqIsp=εspLsp(γsp+dsp)Isp+qPmIspqIsqRsp=γspIsp(νsp+dsp)Rsp+qPmRspqRsq\begin{aligned} S_{sp}' &= \mathcal{B}_{sp}(N_{sp})+\nu_{sp}R_{sp}-\Phi_{sp}-d_{sp}S_{sp} \red{+\textstyle{\sum_{q\in\mathcal{P}}} m_{Sspq}S_{sq}} \\ L_{sp}' &= \Phi_{sp}-(\varepsilon_{sp}+d_{sp})L_{sp} \red{+\textstyle{\sum_{q\in\mathcal{P}}}m_{Lspq}L_{sq}} \\ I_{sp}' &= \varepsilon_{sp}L_{sp}-(\gamma_{sp}+d_{sp})I_{sp} \red{+\textstyle{\sum_{q\in\mathcal{P}}} m_{Ispq}I_{sq}} \\ R_{sp} &= \gamma _{sp}I_{sp}-(\nu_{sp}+d_{sp})R_{sp} \red{+\textstyle{\sum_{q\in\mathcal{P}}} m_{Rspq}R_{sq}} \end{aligned}

Φsp=kSβskpSspIkpNpqp,qp{0,1}\Phi_{sp}=\sum_{k\in\mathcal{S}}\beta_{skp}\frac{S_{sp}I_{kp}}{N_p^{q_p}},\qquad q_p\in\{0,1\}

P2|\mathcal{P}|^2-SLIRS (residency patch/movers-stayers)

Spq=Bpq(Npr)+νpqRpqΦpqdpqSpq+kPmSpqkSpkLpq=Φpq(εpq+dpq)Lpq+kPmLpqkLpkIpq=εpqLpq(γpq+dpq)Ipq+kPmIpqkIpkRpq=γpqIpq(νpq+dpq)Rpq+kPmRpqkRpk\begin{aligned} S_{pq}' =& \mathcal{B}_{pq}\left(N_p^r\right)+\nu_{pq} R_{pq}-\Phi_{pq}-d_{pq}S_{pq} \red{+\textstyle{\sum_{k\in\mathcal{P}}} m_{Spqk}S_{pk}} \\ L_{pq}' =& \Phi_{pq} -(\varepsilon_{pq}+d_{pq})L_{pq} \red{+\textstyle{\sum_{k\in\mathcal{P}}} m_{Lpqk}L_{pk}} \\ I_{pq}' =& \varepsilon_{pq} L_{pq} -(\gamma_{pq}+d_{pq})I_{pq} \red{+\textstyle{\sum_{k\in\mathcal{P}}} m_{Ipqk}I_{pk}} \\ R_{pq}' =& \gamma_{pq} I_{pq} -(\nu_{pq}+d_{pq})R_{pq} \red{+\textstyle{\sum_{k\in\mathcal{P}}} m_{Rpqk}R_{pk}} \end{aligned}

Φpq=kPβpqkSpqIkqNpqq,qq={0,1}\Phi_{pq}=\sum_{k\in\mathcal{P}}\beta_{pqk}\frac{S_{pq}I_{kq}}{N_p^{q_q}},\qquad q_q=\{0,1\}

General metapopulation epidemic models

UC\mathcal{U}\subsetneq\mathcal{C} uninfected and IC\mathcal{I}\subsetneq\mathcal{C} infected compartments, UI=C\mathcal{U}\cup\mathcal{I}=\mathcal{C} and UI=\mathcal{U}\cap\mathcal{I}=\emptyset

For kUk\in\mathcal{U}, I\ell\in\mathcal{I} and pPp\in\mathcal{P},

skp=fkp(Sp,Ip)+qPmkpqskqip=gp(Sp,Ip)+qPmpqiq\begin{aligned} s_{kp}' &= f_{kp}(S_p,I_p)+\sum_{q\in\mathcal{P}} m_{kpq}s_{kq} \\ i_{\ell p}' &= g_{\ell p}(S_p,I_p)+\sum_{q\in\mathcal{P}} m_{\ell pq}i_{\ell q} \end{aligned}

where Sp=(s1p,,sUp)S_p=(s_{1p},\ldots,s_{|\mathcal{U}|p}) and Ip=(i1p,,iIp)I_p=(i_{1p},\ldots,i_{|\mathcal{I}|p})

Basic mathematical analysis

Analysis - Toy system

For simplicity, consider P|\mathcal{P}|-SLIRS with Bp(Np)=Bp\mathcal{B}_p(N_p)=\mathcal{B}_p

Sp=BpΦpdpSp+νpRp+qPmSpqSqLp=Φp(εp+dp)Lp+qPmLpqLqIp=εpLp(γp+dp)Ip+qPmIpqIqRp=γpIp(νp+dp)Rp+qPmRpqRq\begin{aligned} S_{p}' &=\mathcal{B}_p-\Phi_p-d_pS_p+\nu_pR_p +\textstyle{\sum_{q\in\mathcal{P}}} m_{Spq}S_{q} \\ L_{p}' &=\Phi_p-\left( \varepsilon_{p}+d_{p}\right)L_{p} +\textstyle{\sum_{q\in\mathcal{P}}} m_{Lpq}L_{q} \\ I_{p}' &=\varepsilon_pL_p-(\gamma_p+d_p)I_p +\textstyle{\sum_{q\in\mathcal{P}}} m_{Ipq}I_{q} \\ R_{p}' &=\gamma _{p}I_{p}-\left(\nu_{p}+d_{p}\right)R_{p} +\textstyle{\sum_{q\in\mathcal{P}}} m_{Rpq}R_{q} \end{aligned}

Φp=βpSpIpNpqp,qp{0,1}\Phi_p=\beta_p\frac{S_pI_p}{N_p^{q_p}},\qquad q_p\in\{0,1\}

System of 4P4|\mathcal{P}| equations

Size is not that bad..

System of 4P4|\mathcal{P}| equations !!!

However, a lot of structure:

  • P|\mathcal{P}| copies of individual units, each comprising 4 equations
  • Dynamics of individual units well understood
  • Coupling is linear

    \implies Good case of large-scale system (matrix analysis is your friend)

Notation in what follows

  • MMn(R)=Rn×nM\in\mathcal{M}_n(\mathbb{R})=\mathbb{R}^{n\times n} a square matrix with entries denoted mijm_{ij}

  • M0M\geq\mathbf{0} if mij0m_{ij}\geq 0 for all i,ji,j (could be the zero matrix); M>0M>\mathbf{0} if M0M\geq\mathbf{0} and i,j\exists i,j with mij>0m_{ij}>0; M0M\gg\mathbf{0} if mij>0m_{ij}>0 i,j=1,,n\forall i,j=1,\ldots,n. Same notation for vectors

  • σ(M)={λC;Mλ=λv,v0}\sigma(M)=\{\lambda\in\mathbf{C}; M\lambda=\lambda\mathbf{v}, \mathbf{v}\neq\mathbf{0}\} spectrum of MM

  • ρ(M)=maxλσ(M){λ}\rho(M)=\max_{\lambda\in\sigma(M)}\{|\lambda|\} spectral radius

  • s(M)=maxλσ(M){(λ)}s(M)=\max_{\lambda\in\sigma(M)}\{\Re(\lambda)\} spectral abscissa (or stability modulus)

  • MM is an M-matrix if it is a Z-matrix (mij0m_{ij}\leq 0 for iji\neq j) and M=sIAM = s\mathbb{I}-A, with A0A\geq 0 and sρ(A)s\geq \rho(A)

Behaviour of the total population

Consider behaviour of Np=Sp+Lp+Ip+RpN_p=S_p+L_p+I_p+R_p. We have

Np=BpΦpdpSp+νpRp+qPmSpqSq+Φp(εp+dp)Lp+qPmLpqLq+εpLp(γp+dp)Ip+qPmIpqIq+γpIp(νp+dp)Rp+qPmRpqRq\begin{aligned} N_p' &=\mathcal{B}_p\cancel{-\Phi_p}-d_pS_p\cancel{+\nu_pR_p} +\textstyle{\sum_{q\in\mathcal{P}}} m_{Spq}S_{q} \\ &\quad \cancel{+\Phi_p}-\left(\cancel{\varepsilon_{p}} +d_{p}\right)L_{p} +\textstyle{\sum_{q\in\mathcal{P}}} m_{Lpq}L_{q} \\ &\quad \cancel{+\varepsilon_pL_p}-(\cancel{\gamma_p}+d_p)I_p +\textstyle{\sum_{q\in\mathcal{P}}} m_{Ipq}I_{q} \\ &\quad \cancel{+\gamma _{p}I_{p}} -\left(\cancel{\nu_{p}}+d_{p}\right)R_{p} +\textstyle{\sum_{q\in\mathcal{P}}} m_{Rpq}R_{q} \end{aligned}

So

Np=BpdpNp+X{S,L,I,R}qPmXpqXqN_p'=\mathcal{B}_p-d_pN_p +\sum_{X\in\{S,L,I,R\}}\sum_{q\in\mathcal{P}} m_{Xpq}X_{q}

Vector / matrix form of the equation

We have

Np=BpdpNp+X{S,L,I,R}qPmXpqXqN_p'=\mathcal{B}_p-d_pN_p +\sum_{X\in\{S,L,I,R\}}\sum_{q\in\mathcal{P}} m_{Xpq}X_{q}

Write this in vector form

N=bdN+X{S,L,I,R}MXX\mathbf{N}'=\mathbf{b}-\mathbf{d}\mathbf{N}+\sum_{X\in\{S,L,I,R\}}\mathcal{M}^X\mathbf{X}

where b=(B1,,BP)T,N=(N1,,NP)T,X=(X1,,XP)TRP,\mathbf{b}=(\mathcal{B}_1,\ldots,\mathcal{B}_{|\mathcal{P}|})^T,\mathbf{N}=(N_1,\ldots,N_{|\mathcal{P}|})^T,\mathbf{X}=(X_1,\ldots,X_{|\mathcal{P}|})^T\in\mathbb{R}^{|\mathcal{P}|}, d,MX\mathbf{d},\mathcal{M}^X P×P|\mathcal{P}|\times|\mathcal{P}|-matrices with

d=diag(d1,,dP)\mathbf{d}=\mathsf{diag}\left(d_1,\ldots,d_{|\mathcal{P}|}\right)

The movement matrix

Mc=(qPmcq1mc12mc1Pmc21qPmcq2mc2PmcP1mcP2qPmcqP)\mathcal{M}^c= \begin{pmatrix} -\sum_{q\in\mathcal{P}} m_{cq1} & m_{c12} & & m_{c1|\mathcal{P}|} \\ m_{c21} & -\sum_{q\in\mathcal{P}} m_{cq2} & & m_{c2|\mathcal{P}|} \\ & & & \\ m_{c|\mathcal{P}|1} & m_{c|\mathcal{P}|2} & & -\sum_{q\in\mathcal{P}} m_{cq|\mathcal{P}|} \end{pmatrix}

Consider a compartment cCc\in\mathcal{C}. Then the following hold true:

  1. 0σ(Mc)0\in\sigma(\mathcal{M}^c) and corresponds to left eigenvector 1PT=(1,,1)\mathbf{1}^T_{|\mathcal{P}|}=(1,\ldots,1)
  2. Mc−\mathcal{M}^c singular M-matrix
  3. 0=s(Mc)σ(Mc)0 = s(\mathcal{M}^c)\in\sigma(\mathcal{M}^c)
  4. Mc\mathcal{M}^c irreducible     \implies s(Mc)s(\mathcal{M}^c) has multiplicity 1

The nice case

Recall that

N=bdN+X{S,L,I,R}MXX\mathbf{N}'=\mathbf{b}-\mathbf{d}\mathbf{N}+\sum_{X\in\{S,L,I,R\}}\mathcal{M}^X\mathbf{X}

Suppose movement rates equal for all compartments, i.e.,

MS=ML=MI=MR=:M\mathcal{M}^S=\mathcal{M}^L=\mathcal{M}^I=\mathcal{M}^R=:\mathcal{M}

Then

N=bdN+MX{S,L,I,R}X=bdN+MN\begin{aligned} \mathbf{N}' &= \mathbf{b}-\mathbf{d}\mathbf{N}+\mathcal{M}\sum_{X\in\{S,L,I,R\}}\mathbf{X}\\ &= \mathbf{b}-\mathbf{d}\mathbf{N}+\mathcal{M}\mathbf{N} \end{aligned}

N=bdN+MN\mathbf{N}'=\mathbf{b}-\mathbf{d}\mathbf{N}+\mathcal{M}\mathbf{N}

Equilibria

N=0bdN+MN=0(dM)N=bN=(dM)1b\begin{aligned} \mathbf{N}'=\mathbf{0} &\Leftrightarrow \mathbf{b}-\mathbf{d}\mathbf{N}+\mathcal{M}\mathbf{N}=\mathbf{0} \\ &\Leftrightarrow (\mathbf{d}-\mathcal{M})\mathbf{N}=\mathbf{b} \\ &\Leftrightarrow \mathbf{N}^\star=(\mathbf{d}-\mathcal{M})^{-1}\mathbf{b} \end{aligned}

given, of course, that dM\mathbf{d}-\mathcal{M} (or, equivalently, Md\mathcal{M}-\mathbf{d}) is invertible.. Is it?

"Perturbations" of movement matrices

M\mathcal{M} a movement matrix and DD a diagonal matrix. The following hold true:

  1. s(M+dI)=ds(\mathcal{M}+d\mathbb{I})=d for all dRd\in\mathbb{R}
  2. s(M+D)σ(M+D)s(\mathcal{M}+D)\in\sigma(\mathcal{M}+D) and is associated with an eigenvector v>0\mathbf{v}>\mathbf{0}. If, additionally, M\mathcal{M} irreducible, then s(M+D)s(\mathcal{M}+D) has multiplicity 1 and is associated with v0\mathbf{v}\gg\mathbf{0}
  3. diag(D)0\mathsf{diag}(D)\gg\mathbf{0}     \implies DMD-\mathcal{M} nonsingular M-matrix and (DM)1>0(D-\mathcal{M})^{-1}>\mathbf{0}
  4. M\mathcal{M} irreducible and diag(D)>0\mathsf{diag}(D)>\mathbf{0}     \implies DMD-\mathcal{M} irreducible nonsingular M-matrix and (DM)10(D-\mathcal{M})^{-1}\gg\mathbf{0}

Nonsingularity of Md\mathcal{M}-\mathbf{d}

Using a spectrum shift,

s(Md)=minpPdps(\mathcal{M}-\mathbf{d})=-\min_{p\in\mathcal{P}}d_p

This gives a constraint: for total population to behave well (in general, we want this), we must assume all death rates are positive

Assume they are (in other words, assume d\mathbf{d} nonsingular). Then Md\mathcal{M}-\mathbf{d} is nonsingular and N=(dM)1b\mathbf{N}^\star=(\mathbf{d}-\mathcal{M})^{-1}\mathbf{b} unique

Behaviour of the total population

Equal movement case

N=(dM)1b\mathbf{N}^\star=(\mathbf{d}-\mathcal{M})^{-1}\mathbf{b} attracts solutions of

N=bdN+MN=:f(N)\mathbf{N}'=\mathbf{b}-\mathbf{d}\mathbf{N}+\mathcal{M}\mathbf{N}=:f(\mathbf{N})

Indeed, we have

Df=MdDf=\mathcal{M}-\mathbf{d}

Since we now assume that d\mathbf{d} is nonsingular, we have (spectral shift & properties of M\mathcal{M}) s(Md)=minpPdp<0s(\mathcal{M}-\mathbf{d})=-\min_{p\in\mathcal{P}}d_p<0

M\mathcal{M} irreducible \rightarrow N0\mathbf{N}^\star\gg 0 (provided b>0\mathbf{b}>\mathbf{0}, of course)

Behaviour of total population with reducible movement

Assume M\mathcal{M} reducible. Let aa be the number of minimal absorbing sets in the corresponding connection graph G(M)\mathcal{G}(\mathcal{M}). Then

  1. The spectral abscissa s(M)=0s(\mathcal{M})=0 has multiplicity aa
  2. Associated to s(M)s(\mathcal{M}) is a nonnegative eigenvector v\mathbf{v} s.t.
    • vi>0v_i>0 if ii is a vertex in a minimal absorbing set
    • vi=0v_i=0 if ii is a transient vertex

From Foster and Jacquez, Multiple zeros for eigenvalues and the multiplicity of traps of a linear compartmental system, Mathematical Biosciences (1975)

The not-so-nice case

Recall that

N=bdN+X{S,L,I,R}MXX\mathbf{N}'=\mathbf{b}-\mathbf{d}\mathbf{N}+\sum_{X\in\{S,L,I,R\}}\mathcal{M}^X\mathbf{X}

Suppose movement rates similar for all compartments, i.e., the zero/nonzero patterns in all matrices are the same but not the entries

Let

M=[minX{S,L,I,R}mXpq]pq,pqM=[maxX{S,L,I,R}mXpq]pq,p=q\underline{\mathcal{M}}=\left[\min_{X\in\{S,L,I,R\}}m_{Xpq}\right]_{pq,p\neq q}\qquad \underline{\mathcal{M}}=\left[\max_{X\in\{S,L,I,R\}}m_{Xpq}\right]_{pq,p=q}

and

M=[maxX{S,L,I,R}mXpq]pq,pqM=[minX{S,L,I,R}mXpq]pq,p=q\overline{\mathcal{M}}=\left[\max_{X\in\{S,L,I,R\}}m_{Xpq}\right]_{pq,p\neq q}\qquad \overline{\mathcal{M}}=\left[\min_{X\in\{S,L,I,R\}}m_{Xpq}\right]_{pq,p=q}

Cool, no? No!

Then we have

bdN+MNNbdN+MN\mathbf{b}-\mathbf{d}\mathbf{N}+\underline{\mathcal{M}}\mathbf{N}\leq\mathbf{N}'\leq\mathbf{b}-\mathbf{d}\mathbf{N}+\overline{\mathcal{M}}\mathbf{N}

Me, roughly every 6 months: Oooh, coooool, a linear differential inclusion!

Me, roughly 10 minutes after that previous statement: Quel con!

Indeed M\underline{\mathcal{M}} and M\overline{\mathcal{M}} are are not movement matrices (in particular, their column sums are not all zero)

So no luck there..

However, non lasciate ogne speranza, we can still do stuff!

Disease free equilibrium (DFE)

Assume system at equilibrium and Lp=Ip=0L_p=I_p=0 for pPp\in\mathcal{P}. Then Φp=0\Phi_p=0 and

0=BpdpSp+νpRp+qPmSpqSq0=(νp+dp)Rp+qPmRpqRq\begin{aligned} 0 &=\mathcal{B}_p-d_pS_p+\nu_pR_p +\textstyle{\sum_{q\in\mathcal{P}}} m_{Spq}S_{q} \\ 0 &=-\left(\nu_{p}+d_{p}\right)R_{p} +\textstyle{\sum_{q\in\mathcal{P}}} m_{Rpq}R_{q} \end{aligned}

Want to solve for Sp,RpS_p,R_p. Here, it is best (crucial in fact) to remember some linear algebra. Write system in vector form:

0=bdS+νR+MSS0=(ν+d)R+MRR\begin{aligned} \mathbf{0} &=\mathbf{b}-\mathbf{d}\mathbf{S}+\mathbf{\nu}\mathbf{R}+\mathcal{M}^S\mathbf{S} \\ \mathbf{0} &=-\left(\mathbf{\nu}+\mathbf{d}\right)\mathbf{R}+\mathcal{M}^R\mathbf{R} \end{aligned}

where S,R,bRP\mathbf{S},\mathbf{R},\mathbf{b}\in\mathbb{R}^{|\mathcal{P}|}, d,ν,MS,MR\mathbf{d},\mathbf{\nu},\mathcal{M}^S,\mathcal{M}^R P×P|\mathcal{P}|\times|\mathcal{P}|-matrices (d,ν\mathbf{d},\mathbf{\nu} diagonal)

R\mathbf{R} at DFE

Recall second equation:

0=(ν+d)R+MRR(MRνd)R=0\mathbf{0} =-\left(\mathbf{\nu}+\mathbf{d}\right)\mathbf{R}+\mathcal{M}^R\mathbf{R} \Leftrightarrow (\mathcal{M}^R-\mathbf{\nu}-\mathbf{d})\mathbf{R}=\mathbf{0}

So unique solution R=0\mathbf{R}=\mathbf{0} if MRνd\mathcal{M}^R-\mathbf{\nu}-\mathbf{d} invertible.
Is it?

We have been here before!

From spectrum shift, s(MRνd)=minpP(νp+dp)<0s(\mathcal{M}^R-\mathbf{\nu}-\mathbf{d})=-\min_{p\in\mathcal{P}}(\nu_p+d_p)<0

So, given L=I=0\mathbf{L}=\mathbf{I}=\mathbf{0}, R=0\mathbf{R}=\mathbf{0} is the unique equilibrium and

limtR(t)=0\lim_{t\to\infty}\mathbf{R}(t)=\mathbf{0}

    \implies DFE has L=I=R=0\mathbf{L}=\mathbf{I}=\mathbf{R}=\mathbf{0}

S\mathbf{S} at the DFE

DFE has L=I=R=0\mathbf{L}=\mathbf{I}=\mathbf{R}=\mathbf{0} and bdS+MSS=0\mathbf{b}-\mathbf{d}\mathbf{S}+\mathcal{M}^S\mathbf{S}=\mathbf{0}, i.e.,

S=(dMS)1b\mathbf{S}=(\mathbf{d}-\mathcal{M}^S)^{-1}\mathbf{b}

Recall: MS-\mathcal{M}^S singular M-matrix. From previous reasoning, dMS\mathbf{d}-\mathcal{M}^S has instability modulus shifted right by minpPdp\min_{p\in\mathcal{P}}d_p. So:

  • dMS\mathbf{d}-\mathcal{M}^S invertible
  • dMS\mathbf{d}-\mathcal{M}^S nonsingular M-matrix

Second point     (dMS)1>0    (dMS)1b>0\implies (\mathbf{d}-\mathcal{M}^S)^{-1}>\mathbf{0}\implies (\mathbf{d}-\mathcal{M}^S)^{-1}\mathbf{b}> \mathbf{0} (would have 0\gg\mathbf{0} if MS\mathcal{M}^S irreducible)

So DFE makes sense with

(S,L,I,R)=((dMS)1b,0,0,0)(\mathbf{S},\mathbf{L},\mathbf{I},\mathbf{R})=\left((\mathbf{d}-\mathcal{M}^S)^{-1}\mathbf{b},\mathbf{0},\mathbf{0},\mathbf{0}\right)

Computing the basic reproduction number R0\mathcal{R}_0

Use next generation method with Ξ={L1,,LP,I1,,IP}\Xi=\{L_1,\ldots,L_{|\mathcal{P}|},I_1,\ldots,I_{|\mathcal{P}|}\}, Ξ=FV\Xi'=\mathcal{F}-\mathcal{V}

F=(Φ1,,ΦP,0,,0)T\mathcal{F}=\left(\Phi_1,\ldots,\Phi_{|\mathcal{P}|},0,\ldots,0\right)^T

V=((ε1+d1)L1qPmL1qLq(εP+dP)LPqPmLPqLqε1L1+(γ1+d1)I1qPmI1qIqεPLP+(γP+dP)IPqPmIPqIq)\mathcal{V}= \begin{pmatrix} \left( \varepsilon_{1}+d_{1}\right)L_{1} -\sum\limits_{q\in\mathcal{P}} m_{L1q}L_{q} \\ \vdots \\ \left( \varepsilon_{|\mathcal{P}|}+d_{|\mathcal{P}|}\right)L_{|\mathcal{P}|} -\sum\limits_{q\in\mathcal{P}} m_{L|\mathcal{P}|q}L_{q} \\ -\varepsilon_1L_1+(\gamma_1+d_1)I_1 -\sum\limits_{q\in\mathcal{P}} m_{I1q}I_{q} \\ \vdots \\ -\varepsilon_{|\mathcal{P}|}L_{|\mathcal{P}|} +(\gamma_{|\mathcal{P}|}+d_{|\mathcal{P}|})I_{|\mathcal{P}|} -\sum\limits_{q\in\mathcal{P}} m_{I|\mathcal{P}|q}I_{q} \end{pmatrix}

Differentiate w.r.t. Ξ\Xi:

DF=(Φ1L1Φ1LPΦ1I1Φ1IPΦPL1ΦPLPΦPI1ΦPIP00000000)D\mathcal{F} = \begin{pmatrix} \dfrac{\partial\Phi_1}{\partial L_1} & \cdots & \dfrac{\partial\Phi_1}{\partial L_{|\mathcal{P}|}} & \dfrac{\partial\Phi_1}{\partial I_1} & \cdots & \dfrac{\partial\Phi_1}{\partial I_{|\mathcal{P}|}} \\ \vdots & & \vdots & \vdots & & \vdots \\ \dfrac{\partial\Phi_{|\mathcal{P}|}}{\partial L_1} & \cdots & \dfrac{\partial\Phi_{|\mathcal{P}|}}{\partial L_{|\mathcal{P}|}} & \dfrac{\partial\Phi_{|\mathcal{P}|}}{\partial I_1} & \cdots & \dfrac{\partial\Phi_{|\mathcal{P}|}}{\partial I_{|\mathcal{P}|}} \\ 0 & \cdots & 0 & 0 & \cdots & 0 \\ \vdots & & \vdots & \vdots & & \vdots \\ 0 & \cdots & 0 & 0 & \cdots & 0 \end{pmatrix}

Note that

ΦpLk=ΦpIk=0\frac{\partial\Phi_p}{\partial L_k}=\frac{\partial\Phi_p}{\partial I_k}=0

whenever kpk\neq p, so

DF=(diag(Φ1L1,,ΦPLP)diag(Φ1I1,,ΦPIP)00)D\mathcal{F} = \begin{pmatrix} \mathsf{diag}\left( \frac{\partial\Phi_1}{\partial L_1},\ldots,\frac{\partial\Phi_{|\mathcal{P}|}}{\partial L_{|\mathcal{P}|}}\right) & \mathsf{diag}\left( \frac{\partial\Phi_1}{\partial I_1},\ldots,\frac{\partial\Phi_{|\mathcal{P}|}}{\partial I_{|\mathcal{P}|}}\right) \\ \mathbf{0} & \mathbf{0} \end{pmatrix}

Evaluate DFD\mathcal{F} at DFE

If Φp=βpSpIp\Phi_p=\beta_pS_pI_p, then

  • ΦpLp=0\dfrac{\partial\Phi_p}{\partial L_p}=0
  • ΦpIp=βpSp\dfrac{\partial\Phi_p}{\partial I_p}=\beta_pS_p

If Φp=βpSpIpNp\Phi_p=\beta_p\dfrac{S_pI_p}{N_p}, then

  • ΦpLp=βpSpIpNp2=0\dfrac{\partial\Phi_p}{\partial L_p}=\beta_p\dfrac{S_pI_p}{N_p^2}=0 at DFE
  • ΦpIp=βpSpNp\dfrac{\partial\Phi_p}{\partial I_p}=\beta_p\dfrac{S_p}{N_p} at DFE

In both cases, /L\partial/\partial L block is zero so

F=DF(DFE)=(0diag(Φ1I1,,ΦPIP)00)F=D\mathcal{F}(DFE)= \begin{pmatrix} \mathbf{0} & \mathsf{diag}\left( \frac{\partial\Phi_1}{\partial I_1},\ldots,\frac{\partial\Phi_{|\mathcal{P}|}}{\partial I_{|\mathcal{P}|}}\right) \\ \mathbf{0} & \mathbf{0} \end{pmatrix}

Compute DVD\mathcal{V} and evaluate at DFE

V=(diagp(εp+dp)ML0diagp(εp)diagp(γp+dp)MI)V= \begin{pmatrix} \mathsf{diag}_p(\varepsilon_p+d_p)-\mathcal{M}^L & \mathbf{0} \\ -\mathsf{diag}_p(\varepsilon_p) & \mathsf{diag}_p(\gamma_p+d_p)-\mathcal{M}^I \end{pmatrix}

where diagp(zp)=diag(z1,,zP)\mathsf{diag}_p(z_p)=\mathsf{diag}(z_1,\ldots,z_{|\mathcal{P}|}). Inverse of VV easy (2×22\times 2 block lower triangular):

V1=((diagp(εp+dp)ML)10V~211(diagp(γp+dp)MI)1)V^{-1} = \begin{pmatrix} \left(\mathsf{diag}_p(\varepsilon_p+d_p)-\mathcal{M}^L\right)^{-1} & \mathbf{0} \\ \tilde V_{21}^{-1} & \left(\mathsf{diag}_p(\gamma_p+d_p)-\mathcal{M}^I\right)^{-1} \end{pmatrix}

where

V~211=(diagp(εp+dp)ML)1diagp(εp)(diagp(γp+dp)MI)1\tilde V_{21}^{-1}= \left(\mathsf{diag}_p(\varepsilon_p+d_p)-\mathcal{M}^L\right)^{-1} \mathsf{diag}_p(\varepsilon_p) \left(\mathsf{diag}_p(\gamma_p+d_p)-\mathcal{M}^I\right)^{-1}

R0\mathcal{R}_0 as ρ(FV1)\rho(FV^{-1})

Next generation matrix

FV1=(0F1200)(V~1110V~211V~221)=(F12V~211F12V~22100)FV^{-1}= \begin{pmatrix} \mathbf{0} & F_{12} \\ \mathbf{0} & \mathbf{0} \end{pmatrix} \begin{pmatrix} \tilde V_{11}^{-1} & \mathbf{0} \\ \tilde V_{21}^{-1} & \tilde V_{22}^{-1} \end{pmatrix} = \begin{pmatrix} F_{12}\tilde V_{21}^{-1} & F_{12}\tilde V_{22}^{-1} \\ \mathbf{0} & \mathbf{0} \end{pmatrix}

where V~ij1\tilde V_{ij}^{-1} is block ijij in V1V^{-1}. So

R0=ρ(F12V~211)\mathcal{R}_0=\rho\left(F_{12}\tilde{V}_{21}^{-1}\right)

i.e.,

R0=ρ(diag(Φ1I1,,ΦPIP)(diagp(εp+dp)ML)1diagp(εp)(diagp(γp+dp)MI)1)\mathcal{R}_0=\rho\Biggl( \mathsf{diag}\left( \frac{\partial\Phi_1}{\partial I_1},\ldots,\frac{\partial\Phi_{|\mathcal{P}|}}{\partial I_{|\mathcal{P}|}}\right) \left(\mathsf{diag}_p(\varepsilon_p+d_p)-\mathcal{M}^L\right)^{-1} \\ \qquad\qquad\qquad\qquad\qquad\qquad \mathsf{diag}_p(\varepsilon_p) \left(\mathsf{diag}_p(\gamma_p+d_p)-\mathcal{M}^I\right)^{-1} \Biggr)

Local asymptotic stability of the DFE

Define R0\mathcal{R}_0 for the P|\mathcal{P}|-SLIRS as

R0=ρ(diag(Φ1I1,,ΦPIP)(diagp(εp+dp)ML)1diagp(εp)(diagp(γp+dp)MI)1)\mathcal{R}_0=\rho\Biggl( \mathsf{diag}\left( \frac{\partial\Phi_1}{\partial I_1},\ldots,\frac{\partial\Phi_{|\mathcal{P}|}}{\partial I_{|\mathcal{P}|}}\right) \left(\mathsf{diag}_p(\varepsilon_p+d_p)-\mathcal{M}^L\right)^{-1} \\ \qquad\qquad\qquad\qquad\qquad\qquad \mathsf{diag}_p(\varepsilon_p) \left(\mathsf{diag}_p(\gamma_p+d_p)-\mathcal{M}^I\right)^{-1} \Biggr)

Then the DFE

(S,L,I,R)=((dMS)1b,0,0,0)(\mathbf{S},\mathbf{L},\mathbf{I},\mathbf{R})=\left((\mathbf{d}-\mathcal{M}^S)^{-1}\mathbf{b},\mathbf{0},\mathbf{0},\mathbf{0}\right)

is locally asymptotically stable if R0<1\mathcal{R}_0<1 and unstable if R0>1\mathcal{R}_0>1

From PvdD & Watmough, Reproduction numbers and sub-threshold endemic equilibria for compartmental models of disease transmission, Bulletin of Mathematical Biology 180(1-2): 29-48 (2002)

Global stability considerations

  • GAS is much harder
  • It has been done many times (look at my papers, but also those of Li, Shuai, Thieme, van den Driessche, Wang, Zhao..)
  • I am not aware of a way to do this generically

R0\mathcal{R}_0 is not the panacea

An urban centre and satellite cities

JA & S Portet. Epidemiological implications of mobility between a large urban centre and smaller satellite cities. Journal of Mathematical Biology 71(5):1243-1265 (2015)

Context of the study

Winnipeg as urban centre and 3 smaller satellite cities: Portage la Prairie, Selkirk and Steinbach

  • population density low to very low outside of Winnipeg
  • MB road network well studied by MB Infrastructure Traffic Engineering Branch

Known and estimated quantities

City Pop. (2014) Pop. (now) Dist. Avg. trips/day
Winnipeg (W) 663,617 749,607 - -
Portage la Prairie (1) 12,996 13,270 88 4,115
Selkirk (2) 9,834 10,504 34 7,983
Steinbach (3) 13,524 17,806 66 7,505

Estimating movement rates

Assume myxm_{yx} movement rate from city xx to city yy. Ceteris paribus, Nx=myxNxN_x'=-m_{yx}N_x, so Nx(t)=Nx(0)emyxtN_x(t)=N_x(0)e^{-m_{yx}t}. Therefore, after one day, Nx(1)=Nx(0)emyxN_x(1)=N_x(0)e^{-m_{yx}}, i.e.,

myx=ln(Nx(1)Nx(0))m_{yx}=-\ln\left(\frac{N_x(1)}{N_x(0)}\right)

Now, Nx(1)=Nx(0)TyxN_x(1)=N_x(0)-T_{yx}, where TyxT_{yx} number of individuals going from xx to yy / day. So

myx=ln(1TyxNx(0))m_{yx}=-\ln\left(1-\frac{T_{yx}}{N_x(0)}\right)

Computed for all pairs (W,i)(W,i) and (i,W)(i,W) of cities

Sensitivity of R0\mathcal{R}_0 to variations of R0x[0.5,3]\mathcal{R}_0^x\in[0.5,3]


with disease: R0x=1.5\mathcal{R}_0^x=1.5; without disease: R0x=0.5\mathcal{R}_0^x=0.5. Each box and corresponding whiskers are 10,000 simulations

Lower connectivity can drive R0\mathcal{R}_0

PLP and Steinbach have comparable populations but with parameters used, only PLP can cause the general R0\mathcal{R}_0 to take values larger than 1 when R0W<1\mathcal{R}_0^W<1

This is due to the movement rate: if M=0\mathcal{M}=0, then

R0=max{R0W,R01,R02,R03},\mathcal{R}_0=\max\{\mathcal{R}_0^W,\mathcal{R}_0^1,\mathcal{R}_0^2,\mathcal{R}_0^3\},

since FV1FV^{-1} is then block diagonal

Movement rates to and from PLP are lower \rightarrow situation closer to uncoupled case and R01\mathcal{R}_0^1 has more impact on the general R0\mathcal{R}_0

R0\mathcal{R}_0 does not tell the whole story!


Plots as functions of R01\mathcal{R}_0^1 in PLP and the reduction of movement between Winnipeg and PLP. Left: general R0\mathcal{R}_0. Right: Attack rate in Winnipeg

Problems specific to metapopulations

Inherited dynamical properties (a.k.a. I am lazy)

Given

skp=fkp(Sp,Ip)ip=gp(Sp,Ip)\begin{aligned} s_{kp}' &= f_{kp}(S_p,I_p) \\ i_{\ell p}' &= g_{\ell p}(S_p,I_p) \end{aligned}

with known properties, what is known of

skp=fkp(Sp,Ip)+qPmkpqskqip=gp(Sp,Ip)+qPmpqiq?\begin{aligned} s_{kp}' &= f_{kp}(S_p,I_p)+\textstyle{\sum_{q\in\mathcal{P}}} m_{kpq}s_{kq} \\ i_{\ell p}' &= g_{\ell p}(S_p,I_p)+\textstyle{\sum_{q\in\mathcal{P}}} m_{\ell pq}i_{\ell q} \qquad ? \end{aligned}

  • Existence and uniqueness \checkmark
  • Invariance of R+\mathbb{R}_+^\bullet under the flow \checkmark
  • Boundedness \checkmark
  • Location of individual R0i\mathcal{R}_{0i} and general R0\mathcal{R}_0?
  • GAS?

An inheritance problem - Backward bifurcations

  • Suppose a model that, isolated in a single patch, undergoes so-called backward bifurcations
  • This means the model admits subthreshold endemic equilibria
  • What happens when you couple many such consistuting units?

YES, coupling together backward bifurcating units can lead to a system-level backward bifurcation

JA, Ducrot & Zongo. A metapopulation model for malaria with transmission-blocking partial immunity in hosts. Journal of Mathematical Biology 64(3):423-448 (2012)

Metapopulation-induced behaviours ?

"Converse" problem to inheritance problem. Given

skp=fkp(Sp,Ip)ip=gp(Sp,Ip)\begin{aligned} s_{kp}' &= f_{kp}(S_p,I_p) \\ i_{\ell p}' &= g_{\ell p}(S_p,I_p) \end{aligned}

with known properties, does

skp=fkp(Sp,Ip)+qPmkpqskqip=gp(Sp,Ip)+qPmpqiq\begin{aligned} s_{kp}' &= f_{kp}(S_p,I_p)+\textstyle{\sum_{q\in\mathcal{P}}} m_{kpq}s_{kq} \\ i_{\ell p}' &= g_{\ell p}(S_p,I_p)+\textstyle{\sum_{q\in\mathcal{P}}} m_{\ell pq}i_{\ell q} \end{aligned}

exhibit some behaviours not observed in the uncoupled system?

E.g.: units have {R0<1    \{\mathcal{R}_0<1\implies DFE GAS, R0>1    \mathcal{R}_0>1\implies 1 GAS EEP}\} behaviour, metapopulation has periodic solutions

Mixed equilibria

Can there be situations where some patches are at the DFE and others at an EEP?

This is the problem of mixed equilibria

This is a metapopulation-specific problem, not one of inheritance of dynamical properties!

Types of equilibria

[Patch level] Patch pPp\in\mathcal{P} at equilibrium is empty if Xp=0X_p^\star=0, at the disease-free equilibrium if Xp=(sk1p,,skup,0,,0)X_p^\star=(s_{k_1p}^\star,\ldots,s_{k_up}^\star,0,\ldots,0), where k1,,kuk_1,\ldots,k_u are some indices with 1uU1\leq u\leq|\mathcal{U}| and sk1p,,skups_{k_1p}^\star,\ldots,s_{k_up}^\star are positive, and at an endemic equilibrium if Xp0X_p\gg 0

[Metapopulation level] A population-free equilibrium has all patches empty. A metapopulation disease-free equilibrium has all patches at the disease-free equilibrium for the same compartments. A metapopulation endemic equilibrium has all patches at an endemic equilibrium

Mixed equilibria

A mixed equilibrium is an equilibrium such that

  • all patches are at a disease-free equilibrium but the system is not at a metapopulation disease-free equilibrium
  • or, there are at least two patches that have different types of patch-level equilibrium (empty, disease-free or endemic)

E.g.,

((S1,I1,R1),(S2,I2,R2))=((+,0,0),(+,+,+))((S_1,I_1,R_1),(S_2,I_2,R_2))=((+,0,0),(+,+,+))

is mixed, so is

((S1,I1,R1),(S2,I2,R2))=((+,0,0),(+,0,+))((S_1,I_1,R_1),(S_2,I_2,R_2))=((+,0,0),(+,0,+))

Suppose that movement is similar for all compartments (MSAC) and that the system is at equilibrium

  • If patch pPp\in\mathcal{P} is empty, then all patches in A(p)\mathcal{A}(p) are empty
  • If patch pPp\in\mathcal{P} is at a disease free equilibrium, then the subsystem consisting of all patches in {p,A(p)}\{p,\mathcal{A}(p)\} is at a metapopulation disease free equilibrium
  • If patch pPp\in\mathcal{P} is at an endemic equilibrium, then all patches in D(p)\mathcal{D}(p) are also at an endemic equilibrium
  • If Gc\mathcal{G}^c is strongly connected for some compartment cCc\in\mathcal{C}, then there does not exist mixed equilibria

Note that MSAC     \implies Ac=A\mathcal{A}^c=\mathcal{A} and Dc=D\mathcal{D}^c=\mathcal{D} for all cCc\in\mathcal{C}

Interesting (IMHO) problems

More is needed on inheritance problem, in particular GAS part (Li, Shuai, Kamgang, Sallet, and older stuff: Michel & Miller, Šiljak)

Incorporate travel time (delay) and events (infection, recovery, death ..) during travel

What is the minimum complexity of the movement functions mm below

skp=fkp(Sp,Ip)+qPmkpq(S,I)skqip=gp(Sp,Ip)+qPmpq(S,I)iq\begin{aligned} s_{kp}' &= f_{kp}(S_p,I_p)+\textstyle{\sum_{q\in\mathcal{P}}} m_{kpq}(S,I)s_{kq} \\ i_{\ell p}' &= g_{\ell p}(S_p,I_p)+\textstyle{\sum_{q\in\mathcal{P}}} m_{\ell pq}(S,I)i_{\ell q} \end{aligned}

required to observe a metapopulation-induced behaviour?

Numerical investigations

Not very difficult

  • As for the mathematical analysis: if you do things carefully and think about things a bit, numerics are not hard. Well: not harder than numerics in low-D
  • Exploit vector structure

Define the vector field

SLIAR_metapop_rhs <- function(t, x, p) {
  with(as.list(x), {
    S = x[p$idx_S]
    L = x[p$idx_L]
    I = x[p$idx_I]
    A = x[p$idx_A]
    R = x[p$idx_R]
    N = S + L + I + A + R
    Phi = p$beta * S * (I + p$eta * A)
    dS = S - Phi + p$M %*% S
    dL = Phi - p$epsilon * L + p$M %*% L
    dI = (1 - p$pi) * p$epsilon * L - p$gammaI * I + p$M %*% I
    dA = p$pi * p$epsilon * L - p$gammaA * A + p$M %*% A
    dR = p$gammaI * I + p$gammaA * A + p$M %*% R
    list(c(dS, dL, dI, dA, dR))
  })
}

Set up parameters

pop = c(34.017, 1348.932, 1224.614, 173.593, 93.261) * 1e+06
countries = c("Canada", "China", "India", "Pakistan", "Philippines")
T = matrix(data = 
             c(0, 1268, 900, 489, 200, 
               1274, 0, 678, 859, 150, 
               985, 703, 0, 148, 58, 
               515, 893, 144, 0, 9, 
               209, 174, 90, 2, 0), 
           nrow = 5, ncol = 5, byrow = TRUE)

Work out movement matrix

p = list()
# Use the approximation explained in Arino & Portet (JMB 2015)
p$M = mat.or.vec(nr = dim(T)[1], nc = dim(T)[2])
for (from in 1:5) {
  for (to in 1:5) {
    p$M[to, from] = -log(1 - T[from, to]/pop[from])
  }
  p$M[from, from] = 0
}
p$M = p$M - diag(colSums(p$M))
p$P = dim(p$M)[1]
p$idx_S = 1:p$P
p$idx_L = (p$P + 1):(2 * p$P)
p$idx_I = (2 * p$P + 1):(3 * p$P)
p$idx_A = (3 * p$P + 1):(4 * p$P)
p$idx_R = (4 * p$P + 1):(5 * p$P)
p$eta = rep(0.3, p$P)
p$epsilon = rep((1/1.5), p$P)
p$pi = rep(0.7, p$P)
p$gammaI = rep((1/5), p$P)
p$gammaA = rep((1/3), p$P)
# The desired values for R_0. Here we take something simple
R_0 = rep(1.5, p$P)

Set up IC and time

# Set initial conditions. For example, we start with 2
# infectious individuals in Canada.
L0 = mat.or.vec(p$P, 1)
I0 = mat.or.vec(p$P, 1)
A0 = mat.or.vec(p$P, 1)
R0 = mat.or.vec(p$P, 1)
I0[1] = 2
S0 = pop - (L0 + I0 + A0 + R0)
# Vector of initial conditions to be passed to ODE solver.
IC = c(S = S0, L = L0, I = I0, A = A0, R = R0)
# Time span of the simulation (5 years here)
tspan = seq(from = 0, to = 5 * 365.25, by = 0.1)

Set up β\beta to avoid blow up

Let us take R0=1.5\mathcal{R}_0=1.5 for patches in isolation. Solve R0\mathcal{R}_0 for β\beta

β=R0S(0)(1πpγIp+πpηpγAp)1\beta=\frac{\mathcal{R}_0}{S(0)} \left( \frac{1-\pi_p}{\gamma_{Ip}} +\frac{\pi_p\eta_p}{\gamma_{Ap}} \right)^{-1}

for (i in 1:p$P) {
  p$beta[i] = 
    R_0[i] / S0[i] * 1/((1 - p$pi[i])/p$gammaI[i] + p$pi[i] * p$eta[i]/p$gammaA[i])
}

And now the problems begin :)

# Call the ODE solver
sol <- deSolve::ode(y = IC, times = tspan, 
                    func = SLIAR_metapop_rhs, parms = p)
## DLSODA- At current T (=R1), MXSTEP (=I1) steps
## taken on this call before reaching TOUT
## In above message, I1 = 5000
##
## In above message, R1 = 117.498

The output I copy above means the integration went wrong. The problem is the sie difference between countries, in particular China and Canada..

Need to play with movement rates and initial conditions. Will not explain here

Stochastic simulations

  • Simulating the ODE metapopulation as a continuous time Markov chain (CTMC) is a little more complicated

  • However, still relatively easy to do if being careful using R libraries such as adaptivetau or GillespieSSA2

Epilogue / Postlude

In conclusion

  • Space is a fundamental component of the epidemic spread process and cannot be ignored, both in modelling and in public health decision making

  • One way to model space is to use metapopulation models

  • Metapopulation models are easy to analyse locally, give interesting problems at the global level and are easy to simulate

  • Simulation (deterministic and stochastic) can be costly in RAM and cycles

  • Metapopulation models are not the only solution

To finish, let us circle back to Thucydides!

  • [..] physicians [..] died [..] the most thickly, as they visited the sick most often
  • No remedy was found that could be used as a specific; for what did good in one case, did harm in another
  • those who had recovered from the disease [..] knew what it was from experience, and had now no fear for themselves; for the same man was never attacked twice—never at least fatally
  • An aggravation of the existing calamity was the influx from the country into the city, and this was especially felt by the new arrivals. As there were no houses to receive them, they had to be lodged at the hot season of the year in stifling cabins, where the mortality raged without restraint
  • Supplications in the temples, divinations, and so forth were found equally futile

Merci / Miigwech / Thank you

<div style = "text-align: justify">

</div>