论封控政策的可行性——一个奥米克戎的传播模型模拟
上期文章中,我们介绍了一个流行病学中的重要数学模型——SIR 模型。
然而,对于现在大家最关心的奥米克戎,SIR 模型还过于简单。在这篇文章中,我将来聊一聊我是怎样对 SIR 模型进行了一通魔改,试图更真实地模拟我们目前所面对的疫情。
建模思路
在原来易感人群、传染性患者、康复人群的基础上,我在模型中加入了被感染但仍处于潜伏期的人群,以及被检测到异常阳性并有效隔离的人群。
我的野鸡模型姑且称为 SEIQR 模型,因为模型中全部人口被划分成五个群体:
- 易感人群(Susceptible):小白鼠,有一定概率被携带病毒的潜伏期患者或传染性患者感染
- 潜伏期患者(Exposed):病毒携带者,但是没有明显症状,具有较弱的感染能力,有一定概率发展成传染性患者
- 传染性患者(Infective):病毒携带者,已度过潜伏期,具有较强的感染能力,有一定概率康复
- 隔离患者(Quarantined):病毒携带者,没有机会接触易感人群,不再传播病毒,有一定概率康复
- 康复人群(Recovered):曾经被感染病毒但已经康复,其中大部分从此对病毒免疫,但一小部分会有可能被二次感染
模型的主要参数设定如下:
- $\mathcal{R_0} = 10$,即一名病毒携带者在完全不设防的易感群体中平均可以感染10只小白鼠,形成10条传播链
- 潜伏期患者发展成传染性患者的平均时间:2天
- 传染性患者康复的平均时间:5天
- 传染性患者的传染率:由模型的 $\mathcal{R}_0$ 和患者康复的平均时间计算得出($\mathcal{R}_0$ 在经典 SIR 模型中的定义可以参考我的上一篇文章)
- 康复患者中可能被二次感染的比例:10%
模拟中还可以加入极其高效的隔离管控措施:
- 未被管控起来的任意一名传染性患者,在任意一天被抓去隔离的概率:95%
- 未被管控起来的人以一名潜伏期患者,在任意一天被抓去隔离的概率:90%
注意这是阳性病例在任意一天被抓取隔离的概率,躲得过初一的基本也没多大希望躲得过初二。
在这基础上,我再继续加码,做了如下设定
- 刚刚被感染进入潜伏期的患者,立即就被当场活捉逮去隔离的概率:80%
实际模拟中,对同一组参数设定,我让程序各跑20次模拟,模拟的结果画在同一张图里作对比。模拟结果可以看到,不同 $\mathcal{R}_0$ 取值的毒株在有管控或者无管控的情形下表现出来的传播能力如何。
无管控下的病毒传播
我们先来看看完全没有管控隔离的情况下,传染病会发展到什么地步。
我的初始条件设定在5000人的人口规模下,混入了2个传染性患者,然后模拟出病毒在我的野鸡 SEIQR 模型中的扩散速度和规模。
首先是 $\mathcal{R_0} = 0.8$ 的模拟。
这里可以看到一件很有意思的事,同样 $\mathcal{R_0}$ 值的病毒放到 SIR 模型中会自取灭亡,但是在我们现在模拟的 SEIQR 模型中,却还有一定的机会爆发成流行病(只不过爆发速度相对较慢,我都懒得跑到流行病终结)。这主要是因为 SEIQR 模型中,病毒多了一个潜伏期,它变得更狡猾了,而且我们的设定是它在潜伏期仍然具有一定的传染能力,因此 SEIQR 模型中同等 $\mathcal{R_0}$ 水平的病毒应该还略强于 SIR 模型中的同行。
再看这个 $\mathcal{R_0} = 2$ 的病毒。注意到它在多次模拟中最终扩散到了近 95% 的总人口,而跟它对标的 $SIR$ 模型中同样 $\mathcal{R_0} = 2$ 的病毒相形见绌,只能殃及近 80% 的总人口。这里再次说明 $SEIQR$ 模型中这款具有潜伏期的病毒有了更强的传播能力。
但是同样有意思的一个观察是,SIR 模型中 $\mathcal{R_0} = 2$ 意味着疫情一定会扩散,但 SEIQR 模型中,有少数几次模拟的结果是这个病毒自己歇菜了。注意这还是在没有管控隔离措施的情况下,它把自己忽地就整没了。这是因为我们的模拟中加入了随机的概率元素,很可能某次模拟中,这个倒霉病毒真就是开头几天没快速传播,而患者又很快康复了,那它也就很没存在感地玩完了。
到了 $\mathcal{R_0} = 5$,这病毒的传播力已经很可怕了。没有管控,这病毒不再跟你讲运气啥的,后果基本就是一周时间内病毒扩散传播至全部的人。$\mathcal{R_0} = 10$ 甚至可以稳定在5天左右的时间内影响至所有人。
有管控下的病毒传播
我们接下来看看病毒们在我们前文提到的管控力度面前,会有何表现?
依然是在5000人的人口规模下,稍微给病毒留点扩散的机会,初始的传染性患者数量设为5个,也就是占比为总人口的0.1%。我们看看这5个病毒的火种有没有机会燎原。
$\mathcal{R_0} = 0.8$ 这种咱就不用看了。在现在实行的隔离强度下,跑多少遍模拟,$\mathcal{R_0} = 2$ 的毒株也是次次被按死在襁褓状态中,毫无出头之日。
$\mathcal{R_0} = 5$ 的毒株可否一战?
呵,这个王炸的存在也凉了,20次模拟,每一次病毒的扩散规模只不过是总人口的极小一部分,最多的一次也不过影响约 3% 的总人口。
当然我们可以说,这一开始就没多少阳性病例,很容易就把他们全隔离起来,切断传染源了。那如果一开始疫情已经扩散到一定程度,这个管控力度能把 $\mathcal{R_0} = 5$ 的病毒压下来吗?
让我们把初始的患者人群数改成总人口的5%,看看这250个传染源能不能顶着管控放飞。
结果是,疫情依然是很快就被控制下来了,最终被感染的数量大约总是可以被控制在总人口的20%以内。虽然还是会有传播,但这对于一个不加管控就可以在一周时间内把所有人都传染一遍的病毒,这种管控效果可以说非常给力了。
好,我们搬出最后的大 boss,$\mathcal{R_0} = 10$ 的病毒,来战个痛快。初始的传染性患者数量重新设为5个,即只占总人口的0.1%,不给这个毒瘤太多抢跑的机会。
好了,结果也看到了。把 $\mathcal{R_0} = 5$ 干得毫无还手之力的隔离管控力度,在 $\mathcal{R_0} = 10$ 面前还是不够看。20次模拟中,只有少数几次把病毒按住了,大多数的平行宇宙中,病毒依然我行我素地传播、蔓延,最终感染接近一半的全体人口。
如果再给它一点抢跑的机会,初始的传染性患者占比也不用特别多,就假设只是达到1%,下面的模拟结果可以看到,疫情的发展只有在40%~60%的人群被感染后,才能被最终控制住。这其实就是被动的群体免疫。
现在大家也许可以感受到基础传染数 $\mathcal{R_0} = 10$ 是什么样的概念,是怎样的一种灭霸级的传播力。
写在最后
我们如今面对的奥米克戎,基础传染数差不多就是 $\mathcal{R_0} = 10$。
要控制住奥米克戎,就必须拿出比我这里模型参数更硬的措施,也就是说我们需要
- 保证每天 >95% 的尚未被管控起来的传染性患者被有效地隔离
- 保证每天 >90% 的尚未被管控起来的潜伏期患者被有效地隔离
- 保证 >80% 的隐蔽性极强的刚刚被感染的新患者立即就被拉去隔离
在数值模拟中,我们要做的无非只是调一个参数。但是现实中,要提高隔离的效率谈何容易。奥米克戎的防控是没有什么容错率可言的。
按照现在新闻中看到的情况,很多小区有大量检测阳性的病例,需要好几天才会被疾控中心接走。但凡这个阳性患者跟其他人发生了接触,按奥米克戎的传播力,它可以几天内给你整出数条新的传播链。
高频次进行的社区大规模核酸检测过程中,考虑到目前检测经常需要一天两天才出结果,排队等候的人群中如果真有新被感染的潜伏期患者,我们几乎没有机会把新的患者立刻拉去隔离。只要漏掉那么几个,给奥米克戎一天两天时间,就是极快的指数级的增长。
此外,一些报道称楼道的气溶胶、快递的物资、上门服务的志愿者防护服,都可以附着病毒形成传播。这些防不胜防的传播渠道只会让追踪阳性患者的防控工作难上加难。
写了这么多,我最后想抛出来的问题就是,面对进化出这般传播力的奥米克戎,我们究竟该何去何从?透支着第一线医务工作者、居委工作人员、街道志愿者的身体,付出了巨大的经济和民生的代价,喊着口号一定要实现的动态清零,实现的可能性有几何呢?