资源下载地址:https://download.csdn.net/download/sheziqiong/88288173
资源下载地址:https://download.csdn.net/download/sheziqiong/88288173
疫情传播模拟系统
一、疫情报告
背景介绍
为研究新冠病毒在人群中的传播情况,讨论各种防疫措施(佩戴口罩,限制出行,增加医院以及救治速度)对疫情传播的影响。从个人、政府、医疗的三个方面讨论疫情的传播。
技术栈
-
前端
采用了简单的html+javascript+boostrap编写前端页面和小动画。
-
后端
结合了python的flask web框架进行前后端数据的交互,前端模拟完成返回json数据,利用python的document库以及绘图库绘制了简单的报表。
代码运行
项目录下运行cmd
pip install -r requirements.txt安装python依赖
运行python app.py
建模思路
具体规则
单个小球模拟为一个人,小球直径为30px长度,当两人距离为两个身位60px或者发生碰撞时,此时可能发生感染事件。其中,蓝色代表潜伏期,红色代表已经感染,棕色不移动代表死亡,黄色代表此时已康复拥有抗体,黑色代表健康未感染。
参数设置
未戴口罩且与潜伏期的人距离过近或发生碰撞时:有抗体1%感染几率,无抗体5%感染几率。
未戴口罩且与感染期的人距离过近或发生碰撞时:有抗体5%感染几率,无抗体30%感染几率。
戴口罩且与潜伏期的人距离过近或发生碰撞时:有抗体0.3%感染几率,无抗体1%感染几率。
戴口罩且与感染期的人距离过近或发生碰撞时:有抗体3%感染几率,无抗体15感染几率。
人群可能发生聚集,当小球之间长时间距离过短时候,发生感染的概率自然会大幅度上升。人群移动为随机移动,一共设置为5档。医院开启之后,设置收容速度为3档(慢中快),每次收容数量为5人,医院容纳数量可自主设置。
模型建立
根据上述规则,用JavaScript进行程序编写,并实现了数据的可视化。
综合考虑程序效率、运行时间,我们的网格采用813*830(单位:px)。
运行之后,会返回一份报表,我们主要观察分析感染人数、潜伏人数,死亡人数随着时间的变化。
二、基本数据
初始感染人数:50
初始人群数量:60
人群聚集状态:聚集关闭
人群移动速度:5 档(共五档)
是否佩戴口罩:否
是否开启医院:医院开启
医院容纳数量:20
医院收纳速度:1 档(最慢速度)
根据国家统计局以及相关论文的数据统计,模型参数设置为:
单个小球模拟为一个人,小球直径为 30px 长度,当两人距离为两个身位 60px 或者发生碰撞时,此时可能发生感染事件。其中,蓝色代表潜伏期,红色代表已经感染,棕色不移动代表死亡,橙色代表此时已康复拥有抗体,黑色代表健康未感染。
·当未戴口罩时:潜伏期有抗体 1% 感染几率。潜伏期无抗体 5% 感染几率。感染期有抗体 5% 感染几率,感染期无抗体 30% 感染几率。
·当佩戴口罩时:潜伏期有抗体 0.3% 感染几率。潜伏期无抗体 1% 感染几率。感染期有抗体 3% 感染几率,感染期无抗体 15 感染几率。
人群可能发生聚集,当小球之间长时间距离过短时候,发生感染的概率自然会大幅度上升。人群移动为随机移动,一共设置为 5 档。医院开启之后,设置收容速度为 3 档(慢中快),每次收容数量为 10 人,医院容纳数量可自主设置。
三、数据分析
红色-当前感染人数 蓝色-当前潜伏人数 绿色-当前死亡人数
反应此时横坐标时间点的疫情情况
红色-累计感染人数 蓝色-累计潜伏人数 绿色-累计死亡人数
反应此时横坐标时间点累计一共的疫情情况
总人数:110
死亡人数:31
总人数:110
感染人数:78
四、数学模型
资源下载地址:https://download.csdn.net/download/sheziqiong/88288173
资源下载地址:https://download.csdn.net/download/sheziqiong/88288173