申明:仅代表个人观点,不代表任何组织与单位

前言:本文正文约八千字,自制表格11张,表格更适合手机横屏。写这篇文章花了不少心血,全国与上海的人口数据与分年龄段疫苗接种率很久才找全,80岁以上老人数据更是搜遍全网反复推导计算才得。区区不才,但自问国内如此细分年龄段的疫苗接种数据全网难见其二,参考病死率疫苗有效性的细致模拟也不多,两者合一实属难得。写这样的文章不容易,发出来更不容易,望大家多多支持。

摘要:

  1. 参考3月中下旬的疫苗接种率,奥密克戎流行在内地可能造成106万人死亡(基线状况)

  2. 大幅提高疫苗接种率可将死亡人数降到70万

  3. 同时提高疫苗有效性可进一步降低死亡人数到50万

  4. 在提高疫苗接种率与有效性之外,在广泛使用高效治疗药物,死亡人数将降至7万,低于中国每年流感死亡人数。且以上干预情况均不涉及任何物理防疫措施

  5. 上海60万感染六百多人死亡远优于基线状况估计,更贴近大幅使用抗病毒药的情况,须有上海详细数据方能判断其疫情经验是否有普适性。

正文

5月在《自然|医学》上来自上海的一个建模称如果维持上海疫情爆发前的防疫措施不变,仅凭3月当时的疫苗接种,中国将有近160万人因奥密克戎大流行死亡,需多管齐下——提高疫苗接种率,大规模使用抗病毒药物再加上严格的物理防疫,才能把死亡降到流感的水平(中国每年8万人因流感死亡)[1]。

对于这个建模我颇为怀疑,主要是建模出来的粗病死率与香港极为类似(全人口近千分之一死于新冠),可无论年龄结构还是疫苗接种率,内地都比香港更好,应该能反映到粗死亡率上。另一个在中文圈流传较广的“建模”是梁建章先生做的,预计不做清零努力,奥密克戎死亡人数为15万左右。这个数字我也极度怀疑,因为该估计没有考虑不同年龄段病死风险不同。

不过这两个建模的思路都是一致的,从疫苗接种情况出发,分析在当下接种率下,中国人群面对奥密克戎的病死风险,由此得出可能的死亡人数。采用的疫苗有效性、病死风险也都参考所用疫苗、自然免疫背景与内地有相似之处的香港。

《自然|医学》一文还难得给出了中国分年龄段的疫苗接种率。以此为基础再参考了其他一些人口数据,香港跟踪的科兴疫苗有效性,我也做了一些模拟。

1. 分年龄段与疫苗接种状况的病死率

模拟奥密克戎的死亡风险先要搞明白各年龄段在接种两针或三针灭活疫苗后的病死率风险。未接种疫苗的各年龄段死亡风险我直接使用了香港奥密克戎时期的病死率[2]。灭活疫苗降低死亡风险的有效性数据来自香港大学之前的跟踪[3]。参考这两个数据源,我做了以下分年龄段、分疫苗接种情况的奥密克戎病死率估计:

表1 . 分年龄段 灭活 疫苗防死亡 有 效性以及 新冠病死率

打开网易新闻 查看精彩图片

其中我做了几个处理。

一是没有计算20岁以下人群的病死风险,这个人群重症风险极低,香港跟踪下来只有少数几例未成年人感染死亡,很难获得准确的病死率估计。移除这个年龄段的病死风险分析对整体死亡人数影响也不大——毕竟死亡风险太低且占人口比例不是那么大。

二是没有考虑接种一针的情况,因为国内大部分人是完成两针或三针接种,只打了一针的极少。

三是疫苗防死亡的有效性均采用更“弱”估计。港大跟踪的95%置信区间,我都用了比下限稍低的估计,比如三针防死亡有效性各年龄段都使用了90%。这种保守处理对疫苗减少死亡的作用很可能有低估。之所以做这样的刻意“低估”,是考虑随时间疫苗有效性会下降,像香港跟踪的疫苗有效性是第三针刚开展接种没多久。虽然防重症防死亡有效性维持相对稳定,但做“弱化”的保守估计,个人认为更稳妥一些。宁可模拟不乐观,现实更乐观,好过模型很乐观,现实很打脸。

