SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Petter


Holme




Temporal


network


epidemiology:


Subtleties


and


algorithms
Temporal networks
i j t
1 2 0
1 2 5
2 3 7
1 2 8
3 4 9
⋮ ⋮ ⋮
0
2
3
4
Time
10
1
5
SIR on static graphs
‣Infection rate β → Infection across an SI link* is a Poisson process for its
duration.


‣ . . . *Edge in a static graph.


‣Constant recovery rate ν → Exponentially distributed durations of infection.


‣One seed chosen at random among all vertices.
‣Gillespie


‣Event-driven algorithm (Kiss, Miller, Simon, 2017), a.k.a. Next-reaction


‣Composition / rejection (St-Onge, Comp. Phys. Comm. 2019)
Algorithms
SIR on temporal graphs
‣Realism | After all, the goal is to simulate reality


‣Continuity | It should be possible to reduce the time dimension and get static
network epidemiology.


‣Simplicity | Keep the same level of abstraction throughout the modeling.


‣Generalizability | It should be easy to extend the model.


‣Speed | As a tiebreaker among design principles.
Design principles:
P Holme, 2021. Fast and principled simulations of the SIR model on temporal
networks. PLoS ONE 16(2): e0246961.
Algorithmic model formulation
‣Initialization | Initialize all individuals to susceptible.


‣Seeding | Pick a random individual i and a random time ti in the interval [0,T). At
time ti, infect i.


‣Recovery | Whenever a node becomes infected, let it stay infected for an
exponentially distributed time δ before it recovers.


‣Contagion | If i got infected at time ti and is still infected at time t > ti, and j is
susceptible at time t, then a contact (i,j,t) will infect j with probability β.
Straightforward algorithm
1. Initialize all nodes as susceptible.


2. Run through the contacts in increasing order of time.


3. If a there is a contact between a susceptible and infectious node, then infect the
susceptible node with probability β.


4. Whenever a node gets infected (including the source), then draw its time to recovery
from an exponential distribution, and change its state to I.


5. Stop the simulation when there are no infectious nodes.
0
2
3
4
Time
10
1
5
1. Bisection search to
fi
nd the
fi
rst contact that can spread the disease. 


2. Stop the simulations when all infected nodes are no longer active.
Could be sped up with several tricks:
0
A
B
5 10 15 20
a
b
c
d
Time
a:
b
c
d
19
2 15
0 4 6
10
b: a 0 4 6 c: a
d
19
2 15
13 16
d: c 13 16
a 10
Internal representation of the temporal network
Contact lists ordered in decreasing order of the last element.
Event-based algorithm
Event-based algorithm
1. Use bisection search to
fi
nd the smallest index k of tij such that ti < tij(k).
Where tij(k) denotes the k’th contact of tij.


2. Add a random number K generated by log(1–X) / log(1–β) to k and
denote the sum by k′. (The probability of the k’th event of a Bernoulli process
occurring.) X is a uniform random number in [0,1).


3. If k′ is larger than tij’s number of elements, then return some out-of-bounds
value (to signal that no contact will spread the disease). Otherwise, return k′
—the contact between i and j that could be contagious.
Contagious contact


Finding what contact between two nodes i and j that would spread the disease, if
any.
a:
b
c
d
19
2 15
0 4 6
10
b: a 0 4 6 c: a
d
19
2 15
13 16
d: c 13 16
a 10
Event-based algorithm
1. Pop the individual i with the earliest infection time from the heap.


2. Iterate through the neighbors j of i.


a. If j is susceptible, get the time tj when it would be infected by i (by calling
contagious-contact).


b. If it simultaneously holds that


i. There is no earlier infection event of j on the heap.


ii. i’s recovery time is not earlier than tj.


then put the contagion (i infects j at time tj) on the heap.
Infect


Handling the infection of one node i.
Event-based algorithm
Taken together:
1. Read the network and initialize everything.


2. Infect the source node.


3. While there are any nodes left on the heap, call infect.


4. Reset the simulation.


5. Go to 2 until you have enough averages.


