Agent-Based Models

Agent-Based Models
Maksudul Alam, Wei Wang
Outline
Literature Review about Agent-Based model
Modeling disease outbreaks in realistic urban social Networks
EpiSimdemics: an Efficient Algorithm for Simulating the Spread
of the Infections Disease over Large Social Network
GLEaMviz Software: exploring realistic epidemic spreading
scenarios at the global scale
Literature Review
What is Agent-Based Model?
A class of computational model used to simulating the actions and
interactions of autonomous agents with a view to accessing their
effects on the whole system.
Common components in Agent-Based Model
Agents
Decision-Making heuristics
Adoptive process
Interaction topology
Environment
Model disease outbreak in realistic urban
social network
Challenge
Dense urban social-contact networks perfect for disease propagation
More and more people live in city, around 60% when 2030
How to prevent epidemic?
What disease surveillance strategies will help?
Mass vaccination?
Assumptions for the infectious disease Model
Assumption of the spreading environment
The effect of the pathogen on the host: within-host disease model
Process of transmission between host: transmission model
Assumptions on the contacts: contact model
Assumption environment
Construct a agent-based model to simulate the disease
spreading
Apply dynamic bipartite graph represent social contact network
People
Location
Daily Activities and Travel
Shopping, working, short travel, long range travel
Social Contact Network
Fig a: Small bipartite social
contact network
Fig c: Location network
Fig b: People network
Fig d: Ignore time label
Graph Features
Small world like people
contact network
Diameter about 6
Power Law degree distribution
Cluster coefficient around 0.48
Hierarchical Scale-free
location graph
Capacity exponent ๐œ†~ โˆ’ 2.8
Cluster coefficient around 0.04
Control Strategies
Early detection
Find the minimum dominant set of locations to put sensors
Overlap ratio ๐‘ค
๐‘› ๐ฝ
๐‘ค ๐ฝ =
lโˆˆ๐ฝ deg(l)
where ๐ฝ is a set of locations, ๐‘›(๐ฝ) is the number of different people visiting any
location in ๐ฝ, deg(๐‘™) is the number of different people visiting location ๐‘™
Target vaccination
Constrain the disease spread only in local graph
Target long-range travelers
Graph Features
What graph features matter
the disease propagation
Degree distribution
Cluster coefficient
Expansion
How to prevent the epidemic
Mass Vaccination?
Early detection
Target vaccination
Simulate Smallpox Modeling By EpiSim
Continues model for within-host disease progress
Manifestations of smallpox
Ordinary
Modified
Flat or malignant
Early hemorrhagic
Late hemorrhagic
Disease load ฮณ
All locations share the same growth/decay rate
Specific personal growth/decay rate
Threshold component
Infected (๐ฟ๐ผ )
Symptomatic (๐ฟ๐‘† )
Staying home from normal activities (๐ฟ๐ป๐‘† )
Infectious (๐ฟ๐ถ )
Dead (๐ฟ๐ท )
With-host disease Course
Above ๐ฟ๐ผ
Above ๐ฟ๐‘† /๐ฟ๐ป๐‘†
Above ๐ฟ๐ถ
Under ๐ฟ๐ผ
Above ๐ฟ๐ท
Transmission Model
1. Infectious people contaminate local environment by shedding load with
shedding rate ๐›ฝ๐‘†
2. People present at a contaminated location absorb load from it with
absorbing rate ๐›ฝ๐ด
3. Probability of transmission from a susceptible to infected can depend on
3.1 infectivity and susceptibility
3.2 Duration of contact
3.3 Activities(School, work, home, etc.)
3.4 Demographics of infectious and susceptible
Contact Model
Create synthetic people in households with correct joint demographics
Associate a state of health with each synthetic person
Synthetic people move among physical locations (street addresses, city
blocks, institutions) and engage in activities at those locations
Below a certain level of resolution, simple assumptions about contacts
among people at locations are introduced
Each personโ€™s activities are repeated every day, except for dynamic events
such as withdrawal to home, quarantine, etc.
Simulation Results
The disease is likely to spread quickly without controlled early enough Detection early
Time of withdrawal to home is most important
Delay in Response is also very important
EpiSimdemics
EpiSimdemics
EpiSimdemics is an individual-based modeling environment
Each individual is represented based on a synthetic population
Each interaction between two spatially and temporally
collocated individuals is represented
Uses a people-location bipartite graph as the underlying
network.
Allows us to represent time-dependent interactions
Allows us to calculate location dependent interactions
Formal Model
Formal Model (๐บ(๐‘‰, ๐ธ), ๐น, ๐‘Š)
๐บ(๐‘‰, ๐ธ) represent the social contact network
๐‘‰ represent people in the network
๐ธ represent the edges between people
๐น set of transmission function ๐‘“๐‘– which map the state of ๐‘ฃ๐‘– at time t to
time t+1
๐‘Š represent the update schedule of people and location
Social Network Representation
Within-Host Disease Model
Probabilistic Timed Transition System (PTTS)
Between-Host Disease Model
The function of the Probability of one person being infected :
๐‘๐‘Ÿ ln(1 โˆ’ ๐‘Ÿ๐‘ ๐‘– ๐œŒ)) [1]
๐‘๐‘– = 1 โˆ’ exp(ฯ„
๐‘Ÿโˆˆ๐‘…
Here :
ฯ„ is duration of exposure
R is the set of infectivities of the infected individuals
๐‘๐‘Ÿ is the number of infectious individuals with infectivity r
๐‘ ๐‘– is the susceptibility of I
๐œŒ is the transmissibility of disease
1. Barrett et. al., 2007, Modeling and Simulation of Large Biological,
Information and Socio-Technical Systems: An Interaction Based Approach
EpiSimdemics Algorithm โ€“ Serial
In each iteration (e.g. a day)
Each person (Step 1)
Determines where they will go
Send a message to each location they will visit
Each location (Step 2)
For each received message, create an arrival and depart event pair
For each event, calculate probability of infection between each co-located
pair of Infectious and Susceptible people
Send message to each newly infected person
Each Infected person updates state (Step 3)
Global simulation state is updated
EpiSimdemics: Demo
4 people: 1, 2, 3, 4
4 locations: a, b, c, d
Person 2 is infected, others are susceptible
PTTS version of SIR model
Movement model is given by the following bipartite network:
Step 1: Send Visit
Each person
Determines where they will go
Send a message to each location they will visit
a
1
b
2
1
c
3
4
d
4
2
Step 2:
Each location
For each received message: create an arrival and depart event pair
a
a
1
b
2
1
c
3
4
d
4
b
c
2
d
Step 2:
Each location
For each event
If Arrival event add the people to location, otherwise remove from location
Calculate probability of infection
a
b
c
d
a
b
c
d
Step 2:
Each location
For each event
If Arrival event add the people to location, otherwise remove from location
Calculate probability of infection
a
b
c
d
T=8
a
1
b
2
c
3
d
4
Step 2:
Each location
For each event
If Arrival event add the people to location, otherwise remove from location
Calculate probability of infection
a
b
c
d
T=9
a
b
2
1
c
3
4
d
Step 2:
Each location
For each event
If Arrival event add the people to location, otherwise remove from location
Calculate probability of infection
a
b
c
d
T=9
a
b
2
1
c
3
4
d
1
Step 2:
Each location
For each event
If Arrival event add the people to location, otherwise remove from location
Calculate probability of infection
a
b
c
d
T=10
a
b
1
c
3
d
4
2
1
Step 2:
Each location
For each event
If Arrival event add the people to location, otherwise remove from location
Calculate probability of infection
a
b
c
d
T=11
a
b
1
c
3
d
4
2
1
Step 2:
Each location
For each event
If Arrival event add the people to location, otherwise remove from location
Calculate probability of infection
a
b
c
d
T=12
a
b
c
d
1
Step 2 & 3:
Each location
Send message to each newly infected person
Each Infected person updates state
1
1
1
2
2
3
3
4
4
EpiSimdemics Algorithm โ€“ Parallel
In each time step (e.g. a day)
In Parallel, Each person (Step 1)
Determines where they will go
Send a message to each location they will visit
Synchronize 1
In Parallel, Each location (Step 2)
For each received message, create an arrival and depart event pair
For each event, calculate probability of infection between each co-located
pair of Infectious and Susceptible people
Send message to each newly infected person
Synchronize 2
In Parallel, Each Infected person updates state (Step 3)
Synchronize 3
Global simulation state is updated
Performance: Execution Time & Memory
AL: #of people: 4,333,172 (4.3M), #of locations: 1,300,548 (1.3M)
CA: #of people: 33,153,148 (33.1M), #of locations: 5,521,932 (5.5M)
120 day simulation period
Scalability of Parallel EpiSimdemics
EpiSimdemics: Conclusion
Unique HPC-based framework to model epidemics on large
social network
Scales to realistic social networks, up to 100M nodes
Can be modified to study diffusion system over unstructured
networks
Designed for realistic intervention strategies
GLEaMviz
A software system to explore realistic global epidemics
GLEaMviz for Epidemic Visualization
A software system for simulation and visualization of global
epidemics
Based on detailed population and mobility data
User defined compartment based infection dynamics
Total control on simulation
Interactive visualization support (maps, incidence curves,)
GLEaM is GLobal Epidemic and Mobility modeler
Publicly available from http://www.gleamviz.org/
Architecture
Client โ€“ Server architecture
Consists of three components:
Client Application (GUI)
Proxy Middleware
Simulation Engine
GLEaMviz โ€“ Client
Epidemic Modeling
Simulation Settings
Manage Simulations
Interactive Result Visualization
GLEaMviz โ€“ Server
Simulation Engine runs the actual simulation
Based on GLEaM
Uses detailed population and mobility data
Takes input as Epidemic Model and Simulation Settings
Produces spatio-temporal output
Stores simulation results for future analysis
Supports Epidemic Marketplace concept (not available to public version)
Middleware
Communicates between Client and Simulation Engine
Workflow
Simulation Engine โ€“ GLEaM
Based on a stochastic metapopulation approach
Many spatially separated distinct populations
Mobility at the inter-population level:
Short range (e.g. public commuters, cars etc.)
Long range (e.g. air travel)
Compartmentalized disease models
SIR, SIS, SEIR
Metapopulation
A metapopulation consists of a group of spatially
separated populations of the same species which interact at
some level.
Example: metapopulation of the spotted owl in the San
Bernardino Mountains
GLEaM Layers
Consists of three basic layers:
The population layer
The mobility layer
The epidemic layer
Population Layer
Based on Gridded Population of the World project by the SocioEconomic Data and Applications Center (SEDAC)1
World population is divided into grid of cells
Each cell is assigned an estimated population value
Cell size of 25 km x 25 km
Over 250,000 populated cells
Airport Centered Subpopulation
Considers 3,362 airports from 220 countries
Each cell belongs to the nearest airport
GLEaM uses these 3,362 subpopulations
1. http://sedac.ciesin.columbia.edu/data/collection/gpw-v3
Mobility Layer
Considers long-range and short-range mobility
Long-range is based on IATA and OAG databases
3,362 airports from 220 countries
16,846 total flight connections
Short-range is commuting patterns
between adjacent subpopulations
Collected from 30 countries
11,230 commuting flows
IATA: International Air Transport Association
OAG: Official Airline Guide
Epidemic Layer
Defines disease and population dynamics
Infection dynamics takes place in each subpopulation
Compartmentalized models (e.g. SIR, SIS, SEIR etc.)
Model Builder is used to define the epidemic models
Model Builder
Visual tool for designing
arbitrary compartmental
models
Models as flow diagrams
Stylized Box represents
compartments
Directed arrow represents
transitions
Model Builder โ€“ Compartments
User can define:
Compartment Label
Color
Mobility
Clinical Case
Users can design any arbitrary infection models
Specially respiratory and influenza-like diseases
Model Builder โ€“ Transitions
Two types of transitions:
Spontaneous transitions
Infection transitions
Spontaneous transitions:
Does not depend on other states (e.g. Infectious ๏‚ฎ Recovered)
Infection Transitions
Depend on other states (e.g. Susceptible ๏‚ฎ Latent due to Infectious)
Can be more than one dependency
Simulation Wizard
Simulation Results
User Study
Results
Thanks
Backup Slides
EpiSimdemics
Time complexity ๐‘‚ ๐‘› โ‹… ๐‘˜ ๐‘ƒ + ๐‘š โ‹… ๐‘˜ ๐ฟ
๐‘› = number of people
๐‘š = number of locations
๐‘˜๐‘ƒ = average degree for person (number of locations visited by a person)
๐‘˜๐ฟ = average degree for location (number of person visited to a location)