可以对照香港观察到的病死率数据[2]:

打开网易新闻 查看精彩图片

以我的“弱化”估计出的病死率要比香港观察到的高。比如三针科兴观察到的病死率是1.19%,而用90%防死亡有效性计算出来为1.634%。

我们建模的基础是新冠分年龄段未接种人群病死率,在这基础上考虑灭活疫苗降低病死率到什么程度。不少人可能会问香港的未接种人群病死率靠谱吗?毕竟香港奥密克戎疫情时粗死亡率领先破了全球记录,会不会是个特例?如果看分年龄段的数据,香港还真不是特例,病死率极低的新加坡分年龄段病死率数据[4]:

打开网易新闻 查看精彩图片

只看未接种人群,80岁以上病死率是13%,只比香港的16.34%略好一点点,70-79岁新加坡5%,香港5.51%,60-69岁新加坡2.1%,香港2.08%。从这些数据来看,参考香港的病死率应该是靠谱的。

2.内地疫苗接种状况

分年龄段、疫苗接种状况的病死率只是一方面,要模拟疫情可能造成的病死人数,离不开各年龄段的疫苗接种人数。

类似于病死率的表格1,本文还是关注18岁以上人群(香港未成年人数据以20岁为界限,国内疫苗接种数据是18岁为界),分了18-59岁,60-69, 70-79与80以上四个年龄段,内地各年龄段接种率与对应的人数如下:

表2 . 中国 成人 各年龄 段疫苗接种情况

打开网易新闻 查看精彩图片

表2中的人口与接种率数据大部分借用了《自然|医学》上海学者论文中的数据[1]。根据论文描述,人口数据来自2020年的全国七普。不过论文里有一个缺点,没有把80岁以上人口单列。如果看香港的数据会发现80岁以上的病死率远高于70-79岁人群,未接种疫苗的病死率相差三倍。中国80岁以上接种率又是老人中最低的,归入70岁以上会严重影响准确性。

为此我去找了七普的相关报道,其中一个提到中国80岁以上人口为3580万[5]。其它新闻有报道为3600万的,总之还算比较接近,于是以此为准,从上海学者的论文中细分了70-79岁与80岁以上的老人。

70-79与80以上两个年龄段的接种率参考了国家卫健委截至3月17日的数据[6]。在该报道中60-69岁的接种率数据与《自然|医学》一文一致,论文也提及接种率数据为3月的数据,大概率是同一来源。

类似于病死率一表,接种状况里没有列出只打了一针的情况,从卫健委的数据看,接种疫苗与完成全程接种比例非常接近,只打了一针的非常少。出于简化就只分未接种(实际含打过一针,未完成全程接种的人),打完两针与打完三针。

3.奥密克戎大流行会感染多少人?

以上我们有了中国各年龄段按疫苗接种情况的人数以及对应的感染后死亡风险,要估算奥密克戎流行会造成多少人死亡还需要一个极为重要的数据——奥密克戎流行能感染多少人。

如果看香港,截至6月底累计感染超122万人,在740万的人口里意味着感染率达到了16.5%[2]。这个感染率应该还是比较反映奥密克戎的普遍情况的。像新加坡放弃清零后累计感染率25%[4],台湾2022年初暴发的奥密克戎疫情已进入下行区间,累计感染377万,感染率约16%[7]。

这些或多或少都只反映了实际感染的一部分——疫情大爆发后普遍会把检测集中到有症状的感染者,无症状会有遗漏,抗原自测更是有不上报汇总的情况。如有学者认为香港实际感染达到了30-40%。

参考香港,假设奥密克戎大爆发,在内地造成有记录的感染的人口比例16.5%,然后实际感染比这个高一倍为30%多,应该是一个比较合理的估计。

然后由于奥密克戎的免疫逃逸,疫苗,特别是灭活疫苗防止感染的能力已很弱,可以假设16.5%的感染会无差别打击接种与未接种人群。那么能估计出在奥密克戎疫情下,不同年龄段按疫苗接种情况划分,各有多少人会被感染:

表3.奥密克戎大流行后各年龄段感染人数

打开网易新闻 查看精彩图片