6. Evaluate the output.
Transmission probability
10
0.1
1
0.01 0.1 1
Recovery
rate
Outbreak
size
2
4
6
8
10
12
14
16
18
Example output: SocioPatterns Gallery day 1
1
2
3
4
5
6
7
0.1 1 10
Outbreak
size
Infection rate
Analytical
Straightforward algorithm
Event-based algorithm
A B
Validation of the program
A graph with complex behavior w.r.t SIR
7
1 6 7
5
1 6 7
5
1 6
1
2
3
4
5
0.1 1 10
1
2
3
4
5
6
7
0.1 1 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0.1 1 10
3
2
6
3 2 5
3
2
7
5
Sentinel
surveillance
Vaccination
Influence
maximization
Ω Ω
τ
2
1
4 5
6 7
3
β β
β
P
Holme,
Phys.
Rev.
E
96,
062305
(2017).
Complexity
N = number of nodes


M = number of edges (node pairs with at least one contact)


C = number of contacts


Straightforward algorithms: O(N + C)


Event-driven algorithm: O(L log N log C)
5
10
15
1 10 100 1000
5
10
15
10 100
5
10
15
Relative
speed-up
1000
1 10
Relative
speed-up
Relative
speed-up
Average degree, z Number of nodes, n
Avg. no. contacts per edge, c
B
A C
z = 2
n = 100
c = 100
n = 100
c = 100
z = 2
0 0 0
Speed-up relative to the straightforward algorithm of
arti
fi
cial networks
Speed-up relative to the straightforward algorithm
Transmission probability
Recovery
rate
0
10
20
30
40
Speed-up
1000
100
10
1
0.1
0.1 1
0.01
0.001
1
10
100
1000
10000
1000 10000 100000 1×106
1×107
Number of contacts
Relative
speed-up
Speed-up relative to the straightforward algorithm
SIR with
fi
xed infection-duration
Everything like before, except the disease lasts a
fi
xed duration T.


Could we then compute the infection probability of a node for all β at once?
Work
in
progress
SIR with
fi
xed infection-duration
Everything like before, except the disease lasts a
fi
xed duration T.


This makes the problem more structured and should be much faster. For
example, we then compute the infection probability of a node for all β at once?


Naïve algorithm idea:


1. For every node i, let a variable xi representing the minimum value of T
needed to reach i.


2. Go through every contact (i,j,t) in increasing t. Update xi to max(xi,tj+xj) where
tj is the time since j was infected, and similarly for xj.
The catch
1
2
3
4
5
6
7
1
2
3
4
5
6
7
time
time
S I R
T
petterhol.me


Code: github.com/pholme/tsir/
Thank you!

Más contenido relacionado

La actualidad más candente

Bayesian Network Modeling using Python and R
Bayesian Network Modeling using Python and RBayesian Network Modeling using Python and R
Bayesian Network Modeling using Python and R
PyData
 

La actualidad más candente (20)

Temporal networks - Alain Barrat
Temporal networks - Alain BarratTemporal networks - Alain Barrat
Temporal networks - Alain Barrat
 
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析有向グラフに対する 非線形ラプラシアンと ネットワーク解析
有向グラフに対する 非線形ラプラシアンと ネットワーク解析
 
傾向スコアの概念とその実践
傾向スコアの概念とその実践傾向スコアの概念とその実践
傾向スコアの概念とその実践
 
3 Centrality
3 Centrality3 Centrality
3 Centrality
 
自己対照研究デザインの概要
自己対照研究デザインの概要自己対照研究デザインの概要
自己対照研究デザインの概要
 
Centrality in Time- Dependent Networks
Centrality in Time- Dependent NetworksCentrality in Time- Dependent Networks
Centrality in Time- Dependent Networks
 
Bayesian Network Modeling using Python and R
Bayesian Network Modeling using Python and RBayesian Network Modeling using Python and R
Bayesian Network Modeling using Python and R
 
重回帰分析で交互作用効果
重回帰分析で交互作用効果重回帰分析で交互作用効果
重回帰分析で交互作用効果
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析
 
多変量解析
多変量解析多変量解析
多変量解析
 
GLMM in interventional study at Require 23, 20151219
GLMM in interventional study at Require 23, 20151219GLMM in interventional study at Require 23, 20151219
GLMM in interventional study at Require 23, 20151219
 
Off policy evaluation
Off policy evaluationOff policy evaluation
Off policy evaluation
 
