专栏名称: SegmentFault思否
SegmentFault (www.sf.gg)开发者社区,是中国年轻开发者喜爱的极客社区,我们为开发者提供最纯粹的技术交流和分享平台。
目录
相关文章推荐
程序员小灰  ·  3个令人惊艳的DeepSeek项目,诞生了! ·  17 小时前  
OSC开源社区  ·  宇树王兴兴早年创业分享引围观 ·  2 天前  
OSC开源社区  ·  2024: 大模型背景下知识图谱的理性回归 ·  2 天前  
待字闺中  ·  DeepSeek 爆火带来的大变化 ·  1 周前  
51好读  ›  专栏  ›  SegmentFault思否

数据模型分析告诉你,现在还不是出门的时候!

SegmentFault思否  · 公众号  · 程序员  · 2020-02-07 11:45

正文

经过几天的「封闭管理」,很多人已经在家里坐不住了,想着趁现在外面人不多,附近也还没有确诊的病例,出去一小会儿溜达溜达应该没什么问题。


但你们知道感染新型冠状病毒最快需要多久么?前两天 的一条新闻告诉我们,一男子出门买菜,15 秒就被感染。



一旦出门, 你根本不知道病毒什么时候接近你, 它也不会给你任何一个侥幸的机会。以各种形式奋斗在「抗疫」一线的人们,付出了自己的时间、精力甚至是生命,不就是为了尽快帮我控制住疫情、渡过疫情么?


我们的每一个侥幸都是在用他们的生命做试探。


上海医疗救治组组长张文宏医生在接受采访时说过一段话:


如果现在还是 们医生一个人在战斗, 这个仗打不赢的 ,肯定完蛋。 现在开始每一位都是战士,这点很重要。 然后整个疾病的控制 ,一个字 —— 「 希望大家好好地在家里在隔离点闷两个礼拜,把这个病毒闷死,闷死就抗疫成功了。


如果有人还不明白这么说的原因,有一位程序员做了一个疫情的模拟仿真程序,来直观的告诉我们呆在家里、控制人群流动的重要性。


感谢项目和视频作者: B站up主@Ele实验室





疫情仿真程序介绍


该项目采用的是面向对象的语言 —— Java。 数学模型方面,采用的是自然界中常见的正态分布 (高斯分布)。



程序中设置的变量包含:


- BROAD_RATE: 初始感染数量

- ORIGINAL_COUNT: 传播率

- SHADOW_TIME: 潜伏时间

- HOSPITAL_RECEIVE_TIME: 医院收治响应时间

- BED_COUNT: 医院床位

- u: 流动意向平均值



但疫情的传播其实并不是这么简单,涉及到的影响参数肯定远不止视频中展示的这几项,但作者也表示制作该模型只是为了对大家进行传播及控制要素的分析。





控制变量分析



具体的分析过程大家可以在看完文章后到 B 站看作者的视频详细理解,这里我们把一些分析结果分享给大家:


初始数据设置:


- 初始感染数量:50

- 传播率:0.8f

- 潜伏时间:0

- 医院收治响应时间:10

- 医院床位:0

- 流动意向平均值:-0.99f


- 将医院床位数据调整为: 100


当病毒慢慢扩散开来,我们需要医院建立隔离区,当把床位参数改为 100 张床,若此时我们控制人群不随意流动,疫情会很快被控制,从而被消灭。


- 将医院床位数据调整为: 100,流动意向平均值调整为:0.99f


但就像我们最开始,对于自我隔离不是非常重视,增大人群流动意向后,医院的隔离床位很快会被占满,疫情也将无法控制。


- 将医院床位数据调整为: 1000,流动意向平均值调整为:0.99f


当将床位增加 10 倍后,疫情仍然被很快控制住。如视频作者所说,这就是国家建立火神山、雷神山医院的原因。模拟程序中还有一项「 医院收治响应时间」,也就是一个患者从确诊到 被安置隔离的时间。 如果该时间过长,疫情也将无法控制。


分析到这,视频作者提出另一个关键的影响因素 —— 病毒的潜伏期。本次病毒有长达 14 天的潜伏期,也就是参数「SHADOW_TIME」的数值应为 14。


- 将潜伏期数据调整为:14, 流动意向平均值调整为:0.99f


模拟开始的时候因为在潜伏期,很难在人群中发现并隔离患者,但当潜伏期过后,就会出现爆发性增长,医院的床位也会很快被占满,疫情将无法控制。


- 将潜伏期数据调整为:14, 流动意向平均值调整为:-0.99f


但如果人群可以控制流动,虽然整体防治过程较长,但最终疫情被很好的控制并被消灭。









请到「今天看啥」查看全文