感染人数相当于各年龄段各种疫苗接种状况人数直接乘上16.5%。香港等地遗漏的多为轻症无症状,毕竟住院的人都是优先检测,重症遗漏可能性很低,而且病死率也是基于有记录的人计算而来。所以病死人数的估计可以直接用这个记录感染人数去计算,不受实际感染低估的影响。

可以发现绝大部分感染将发生在年轻人中,18-59岁感染达1.4亿,而80岁以上感染不到6百万。未接种的人感染也只是一小部分,如果看80岁以上未接种感染,尚不到3百万。作为参考,在上海学者的建模中奥密克戎有症状感染率是8%[1]。

4.估算奥密克戎能导致的死亡人数

将表3各年龄段、各疫苗接种情况的感染人数,分别乘以表1里对应的病死率,就能获得相应的奥密克戎病死人数:

表4.奥密克戎大流行后基线疫苗接种率下死亡人数估计

打开网易新闻 查看精彩图片

可以看到奥密克戎流行在中国造成的死亡人数可以达到106万。这一人数超过了梁建章先生的估计,但又比上海学者的建模低30%以上。敝帚自珍,个人认为我在年龄段上做到了更细致的区分(80岁以上老人单独计算),这会让估算更贴近新冠致死风险的现实特征——高龄人群中威胁更大。

一些人可能一看要死100万人,直接吓死了。实际上可以仔细看一下死亡人数集中在什么人群里。

首先,未接种疫苗的占了绝大多数——超过70万,但未接种的人占整体感染不到10%。也就是说即使没接种疫苗的人只占感染的很小一部分,仍能造成大量死亡。补充一点,在整个模拟过程中我对疫苗防死亡的有效性是做了明显低估的,有人可能会说接种疫苗的人里死亡人数应该更少。但注意死亡病例的大头在哪里。即使疫苗有效性做了低估,我们也只是高估了疫苗接种人群里的死亡人数,可绝大部分死亡是未接种疫苗的人群。甚至借用新加坡那里观察到的稍微低了那么一点的未接种疫苗病死率,未接种人群死亡仍然会接近60万,不影响整个模拟展示出来的严峻性。

其次,老年人占据了死亡病例的绝大多数,18-59岁估计的感染总数超过1.4亿,但死亡不到6万。106万的总死亡人数,100万是60岁以上老年人,光70岁以上未接种疫苗的老年人就占了61万。

所以不要看106万这个数字很大、很可怕,实际上数字背后告诉我们一个很明确的思考路线,关键在于提升老年人的保护,而提升老年人保护的重点又是关注那些没接种疫苗的老年人

5.疯狂打疫苗行不行?

对疫情模拟,关键不只是具体数字,更多是一种风险评估:在现有条件下病毒构成的风险是什么样的。在这一风险评估的基础上,我们可以进一步考虑:如果采取各种干预措施,又能把风险控制到什么程度。

在上述基于中国3月时疫苗接种率模拟出的奥密克戎大流行后的潜在死亡病例数之上,我们可以考虑加入一些变化,比如增加疫苗接种率,提高疫苗有效性,加入抗病毒药物等,看看使用这些措施,能带来什么变化。

先看提高疫苗接种率。我们来做一个非常激进的假设,把80岁以上老人两针接种率提高到80%,三针接种率提高到50%。为什么说这极为激进?因为打第三针是要第二针接种完半年,3月时80岁老人两针以上接种率刚过50%,实际上即便打完两针的人都去打第三针,也要到9月才可能让50%的80岁以上老人都符合接种第三针的条件并完成接种。剩下的人群我们也要提高疫苗接种率,假设把第三针接种率都提高到70%,两针在60-80岁的老人中提高到90%,年轻人本身已经很高,就稍微加一些到95%。就是这样一个接种率与对应人数:

表5 . 提高疫苗接种率 后各年龄段 接种情况

打开网易新闻 查看精彩图片

同样假设各人群感染率都是16.5%,然后再乘上对应的病死率,死亡人数的分布会变成这样:

表6.提高疫苗接种率后 死亡人数估计

打开网易新闻 查看精彩图片

非常激进的疫苗接种后,死亡总数下降到70万的样子,少了30%。效果不错,但要做到这样的接种率提升是很困难的,因为这里面对应了要完成3200万初始接种,2亿增强针接种。2亿增强针接种里1.5亿是60岁以下年轻人,即便说这些人里死亡较少(大幅提升第三针接种后死亡只从5.8万降到5.4万),可以缓一缓,那仍然是要完成5千万老年人增强针接种,加上3200万初始接种,总计是超过1.1亿剂疫苗接种