22 An Introduction to Stochastic Actor-Oriented Models (SAOM or Siena)
22 An Introduction to Stochastic Actor-Oriented Models (SAOM or Siena)22 An Introduction to Stochastic Actor-Oriented Models (SAOM or Siena)
22 An Introduction to Stochastic Actor-Oriented Models (SAOM or Siena)
 
「生態学における統計的因果推論」という大ネタへの挑戦:その理論的背景と適用事例
「生態学における統計的因果推論」という大ネタへの挑戦:その理論的背景と適用事例「生態学における統計的因果推論」という大ネタへの挑戦:その理論的背景と適用事例
「生態学における統計的因果推論」という大ネタへの挑戦:その理論的背景と適用事例
 
01 Add Health Network Data Challenges: IRB and Security Issues
01 Add Health Network Data Challenges: IRB and Security Issues01 Add Health Network Data Challenges: IRB and Security Issues
01 Add Health Network Data Challenges: IRB and Security Issues
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
 
Maximum likelihood estimation
Maximum likelihood estimationMaximum likelihood estimation
Maximum likelihood estimation
 
曝露がアンカーとなるデザイン
曝露がアンカーとなるデザイン曝露がアンカーとなるデザイン
曝露がアンカーとなるデザイン
 
バリデーション研究の入門
バリデーション研究の入門バリデーション研究の入門
バリデーション研究の入門
 
バリデーション研究の計画・報告・活用
バリデーション研究の計画・報告・活用バリデーション研究の計画・報告・活用
バリデーション研究の計画・報告・活用
 

Similar a Temporal network epidemiology: Subtleties and algorithms

A unified prediction of computer virus spread in connected networks
A unified prediction of computer virus spread in connected networksA unified prediction of computer virus spread in connected networks
A unified prediction of computer virus spread in connected networks
UltraUploader
 
Bayesian inference for mixed-effects models driven by SDEs and other stochast...
Bayesian inference for mixed-effects models driven by SDEs and other stochast...Bayesian inference for mixed-effects models driven by SDEs and other stochast...
Bayesian inference for mixed-effects models driven by SDEs and other stochast...
Umberto Picchini
 
This project will investigate the SIR model and use numeric methods t.pdf
 This project will investigate the SIR model and use numeric methods t.pdf This project will investigate the SIR model and use numeric methods t.pdf
This project will investigate the SIR model and use numeric methods t.pdf
jkcs20004
 
Poisson distribution assign
Poisson distribution assignPoisson distribution assign
Poisson distribution assign
Abdul Kader
 
STRIP: stream learning of influence probabilities.
STRIP: stream learning of influence probabilities.STRIP: stream learning of influence probabilities.
STRIP: stream learning of influence probabilities.
Albert Bifet
 

Similar a Temporal network epidemiology: Subtleties and algorithms (20)

Properties and Impact of Vicinity in Mobile Opportunistic Networks
Properties and Impact of Vicinity in Mobile Opportunistic NetworksProperties and Impact of Vicinity in Mobile Opportunistic Networks
Properties and Impact of Vicinity in Mobile Opportunistic Networks
 
Temporal dynamics of human behavior in social networks (ii)
Temporal dynamics of human behavior in social networks (ii)Temporal dynamics of human behavior in social networks (ii)
Temporal dynamics of human behavior in social networks (ii)
 
A unified prediction of computer virus spread in connected networks
A unified prediction of computer virus spread in connected networksA unified prediction of computer virus spread in connected networks
A unified prediction of computer virus spread in connected networks
 
Cryptanalysis of Key Exchange Method Using Computational Intelligence Guided ...
Cryptanalysis of Key Exchange Method Using Computational Intelligence Guided ...Cryptanalysis of Key Exchange Method Using Computational Intelligence Guided ...
Cryptanalysis of Key Exchange Method Using Computational Intelligence Guided ...
 
Computer Network Assignment Help
Computer Network Assignment HelpComputer Network Assignment Help
Computer Network Assignment Help
 
Markov chain and SIR epidemic model (Greenwood model)
Markov chain and SIR epidemic model (Greenwood model)Markov chain and SIR epidemic model (Greenwood model)
Markov chain and SIR epidemic model (Greenwood model)
 
