病毒传播模拟实验2-清零还是共存?

简介: 两年前,我曾经用python写过一个病毒传播的模拟器,用一个简化的数学模型来演示病毒的传播,并用模拟实验解释了为什么做好个人防护、减少出行和对感染者集中隔离可以有效阻断病毒的传播。

大家好,这里是crossin


两年前,我曾经用python写过一个病毒传播的模拟器,用一个简化的数学模型来演示病毒的传播,并用模拟实验解释了为什么做好个人防护、减少出行和对感染者集中隔离可以有效阻断病毒的传播。


具体模拟逻辑和参数说明详见:

【实验模拟】对疫情,我们可以放松警惕了吗?


现在模拟一个传播性更强但致病性大减的病毒2号,看看不同的防疫模式会带来什么样的结果。


详细内容见视频:


病毒2号具有更强的传播性,但是致病性大幅降低。


除此之外还要2个重要的变化:

  1. 假设我们模拟的区域是一个非封闭城市,会不断有新增输入病例产生
  2. 被感染后康复的人,同样有可能再度被感染


调整之后进行模拟:(红色曲线为感染病例数,绿色为康复人数)


感染数 56297    病亡数 13


策略同之前一样,当病例到达一定数量就进行全面防控,清零后再解除。但因为有新增输入,所以疫情会出现反复。相比之前的病毒,同样策略下,感染人数要多出很多,但病亡人数却大大减少。


如果不采取防控措施呢?

感染数 89975    病亡数 1313


因为设定了重复感染的可能。即便所有人都感染了一遍,疫情也不会结束。由于感染人数太多,且不断重复感染,即便病亡率很小,最终造成的绝对病亡人数也很多。而这还只是我们限定的时间段内的结果。


从以上实验对比来看,对于这个病毒2号,启用全面防控的效果依旧要远远好过放任不管。


所以,清零要优于共存了吗?


要知道,良好的防疫措施是需要投入人力物力成本的。而对于很多人来说,不出门工作就意味着没有收入,整个社会的产出也随之减少。


将以上设定也加入到这个模拟实验中,抽象出资源总量这样一个数值:

  1. 每个人每天出行,可以产出1点资源
  2. 每个人每天消耗 0.5 点资源,如果进入发病期,再多消耗 0.1 点,重症多消耗 0.5 点
  3. 进入方舱每天额外消耗 0.1 点资源,入院消耗 0.3 点
  4. 另外,因为防控和检测都需要成本,所以从进入防控状态开始,每天每人消耗 0.1 点资源


然后,再来对比下上述两种模式。(浅绿浅红色的柱状图表示“资源总量”的变化)



正常时资源总量持续上升,在防控状态下,模型中资源总量会不断减少。疫情反复出现,曲线就反复的下降。



如果放弃管控限制,能出门工作的都照常出门,除非出现重症或进了医院。的确是可以在很大程度上缩小对资源增长的影响。但与无疫情时的增速还是不能比,而且如前面所说,这种方式带来的影响是会长期持续的。


经济发展虽不能和人的生命相提并论,但如果没有足够的经济实力作为后盾,高标准的防控也难以持续。况且,这里说的资源,还不仅仅是经济,也包括医疗资源、民生资源等等,过度的消耗一样可能带来次生伤害。


所以全面防控也不能说没有问题。


那有没有更好的防疫方式呢?还真有。就是现在很多城市在使用的方式:精准防控。


之前模拟时,一旦疫情达到一定规模,就限制所有人的出行。现在我把它优化一下,只隔离病例接触过的密接人群。


现实中,这个操作被称为流调。流调和检测难免出现遗漏,所以这里加一个概率参数,流调准确度。


感染数 13015    病亡数 3


在新的机制下,模拟出的效果要好很多,不但将疫情控制住了,对于资源的消耗也大幅降低。即使反复出现输入病例也在可控范围之内。


但是,又来但是了……这一操作的前提是,流调的准确度足够高,且效率足够快。


感染数 81078    病亡数 30


这里将流调准确率下调一点,一旦不能做到及时隔离被感染人群,漏洞就会越来越大,疫情越来越严重。


现在,你能不能告诉我,这样一个纯模拟的实验环境中,使用怎样一种策略才是最优解?


我不知道你们怎么想,至少我是无法给出一个完美的结论。


而如果放在现实中,这道题就更加复杂了。我们需要面对更多、更复杂的参数。你选择什么指标,采信哪种数据,决定了你将得出什么结论。就连我这个实验模型,如果微调几个参数,也有可能得出大相径庭的结果。


在这种情况下,我不是很理解为什么有些键盘前的 非专业人士可以很笃定说出一种方案胜过另一种方案。


病毒在变异,防疫的措施也需要不断更新,需要根据实际情况做科学的调整。过去全面清零未必等于将来一直要全面清零,假如将来要共存也不等于此刻就要共存。不应该把防疫问题变成一个站队的问题。


