图 1. 全球新冠确诊病例分布图。图片来源: 华盛顿邮报;访问时间: 2021 年 3 月 23日
自 2019 年底首次发现新型冠状病毒以来到现在,已经有超过 500多万人在这场大灾难中死亡,并且有超过 25 亿的新冠病例被报告(数据来自约翰-霍普金斯大学)。由于最近新冠病毒的变种带着极强的传染力通过旅行者甚至快递包裹向国内发起进攻,导致国内多地疫情频发,隔离、核酸检测、快递停发、居家办公频频出现在微博热搜。我们的脑中不禁会想到,疫情是如何传播的?为何疫情的「拐点」经常被提及?为何中国的防疫成果这么优秀?为何疫情迟迟得不到控制,最近还反复爆发?作为一个好奇宝宝,怎么能不细细的探索一番,因此笔者在 Beach 的闲暇时间做了一个新冠疫情的传播模拟 Demo,和大家一起理解疫情传播的演化。
受 SIR-F 模型启发,笔者基于 Mesa (一个基于智能体建模的框架) 开发了一个新冠疫情的传播模拟 Demo,用户可以设置诸如人群戴口罩的概率,是否施行隔离措施等模拟新冠肺炎在不同国家、城市中的扩散。如下方动态图所示,左边栏可用于调整模拟参数,右上角的网格将展示人群(小圆)移动情况以及感染状态;右下角对不同人群的总数进行动态显示。
GitHub - thoughtworks-ai-lab/agent-based-covid-model
该 demo 基于 WebSocket 进行前后端数据传输,需要消耗大量网络带宽(该网站搭在一个廉价服务器上,最大带宽只有 1M 🤕),如果遇到模拟过程卡顿,请暂时关闭稍后再试,谢谢~
SIR 模型是一个用来理解疾病爆发的简单数学模型,由 Kermack 与 McKendrick 在 1927 年研究流行于伦敦的黑死病的时候提出,本文将首先对 SIR 模型进行一些简要的解释。
该模型可以简单表示为
$$ S\overset{\beta I}{\rightarrow} I \overset{\gamma}{\rightarrow} R $$
<aside> 💡 式中 $\beta$ 表示有效接触比例 [1 / min], $\gamma$ 表示治愈比例 [1 / min]
</aside>