Avian Influenza (H5N1) Expert System using Dempster-Shafer Theory
Avian Influenza (H5N1) Expert System using Dempster-Shafer TheoryAvian Influenza (H5N1) Expert System using Dempster-Shafer Theory
Avian Influenza (H5N1) Expert System using Dempster-Shafer Theory
 
Bayesian inference for mixed-effects models driven by SDEs and other stochast...
Bayesian inference for mixed-effects models driven by SDEs and other stochast...Bayesian inference for mixed-effects models driven by SDEs and other stochast...
Bayesian inference for mixed-effects models driven by SDEs and other stochast...
 
This project will investigate the SIR model and use numeric methods t.pdf
 This project will investigate the SIR model and use numeric methods t.pdf This project will investigate the SIR model and use numeric methods t.pdf
This project will investigate the SIR model and use numeric methods t.pdf
 
Encoder for (7,3) cyclic code using matlab
Encoder for (7,3) cyclic code using matlabEncoder for (7,3) cyclic code using matlab
Encoder for (7,3) cyclic code using matlab
 
A COMPUTER VIRUS PROPAGATION MODEL USING DELAY DIFFERENTIAL EQUATIONS WITH PR...
A COMPUTER VIRUS PROPAGATION MODEL USING DELAY DIFFERENTIAL EQUATIONS WITH PR...A COMPUTER VIRUS PROPAGATION MODEL USING DELAY DIFFERENTIAL EQUATIONS WITH PR...
A COMPUTER VIRUS PROPAGATION MODEL USING DELAY DIFFERENTIAL EQUATIONS WITH PR...
 
Spreading Phenomena in Social Networks
Spreading Phenomena in Social NetworksSpreading Phenomena in Social Networks
Spreading Phenomena in Social Networks
 
Poission distribution
Poission distributionPoission distribution
Poission distribution
 
Timing attacks - Rambus
Timing attacks - RambusTiming attacks - Rambus
Timing attacks - Rambus
 
Poisson distribution assign
Poisson distribution assignPoisson distribution assign
Poisson distribution assign
 
Modelisation of Ebola Hemoragic Fever propagation in a modern city
Modelisation of Ebola Hemoragic Fever propagation in a modern cityModelisation of Ebola Hemoragic Fever propagation in a modern city
Modelisation of Ebola Hemoragic Fever propagation in a modern city
 
Covid-19 Spread Detection, Containment Mapping & Vaccine Delivery Framework
Covid-19 Spread Detection, Containment Mapping & Vaccine Delivery FrameworkCovid-19 Spread Detection, Containment Mapping & Vaccine Delivery Framework
Covid-19 Spread Detection, Containment Mapping & Vaccine Delivery Framework
 
STRIP: stream learning of influence probabilities.
STRIP: stream learning of influence probabilities.STRIP: stream learning of influence probabilities.
STRIP: stream learning of influence probabilities.
 
Social Event Detection
Social Event DetectionSocial Event Detection
Social Event Detection
 
An immune agents system for
An immune agents system forAn immune agents system for
An immune agents system for
 

Más de Petter Holme

From temporal to static networks, and back
From temporal to static networks, and backFrom temporal to static networks, and back
From temporal to static networks, and back
Petter Holme
 
Exploring spatial networks with greedy navigators
Exploring spatial networks with greedy navigatorsExploring spatial networks with greedy navigators
Exploring spatial networks with greedy navigators
Petter Holme
 

Más de Petter Holme (18)

Spin models on networks revisited
Spin models on networks revisitedSpin models on networks revisited
Spin models on networks revisited
 
History of social simulations
History of social simulationsHistory of social simulations
History of social simulations
 
Optimizing
 sentinel
 surveillance 
in
 static
 and 
temporal 
networks
Optimizing
 sentinel
 surveillance 
in
 static
 and 
temporal 
networksOptimizing
 sentinel
 surveillance 
in
 static
 and 
temporal 
networks
Optimizing
 sentinel
 surveillance 
in
 static
 and 
temporal 
networks
 
Important spreaders in networks: Exact results for small graphs
Important spreaders in networks: Exact results for small graphsImportant spreaders in networks: Exact results for small graphs
Important spreaders in networks: Exact results for small graphs
 