就我这个虚拟世界中的模拟实验中来说:

  • 任何一种极端的方案都不是一个好选择。
  • 无论采用合种方案,执行是否到位直接影响结果
  • 提高疫苗接种率,尤其是高危人群的接种率,就相当于降低了传播性和重症率,这不管对于哪种方案都是有效的。


另外,虽然没有在我们这个模型中体现,但同样很重要的一点就是对基本民生的保障。模拟程序中的“人”只是不用吃喝拉撒的数据,但放到现实中,这就是我们每个人的生活。


最后,虽然我没能给大家展示一个完美的解决方案,但是跑出了一个很糟糕的情况:


感染数 67608    病亡数 55


一开始,因为某些原因产生了大量病例,流调效率跟不上,却还依然不实事求是调整策略,把名义上的精准防控做成了实际上的不精准防控。后来实在严重了之后,仓促转为全面防控,却漏洞百出,时不时有阳性外溢,加上没有解决好基本生活保障,产生过多计划外的接触。


最终的结果就是:既消耗大量的资源,也没能控制住疫情,还让区域内的人不停受罪。若做成这样,那真的不如躺平算了,地球上有些国家和地区的确也是这么选择的。可你说,这是防疫策略本身的问题吗?


以上就是我个人基于这个病毒传播模型做的模拟实验和一些思考,程序是python写的,已经开源,你可以拿去自己调整参数运行。


视频中的所有结果和推论都只针对程序中的虚拟模型,不作为对现实情况的仿真。但希望能引起大家一些思考,可以更理性地去看待疫情和防疫,当然更希望疫情可以早日彻底结束,我们不需要再来讨论这事。


最后感叹一下,两年前的模拟实验1,曾经被人民日报转载:

数据模型告诉你,现在可以放松了吗?- 人民日报

两年后的模拟实验2,发都发不出来了:



感谢转发点赞的各位~

相关文章
|
前端开发
【前端设计】寄存器与主功能电路为异步时钟时的功能影响探索
【前端设计】寄存器与主功能电路为异步时钟时的功能影响探索
109 0
|
2月前
|
存储 数据安全/隐私保护 索引
SV39多级页表的硬件机制
【10月更文挑战第26天】SV39多级页表机制包括三级页表结构,每个页表项64位,通过SATP寄存器控制地址转换。地址转换过程涉及三级页表查找,最终生成物理地址。页表项包含有效位和访问权限位等标志,用于内存管理和访问控制。物理页帧的分配和回收确保内存的有效利用。
|
NoSQL iOS开发 MacOS
记一次 rr 和硬件断点解决内存踩踏问题
借助 rr 来定位查询语句结果不一致的问题。
652 0
|
存储
驱动开发:内核读写内存多级偏移
让我们继续在`《内核读写内存浮点数》`的基础之上做一个简单的延申,如何实现多级偏移读写,其实很简单,读写函数无需改变,只是在读写之前提前做好计算工作,以此来得到一个内存偏移值,并通过调用内存写入原函数实现写出数据的目的。以读取偏移内存为例,如下代码同样来源于本人的`LyMemory`读写驱动项目,其中核心函数为`WIN10_ReadDeviationIntMemory()`该函数的主要作用是通过用户传入的基地址与偏移值,动态计算出当前的动态地址。
132 0
【C51单片机】中断系统之单一外中断应用
【C51单片机】中断系统之单一外中断应用
驱动开发:内核读写内存浮点数
如前所述,在前几章内容中笔者简单介绍了`内存读写`的基本实现方式,这其中包括了`CR3切换`读写,`MDL映射`读写,`内存拷贝`读写,本章将在如前所述的读写函数进一步封装,并以此来实现驱动读写内存浮点数的目的。内存`浮点数`的读写依赖于`读写内存字节`的实现,因为浮点数本质上也可以看作是一个字节集,对于`单精度浮点数`来说这个字节集列表是4字节,而对于`双精度浮点数`,此列表长度则为8字节。
266 0
|
存储 关系型数据库 索引
总结:从实模式到保护模式的流程和相关寄存器,相关数据结构之间的联系
总结:从实模式到保护模式的流程和相关寄存器,相关数据结构之间的联系
543 0
|
异构计算
FPGA(6)--7段显示译码器的加法计数器
FPGA(6)--7段显示译码器的加法计数器
263 1
FPGA(6)--7段显示译码器的加法计数器
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
1212 0
|
C语言 芯片
复习单片机:中断系统(内含1.中断概念+2 中断结构及相关寄存器)(注:相关寄存器是重点)
复习单片机:中断系统(内含1.中断概念+2 中断结构及相关寄存器)(注:相关寄存器是重点)
308 0
复习单片机:中断系统(内含1.中断概念+2 中断结构及相关寄存器)(注:相关寄存器是重点)