这是很大的工作量,迄今中国总疫苗接种量才是34亿剂,1.1亿是至今全部接种量的3%多。再给大家一个数据来说明这个工作量有多大,我们最初模拟的3月份疫苗接种数据,60岁以上所有老人中完全接种率是80.23%,根据新闻报道,到5月5日,这个比例增加到多少呢?81.67%[8]。而我们假设的疯狂打疫苗情景里,对应接种率需要提高到多少呢?88.64%

不是说如此提高疫苗接种率做不到,只不过这确实是个挺大的工程。既然付出那么多努力,横是一针,竖是一针,个人觉得不如看看能不能用好一点的针,同样打疫苗,把打完后的有效性提高一点。看看能不能把潜在死亡人数从70万再往下压一压。

6.提高疫苗有效性以及加入抗病毒药物

仅增加疫苗接种率,会发现未接种死亡人数从70万下降到33万,降幅很大,可毕竟是做3千万人次的初始接种换来的,要再提高接种率短时间内会非常困难。但另一方面,突破性感染死亡也有37万,特别是里面接种两针的人,感染人数比接种三针的少很多,死亡却多不少,超过了20万。

这就提出一个问题:能不能把疫苗有效性提高,通过这一方法把突破性感染,特别是两针灭活疫苗后突破性感染的死亡降下来?参考香港的疫苗有效性跟踪,使用复必泰两针时的防死亡有效性是显著高于科兴[3]。如果把初始接种的第二针以及增强针全部换成复必泰这种已经经过大量验证、明显更高效的疫苗,能在完成同样量的疫苗接种下,减少更多死亡

一样是参考香港疫苗有效性数据,一样选置信区间较弱一侧的低估,采用复必泰的数据,可以把两针防死亡有效性在各人群中提高到:年轻人90%,60-69岁88%,70-79岁85%,80岁以上80%。香港的跟踪中,接种复必泰增强针的病死率也是稍优于科兴的,其它地区的研究也有佐证面对奥密克戎mRNA增强针有效性维持更久。因此推测换复必泰做增强针,也带来了第三针有效性的小幅上涨,假设从90%提高到95%。

做了这样的有效性提高后,死亡人数会是什么情况?

表7.提高疫苗接种率与有效性后死亡人数估计

打开网易新闻 查看精彩图片

死亡人数下降到52万。注意未接种人群的死亡人数与不换疫苗是一样的,死亡的减少来自于两针后死亡少了10万,三针后死亡少了8万。我个人强烈认为,既然老百姓愿意来接种疫苗,那么我们有义务提供尽量好的疫苗。应该要去选择一个能在疫情下多减少突破感染死亡18万的疫苗。

还要注意时间成本,复必泰两针与三针科兴有效性类似,等于直接让接种者早6个月达到较好的保护。所以换疫苗不仅是提高疫苗有效性,还是加速获得较好的保护。如前所述80岁以上老人三针接种率提高到50%,按现有疫苗的接种,不到九十月份是做不到的。换复必泰之类的mRNA疫苗两针就取得类似效果,有希望让更高比例的老年人获得接近甚至超过三针灭活疫苗的保护

不过52万的死亡还是很多,远超流感死亡,这是不是意味着我们只能用物理防疫,走封城的路子了呢?在封之前可以考虑加入抗病毒药、单克隆抗体这些也能降低死亡风险的药物。

辉瑞的口服药以及新冠单克隆抗体药,临床试验降低住院风险都在80-90%的水平,现实中降低死亡90%不算离谱的估计(一般防死亡有效性都高于防住院)。假设没打疫苗的年轻人以及所有60岁以上老人(高危人群),感染之后都能及时用药,把他们的死亡风险降低90%,会是什么结果?

表8.提高疫苗接种率有效性,再加入抗病毒药物使用后死亡人数估计

打开网易新闻 查看精彩图片

死亡人数降低到了7万多,已经少于中国估计的每年流感人数。而且这里没有任何物理防疫措施