Important spreaders in networks: exact results on small graphs
Important spreaders in networks: exact results on small graphsImportant spreaders in networks: exact results on small graphs
Important spreaders in networks: exact results on small graphs
 
Netsci 2017
Netsci 2017Netsci 2017
Netsci 2017
 
Spreading processes on temporal networks
Spreading processes on temporal networksSpreading processes on temporal networks
Spreading processes on temporal networks
 
Dynamics of Internet-mediated partnership formation
Dynamics of Internet-mediated partnership formationDynamics of Internet-mediated partnership formation
Dynamics of Internet-mediated partnership formation
 
Disease spreading & control in temporal networks
Disease spreading & control in temporal networksDisease spreading & control in temporal networks
Disease spreading & control in temporal networks
 
Modeling the evolution of the AS-level Internet: Integrating aspects of traff...
Modeling the evolution of the AS-level Internet: Integrating aspects of traff...Modeling the evolution of the AS-level Internet: Integrating aspects of traff...
Modeling the evolution of the AS-level Internet: Integrating aspects of traff...
 
Emergence of collective memories
Emergence of collective memoriesEmergence of collective memories
Emergence of collective memories
 
A paradox of importance in network epidemiology
A paradox of importance in network epidemiologyA paradox of importance in network epidemiology
A paradox of importance in network epidemiology
 
How the information content of your contact pattern representation affects pr...
How the information content of your contact pattern representation affects pr...How the information content of your contact pattern representation affects pr...
How the information content of your contact pattern representation affects pr...
 
From land use to human mobility
From land use to human mobilityFrom land use to human mobility
From land use to human mobility
 
Why do metabolic networks look like they do?
Why do metabolic networks look like they do?Why do metabolic networks look like they do?
Why do metabolic networks look like they do?
 
Modeling the fat tails of size fluctuations in organizations
Modeling the fat tails of size fluctuations in organizationsModeling the fat tails of size fluctuations in organizations
Modeling the fat tails of size fluctuations in organizations
 
From temporal to static networks, and back
From temporal to static networks, and backFrom temporal to static networks, and back
From temporal to static networks, and back
 
Exploring spatial networks with greedy navigators
Exploring spatial networks with greedy navigatorsExploring spatial networks with greedy navigators
Exploring spatial networks with greedy navigators
 

Último

LUNULARIA -features, morphology, anatomy ,reproduction etc.
LUNULARIA -features, morphology, anatomy ,reproduction etc.LUNULARIA -features, morphology, anatomy ,reproduction etc.
LUNULARIA -features, morphology, anatomy ,reproduction etc.
Cherry
 
The Mariana Trench remarkable geological features on Earth.pptx
The Mariana Trench remarkable geological features on Earth.pptxThe Mariana Trench remarkable geological features on Earth.pptx
The Mariana Trench remarkable geological features on Earth.pptx
seri bangash
 
PODOCARPUS...........................pptx
PODOCARPUS...........................pptxPODOCARPUS...........................pptx
PODOCARPUS...........................pptx
Cherry
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
Cherry
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
Cherry
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
1301aanya
 

Último (20)

TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRingsTransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
 
LUNULARIA -features, morphology, anatomy ,reproduction etc.
LUNULARIA -features, morphology, anatomy ,reproduction etc.LUNULARIA -features, morphology, anatomy ,reproduction etc.
LUNULARIA -features, morphology, anatomy ,reproduction etc.
 
The Mariana Trench remarkable geological features on Earth.pptx
The Mariana Trench remarkable geological features on Earth.pptxThe Mariana Trench remarkable geological features on Earth.pptx
The Mariana Trench remarkable geological features on Earth.pptx
 
Terpineol and it's characterization pptx
Terpineol and it's characterization pptxTerpineol and it's characterization pptx
Terpineol and it's characterization pptx
 
PODOCARPUS...........................pptx
PODOCARPUS...........................pptxPODOCARPUS...........................pptx
PODOCARPUS...........................pptx
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
 
Early Development of Mammals (Mouse and Human).pdf
Early Development of Mammals (Mouse and Human).pdfEarly Development of Mammals (Mouse and Human).pdf
Early Development of Mammals (Mouse and Human).pdf
 
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and SpectrometryFAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
FAIRSpectra - Enabling the FAIRification of Spectroscopy and Spectrometry
 
