---
# System prepended metadata

title: Efficient Simulation of the Spatial Transmission Dynamics of Influenza
tags: [articles]

---

# Efficient Simulation of the Spatial Transmission Dynamics of Influenza

###### tags: `articles`

[Link to the paper](https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0013292)

[Relative paper](https://www.pnas.org/doi/full/10.1073/pnas.0601266103)

## Introduction

This research is based on [Mitigation strategies for pandemic influenza in the United States](https://www.pnas.org/doi/full/10.1073/pnas.0601266103)
which applies **stochastic spatial transmission model** to simulate the pandemic.
Moreover, it provides a efficient algorithm to perform simulation.

## Model

The model is a highly connected network representing the 23 million people living in Taiwan

### Structure of the Network

#### Node (Individual)

Attributes:
1. **contact group**: A close association of individuals, every member is connected to all other members in the group. (community, high school, ... , work group) </br> Noted that a individual can belong to several contact groups.
2. **age group**: Each individuals is a member of a age group
3. **resident information**

#### Edge (Connection)

Weight:
The probability of close contact that could result in the successful transmission
> The probability depends on the contact group and age group of these two nodes

### Example

Taiwan consists of 358 census tracts

In one **census tract**, each 2000 people form a **Community**

- black: a census tract
- red: the grouping

![](https://i.imgur.com/5JdHTuE.png)


Some contact groups are age-specified, like **High School**

- black: one census tract
- orange: 4-18 years old
- blue: the grouping

![](https://i.imgur.com/fuY4zvz.png)



**Worker Group** is the only class that can cross census tract, based on **worker flow**

- black: two census tract
- blue: 18-64 years old 
- red: the grouping

![](https://i.imgur.com/lz5Pj9Y.png)

## Transition Diagram

- infectious population
    - symptomatic
    - asymptomatic


## Simulation

Composed of three modules

![](https://i.imgur.com/XrJARLI.png)

### Initialization Module

* Inputs 
    * Number of communities in each towns
    * Number of people in different ages
    * Family structures and the number of families of that structures
    * Town-to-town worker flow
    * Taiwan Demographics

* Individual are stochastically created, assigned an age, resident info and multiple contact groups according to the inputs

Once the Initialization module generates a mock population, the social network (daily contact patterns) among individuals is fixed. 
Each individual belongs to one of the age groups, belongs to multiple contact groups according to his/her daytime and nighttime activities

### Simulation Module

* Inputs
    * Data generates from initialization module
    * influenza parameters

* Select index cases to initiate the epidemic (initial adopters)

* The module runs in cycles with two 12-hours periods (daytime and nighttime), noted that contact groups of a individuals might be changed in these two periods

* For each infected individuals, running through all his contact groups, flip a coin for each susceptibles in that group to decide whether the infection is success

#### Naive Algorithm

![](https://i.imgur.com/ituJUUU.png)

![](https://i.imgur.com/xRynJXz.png)

- $O(S)$ for each infector

#### Improved Algorithm

![](https://i.imgur.com/0t6JJ70.png)
![](https://i.imgur.com/9EHUyZZ.png)

![](https://i.imgur.com/zSZuN8O.png)

- $O(K)$ for each infector $u$
- $p_{max}=\max_{v\in S}p_{uv}<<1$
- $|K|\approx p_{max}\cdot|S|$


$$
\frac{|K|}{|S|}\cdot\frac{p_{uv}}{|K|/|S|} = p_{uv}
$$


Complexity

| Naive Algorithm | Improved Algorithm |
|:---------------:|:------------------:|
| $O(N^2G\alpha)$ |  $O(NG(\alpha + K))$   |

Noted that $\alpha$ is average number of people in contact groups and that $K \ll N$ 

> Details of improved algorithm could be found in [here](https://ftp.iis.sinica.edu.tw/file/entry/8051/FULLTEXT/zh/tr10002.pdf)

### Algorithm Comparison

![](https://i.imgur.com/QbU2UAF.png)


### $R_0$ comparison
 
- theoretical $R_0$
    - compute the expect number of infection for each node
    - sample a subset of node and take average
    - simulate the influenza and compute $R_0$ by formula

$$
R_0\approx-\frac{\ln(1-R)}{R},\quad R=\frac{A}{N}
$$

![](https://i.imgur.com/tMjDbOj.png)


### Visualization Module

Visualize the results of simulation

## Differences

|                         |                        U.S.                         |                  Sinica                  |                  Ours                  |
|:-----------------------:|:---------------------------------------------------:|:----------------------------------------:|:--------------------------------------:|
|         Target          |     Compare different **mitigation** strategies     | Provide a efficient simulation algorithm | Find the best **vaccination** strategy |
|         Country         |                        U.S.                         |                  Taiwan                  |                 Taiwan                 |
|          Data           |                2000 U.S. Census data                |         Taiwan Census 2000 Data          |        Taiwan Census 2020 Data         |
|        Algorithm        |                        Naive                        |                 Improved                 |         Modified from Sinica's         |
|          Virus          |                        H5N1                         |                   H1N1                   |                COVID-19                |
|       Vaccination       | :exclamation: <br> (mentioned, but not delved into) |                   :x:                    |           :heavy_check_mark:           |
| Intervention Strategies |                 :heavy_check_mark:                  |                   :x:                    |     :exclamation: <br> (NPI only)      |
|    incubation period    |                 :heavy_check_mark:                  |            :heavy_check_mark:            |     :x: <br> (would be added soon)     |