一些人可能会觉得这个抗病毒药太神了,如果不换疫苗,只用抗病毒药会怎么样,那种情况死亡人数是10万多,所以疫苗还是有区别的。另外,未接种疫苗年轻人以及60岁以上老人均用抗病毒药或单克隆抗体,需要约5千万个疗程。单克隆抗体产量较低,基本完全需要抗病毒药。

因此,靠接种疫苗以及使用抗病毒药,是可以把奥密克戎的死亡风险降低到流感水平的。但这两个都不容易,需要完成大量的接种以及 药物储备。

但我也想指出,这种不容易可能也是代价相对最小的。有人或许觉得采用强有力的物理防疫措施,直接不让感染率上到16.5%,不让奥密克戎流行,连7万的新冠死亡都不会有,是更为有效的防疫。

对于持这种观点的人,我想提醒不能忽视这里强有力的物理防疫措施的难度与副作用。我们参考了香港的感染率。别看香港感染率16.5%,当地在疫情暴发时期仍采取了学校远程教学、公务员在家办公、餐厅堂食限时等措施。只不过这些都未能在实质上降低感染。面对奥密克戎各个传播速度极快的亚株,能降低感染率的物理防疫措施,其药性之猛,不得不慎思。

7.反推上海疫情

任何一个模型估计都不是预测未来的神算子,只是一个根据现有数据做的推演。就像我在前文里强调的,模拟奥密克戎流行在中国造成多少死亡,不是宣称这就是未来,而是评估风险,未雨绸缪去降低风险。

构建模型时要基于真实的数据,构建后也要尊重后来出现的真实数据。我们可以考虑一下上海的情况,上海在奥密克戎时期累计感染约60万例,约占人口的2.4%,最后造成死亡约600例。这个数字是否符合我们的模型呢?

在参考了很多条新闻以及上海七普人口数据后[9],我做了以下自认为还比较靠谱的上海疫苗接种情况年龄段分布:

表9.上海各年龄段疫苗接种情况

打开网易新闻 查看精彩图片

18-59与60-69两个年龄段之间引自上海学者建模[1],70-79以及80以上参考了多个新闻后获得[10-11]。后两个年龄段的接种率根据新闻已是3月底4月上的数据,按上表计算的,上海60岁以上全程接种(2-3针)是360万人,接种率61.2%,根据上海截至6月16日数据,老人全程接种是367万,接种率63.16%,改变不大,因此表中数据到现在也有参考意义。

如果假设各年龄段发生了2.4%的感染,再参考第一个表格中的病死率数据,那么模型得出的病死人数:

表10.模型模拟上海发生60万感染时死亡人数

打开网易新闻 查看精彩图片

接近4900人,是现实中观察到的600多人的8倍有余。

我这里模拟的死亡人数普遍是低于《自然|医学》上那篇论文的。如果我这里推算的上海死亡人数比实际高了8倍多,那《自然|医学》上的建模靠谱程度是多少呢?

8.反思模型与现实

为什么估计的数字与上海的现实会出现那么大的偏差?

很遗憾,很难知道。因为我们没有上海感染者分年龄段的数据。可能因为防疫措施得当,大量感染集中在年轻人,而非老年人。不过这大概不是全部原因。

据新闻报道[13],上海感染病例中60岁以上老人为19%,80岁以上老人为2%,低于两个人群在人口中占比(23.4%与3.36%)。但做简单推算,60万感染者2%为80岁以上老人,即有1.2万80岁以上感染者。如果感染按比例分布在未接种、接种两针与三针疫苗老人间,对应有近一万未接种老年人感染。以香港观察到的病死率,光未接种的近一万80岁老人里就估计有死亡超1600例,仍远超观察到的总体600多死亡。

或者是有基础疾病的老年人感染相对较少,类似于抽样误差,导致最终病死率优于香港大规模暴发时观察到的情况。另外,香港有大量无症状轻症没有记录在案,而上海不断做核酸检测,两地在检测力度上的差异意味着套用香港的病死率时本身也有高估可能。

也有可能不少患者因治疗有方,比如较早使用了抗病毒药物,降低了死亡风险。假设上海的未接种疫苗人群与60岁以上老人,感染者都利用抗病毒药降低死亡风险90%,那模拟出来死亡人数是562人,与实际观察到的极为相似