Role of AI in seed science Predictive modelling and Beyond.pptx
Role of AI in seed science  Predictive modelling and  Beyond.pptxRole of AI in seed science  Predictive modelling and  Beyond.pptx
Role of AI in seed science Predictive modelling and Beyond.pptx
 
Call Girls Ahmedabad +917728919243 call me Independent Escort Service
Call Girls Ahmedabad +917728919243 call me Independent Escort ServiceCall Girls Ahmedabad +917728919243 call me Independent Escort Service
Call Girls Ahmedabad +917728919243 call me Independent Escort Service
 
FS P2 COMBO MSTA LAST PUSH past exam papers.
FS P2 COMBO MSTA LAST PUSH past exam papers.FS P2 COMBO MSTA LAST PUSH past exam papers.
FS P2 COMBO MSTA LAST PUSH past exam papers.
 
Site Acceptance Test .
Site Acceptance Test                    .Site Acceptance Test                    .
Site Acceptance Test .
 
Human genetics..........................pptx
Human genetics..........................pptxHuman genetics..........................pptx
Human genetics..........................pptx
 
Plasmid: types, structure and functions.
Plasmid: types, structure and functions.Plasmid: types, structure and functions.
Plasmid: types, structure and functions.
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Gwalior ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Gwalior ESCORT SERVICE❤CALL GIRL
Gwalior ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Gwalior ESCORT SERVICE❤CALL GIRLGwalior ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Gwalior ESCORT SERVICE❤CALL GIRL
Gwalior ❤CALL GIRL 84099*07087 ❤CALL GIRLS IN Gwalior ESCORT SERVICE❤CALL GIRL
 
FAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical ScienceFAIRSpectra - Enabling the FAIRification of Analytical Science
FAIRSpectra - Enabling the FAIRification of Analytical Science
 
Concept of gene and Complementation test.pdf
Concept of gene and Complementation test.pdfConcept of gene and Complementation test.pdf
Concept of gene and Complementation test.pdf
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
 
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIACURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
 

