这是一种传染病模型,基于SIR,元胞自动机(CA)原理
参考SIR模型,将人群分为3个组成部分
- S(Susceptible)-易感人群
- I(Infected)-感染人群
- R(Removed)-移除人群
性质
- 感染者(I)具有感染易感者(S)的能力
- 感染者(I)具有转化为移除者(R)的趋势
- 移除者(R)将不再具备传染能力
基于元胞自动机(CA)模型,增加元胞(Cell)在空间内做布朗运动,以模拟人口区域范围流动性
- 代表布朗运动强度
- 反应
人口流动强度
- 代表元胞所在空间的尺度
- 反应
人口密度
分为3个步骤:
- move-元胞运动
- infect-传染
- remove-移除
感染者(I)感染易感者(S)的过程
感染概率$\alpha$与感染者(I)和易感者(S)之间的距离$d$成正比
第$i$个易感者$S_i$被第$j$个感染者$I_j$感染概率$\alpha$可表示为 $$ \alpha(S_i,I_j)= \large{e^{-\kappa\cdot d(S_i,I_j)}} $$ $$ \kappa>0,d\geq0 \Rightarrow -\kappa\cdot d\leq0\Rightarrow 0<e^{-\kappa\cdot d(S_i,I_j)} \leq1\Rightarrow \alpha\in(0,1] $$
其中$\kappa$为传染概率系数,$d(S_i,I_j)$表示第$i$个易感者$S_i$被第$j$个感染者$I_j$之间的距离
则第$i$个易感者$S_i$被感染的概率为 $$ \alpha(S_i)=1-\prod_j\alpha(S_i,I_j) $$
每天感染者(I)的被移除概率$\beta$为一常数
则感染者在被感染后第$k$天被移除的概率$\gamma(k)$为 $$ \gamma(k)=\beta(1-\beta)^{k-1} $$
- numpy
- pandas
- matplotlib
- imageio