表11.假设大规模使用治疗药物的上海死亡人数模拟

打开网易新闻 查看精彩图片

可这一切都只是推测。对于一件已经发生了的事情,还是希望能直接分析真实数据,而不是这样去瞎猜。我们也需要去分析上海的数据,因为这样我们才能知道哪些措施起了作用,哪些地方出了问题。我们不能一直在一群清零派说不清零必然造成大量死亡,一群共存派说次生灾害导致大量死亡的争论中茫然若失。

9.结语

就像我在文章里反复强调的,模型不是预测未来的先知,对奥密克戎疫情模拟的价值不在于告诉我们未来会发生什么,而是尽量准确、客观地评估风险,指导如何去降低风险

从本文的模拟来看按3月中下旬的内地疫苗接种率,一旦奥密克戎流行,未接种的老年人确实有较大的风险。但通过增加疫苗接种率,特别是采用更有效的疫苗,再辅以普及抗病毒药,新冠死亡是可以降到流感水平的。注意在这里我们没有采用任何物理防疫措施来降低感染率。

当然,可以做到不代表容易做到。提高疫苗接种率意味着要完成3200万人次初始接种,老人中5000万人的增强针接种,抗病毒药与单抗需准备5000万疗程。而从目前能查到的近期疫苗接种率来看,似乎还比较遥远。特别值得担心的是继续按现在初始接种满半年接种第三针的计划,又未引入高效疫苗,时间成本极为昂贵。

但也要看到上海感染率达到2.4%的情况下,实际死亡远低于我们的模拟。上海新冠病死率约为千分之一(60万感染死亡600多)。如果此病死率真能类推,即使中国内地暴发奥密克戎疫情,导致16%的人感染(与香港、台湾类似),在2.24亿人感染情况下仅会出现22.4万死亡。远远优于基于疫苗接种率与境外病死率模拟的数据——在基线的模拟中,仅80岁以上未接种老人里死亡人数就接近了50万。

为什么出现这样的偏差是需要仔细思考的。只有分析上海的详细数据,我们才能明白为什么那里观察到的病死率是这样,才能知道上海能不能代表中国的普遍情况,比如是不是感染人群还是更偏健康,是不是已经大规模使用了抗病毒药,不再代表模拟的基线情况,而更接近于采用药物大量干预的情况。

去模拟疫情暴发后的情况,不应该只是为了发篇高档论文,也不是为了向别人吹嘘自己多么神机妙算,至少不能仅仅为了这些。构建模型应该是为了分析风险,推敲措施、建议。太多疫情建模心思都花在了证明自己的模型和过往疫情多么相符,因此是多么优秀上,可真正需要做的是不断根据现实的变化,考虑哪些地方是之前没考虑到的,哪些地方需要修正。

我们模拟奥密克戎流行的死亡威胁,也不是为了争执这是不是流感,而是为了分析如何能控制这个疾病的威胁,而在同样的控制下,如何付出代价最小。即使通过各种措施把潜在死亡降到流感之下时,也不是终点,还应进一步考虑为什么仍有这些死亡,是不是这极少数人属于疫苗有效性特别低的,这些人还能通过什么方式来帮助。

无论是什么样的疫情建模,最终希望这些是帮助我们向前进步,而不是让我们倒退。

参考资料:

  1. https://www.nature.com/articles/s41591-022-01855-7

  2. https://www.covidvaccine.gov.hk/pdf/death_analysis.pdf

  3. https://www.medrxiv.org/content/10.1101/2022.03.22.22272769v2.full

  4. https://www.moh.gov.sg/covid-19/statistics/

  5. http://www.stats.gov.cn/ztjc/zdtjgz/zgrkpc/dqcrkpc/ggl/202105/t20210519_1817705.html

  6. https://j.eastday.com/p/1647595883041553

  7. https://sites.google.com/cdc.gov.tw/2019ncov/taiwan

  8. 8.http://www.gov.cn/xinwen/2022-05/07/content_5689065.htm

  9. https://www.hongheiku.com/shijirenkou/1082.html

  10. https://m.yicai.com/news/101383670.html

  11. https://www.yxj.org.cn/detailPage?articleId=314003

  12. https://www.sohu.com/a/558255969_119038

  13. https://j.021east.com/p/1650422426048330