Temporal network epidemiology: Subtleties and algorithms

  • 2.
  • 3. Temporal networks i j t 1 2 0 1 2 5 2 3 7 1 2 8 3 4 9 ⋮ ⋮ ⋮ 0 2 3 4 Time 10 1 5
  • 4. SIR on static graphs ‣Infection rate β → Infection across an SI link* is a Poisson process for its duration. ‣ . . . *Edge in a static graph. ‣Constant recovery rate ν → Exponentially distributed durations of infection. ‣One seed chosen at random among all vertices. ‣Gillespie ‣Event-driven algorithm (Kiss, Miller, Simon, 2017), a.k.a. Next-reaction ‣Composition / rejection (St-Onge, Comp. Phys. Comm. 2019) Algorithms
  • 5. SIR on temporal graphs ‣Realism | After all, the goal is to simulate reality ‣Continuity | It should be possible to reduce the time dimension and get static network epidemiology. ‣Simplicity | Keep the same level of abstraction throughout the modeling. ‣Generalizability | It should be easy to extend the model. ‣Speed | As a tiebreaker among design principles. Design principles: P Holme, 2021. Fast and principled simulations of the SIR model on temporal networks. PLoS ONE 16(2): e0246961.
  • 6. Algorithmic model formulation ‣Initialization | Initialize all individuals to susceptible. ‣Seeding | Pick a random individual i and a random time ti in the interval [0,T). At time ti, infect i. ‣Recovery | Whenever a node becomes infected, let it stay infected for an exponentially distributed time δ before it recovers. ‣Contagion | If i got infected at time ti and is still infected at time t > ti, and j is susceptible at time t, then a contact (i,j,t) will infect j with probability β.
  • 7. Straightforward algorithm 1. Initialize all nodes as susceptible. 2. Run through the contacts in increasing order of time. 3. If a there is a contact between a susceptible and infectious node, then infect the susceptible node with probability β. 4. Whenever a node gets infected (including the source), then draw its time to recovery from an exponential distribution, and change its state to I. 5. Stop the simulation when there are no infectious nodes. 0 2 3 4 Time 10 1 5 1. Bisection search to fi nd the fi rst contact that can spread the disease.  2. Stop the simulations when all infected nodes are no longer active. Could be sped up with several tricks:
  • 8. 0 A B 5 10 15 20 a b c d Time a: b c d 19 2 15 0 4 6 10 b: a 0 4 6 c: a d 19 2 15 13 16 d: c 13 16 a 10 Internal representation of the temporal network Contact lists ordered in decreasing order of the last element. Event-based algorithm
  • 9. Event-based algorithm 1. Use bisection search to fi nd the smallest index k of tij such that ti < tij(k). Where tij(k) denotes the k’th contact of tij. 2. Add a random number K generated by log(1–X) / log(1–β) to k and denote the sum by k′. (The probability of the k’th event of a Bernoulli process occurring.) X is a uniform random number in [0,1). 3. If k′ is larger than tij’s number of elements, then return some out-of-bounds value (to signal that no contact will spread the disease). Otherwise, return k′ —the contact between i and j that could be contagious. Contagious contact Finding what contact between two nodes i and j that would spread the disease, if any. a: b c d 19 2 15 0 4 6 10 b: a 0 4 6 c: a d 19 2 15 13 16 d: c 13 16 a 10
  • 10. Event-based algorithm 1. Pop the individual i with the earliest infection time from the heap. 2. Iterate through the neighbors j of i. a. If j is susceptible, get the time tj when it would be infected by i (by calling contagious-contact). b. If it simultaneously holds that i. There is no earlier infection event of j on the heap. ii. i’s recovery time is not earlier than tj. then put the contagion (i infects j at time tj) on the heap. Infect Handling the infection of one node i.
  • 11. Event-based algorithm Taken together: 1. Read the network and initialize everything. 2. Infect the source node. 3. While there are any nodes left on the heap, call infect. 4. Reset the simulation. 5. Go to 2 until you have enough averages. 6. Evaluate the output.
  • 12. Transmission probability 10 0.1 1 0.01 0.1 1 Recovery rate Outbreak size 2 4 6 8 10 12 14 16 18 Example output: SocioPatterns Gallery day 1
  • 13. 1 2 3 4 5 6 7 0.1 1 10 Outbreak size Infection rate Analytical Straightforward algorithm Event-based algorithm A B Validation of the program
  • 14. A graph with complex behavior w.r.t SIR 7 1 6 7 5 1 6 7 5 1 6 1 2 3 4 5 0.1 1 10 1 2 3 4 5 6 7 0.1 1 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0.1 1 10 3 2 6 3 2 5 3 2 7 5 Sentinel surveillance Vaccination Influence maximization Ω Ω τ 2 1 4 5 6 7 3 β β β P Holme, Phys. Rev. E 96, 062305 (2017).
  • 15. Complexity N = number of nodes M = number of edges (node pairs with at least one contact) C = number of contacts Straightforward algorithms: O(N + C) Event-driven algorithm: O(L log N log C)
  • 16. 5 10 15 1 10 100 1000 5 10 15 10 100 5 10 15 Relative speed-up 1000 1 10 Relative speed-up Relative speed-up Average degree, z Number of nodes, n Avg. no. contacts per edge, c B A C z = 2 n = 100 c = 100 n = 100 c = 100 z = 2 0 0 0 Speed-up relative to the straightforward algorithm of arti fi cial networks
  • 17. Speed-up relative to the straightforward algorithm Transmission probability Recovery rate 0 10 20 30 40 Speed-up 1000 100 10 1 0.1 0.1 1 0.01 0.001
  • 18. 1 10 100 1000 10000 1000 10000 100000 1×106 1×107 Number of contacts Relative speed-up Speed-up relative to the straightforward algorithm
  • 19. SIR with fi xed infection-duration Everything like before, except the disease lasts a fi xed duration T. Could we then compute the infection probability of a node for all β at once? Work in progress
  • 20. SIR with fi xed infection-duration Everything like before, except the disease lasts a fi xed duration T. This makes the problem more structured and should be much faster. For example, we then compute the infection probability of a node for all β at once? Naïve algorithm idea: 1. For every node i, let a variable xi representing the minimum value of T needed to reach i. 2. Go through every contact (i,j,t) in increasing t. Update xi to max(xi,tj+xj) where tj is the time since j was infected, and similarly for xj.