仅从数据来看,目前的新型冠状病毒有多严重?

2020-01-26 20:10:58 +08:00
 wstart

0x00 声明&目的

声明:

目的:

本文探讨的主要目的是,有没有一种算法可以根据已有的数据对疫情进行预测和评估,可以方便在疫情出现的时候,根据预测的数据来判断当前的疫情状况。

文章分为 5 段

Ps : 心急的朋友可以直接拖到末尾 看结论。

(写本文时的疫情状况,图源丁香)

0x01 猜想

由于当前新型冠状病毒的数据并不多(从 11 号-26 号),所以仅仅是新型冠状病毒的数据来做研究是不够的,必须还要一组参考验证组。(当然是越多越好,但是精力有限,所以只找了一组)。

首先明确一下判断疫情的严重情况的指标,目前疫情一般会公告这四个数据:

由于我们把地区限定在了中国(虽然各个地区不一样),所这个地区的指标就不用了,死亡人数在疫情的前中后期都不太一样,这个也不用。疑似病例这个和各地的收诊情况有关系,比如香港的疑似病例就非常多,确诊很少,所以这个指标也不采用,剩下就以确诊病例作为唯一的参考指标。

猜想 1

假设病毒的传播和地区,气候以及病毒自身的特征有非常大的关系,那么只要找到一个和新型冠状病毒这三个属性非常相似的病毒,只要算法能够对这种病毒的确诊病例进行预估和判断,那么算法也可以对新型冠状病毒进行预估和判断。

( 03 年 4 月 22 日 SRAS,图源..不太清楚)

目前和新型冠状病毒最像的应该就是 SARS: 气候和现在差不多,1 月和 3 月。 地区主要是是中国。 病毒类型:都是冠状病毒,都有发烧咳嗽等特征。

那么基于上述的条件,采用了 SARS 作为参考组。

猜想 2:

可以给定一个 Δ,

0x02 数据的准备

确诊病例的数据

如果可以拿到 SARS 在 1 月份的数据就好了,可惜没有一个比较完整的地方有记录,基本上卫生部发布的好像是从四月份开始。于是只能采用四月份的数据了。

评估的算法

采用了 LSTM(长短期记忆网络),搭建的话 Keras。LSTM 已经是个老算法了,经常用于量化投资(简单点来说就是炒股之类,预测股票的增长),非常擅长于时间序列的预测。 最终调教后的算法模型是,根据过去三天的数据,可以预估最新一天的数据。

LSTM

实验的环境

数据量比较少,直接租了一台 16 核 8G 的云主机进行测试。

0x03 猜想验证

猜想验证部分直接全部使用 WHO 的 SARS 的数据进行验证。采用的字段是 Cumulative number of case(s),累计病例数,我这里就当它是确诊人数了。

SARS 的数据分别有两部分,一部分是中国大陆的,一部分是中国香港的。 在 5 月份后基本已经趋于平缓,所以只取了前两个月(约 60 天左右的数据)。

中国大陆确诊人数变化曲线

中国香港确诊人数变化曲线

可以看到数据涵盖了病毒爆发期,病毒平稳增长期,以及病毒被消灭期,比较合适用来验证算法是否可以拟合整体的曲线。

0x031 猜想一

这里采用前 50 天的数据做训练样本,训练的结果用来预测 60 天的情况, 预测和实际的对比如下:

中国大陆 SARS 确诊人数变化曲线(预测和实际)

中国香港 SARS 确诊人数变化曲线(预测和实际)

从图中我们可以看到,在使用了 90%的数据量下,数据是拟合的比较好的,肉眼看上去香港的数据基本可以用算法完全预估。这里给一下数据误差的对比情况:

说人话就是,模型预测的数据和实际的数据最多差了 6%。效果是非常理想的。这里我们可以证明第一个猜想,即 LSTM 可以用来拟合 SARS 确诊人数的变化情况。

0x032 猜想二

实际上虽然猜想一得到了证实,但是依旧没啥用,因为这里的模型是使用了 90%的数据,基本已经到了传播的后期。那么前期是否可以使用同一个模型进行验证呢? 这里只取中国大陆的数据进行试验。

根据三个阶段(这三个阶段是肉眼判断截取的,是否合理当时没有考虑)截取对应的数据进行建模,建模后的预测效果如下:

前期的数据建模人数变化曲线(预测和实际)

中期的数据建模人数变化曲线(预测和实际)

后期的数据建模人数变化曲线(预测和实际)

在前期的数据的预测中,到后面两个阶段实际的数据都比预测的数据比要大,说明在疫情开始了爆发。

在中期的数据的预测中,其他两个阶段预测的数据基本都比实际的数据要大, 说明在疫情在前期的感染速度较低,后期的感染速度也变低 。

根据上面两个数据,是可以推测是存在一个 Δ 去判断当前的疫情状况的。但是 Δ究竟是多少呢,这里倒是可以根据好几个因素去设置:

这里就偷懒了,可以明显看到各个时期都有一个或者多个转折点(消亡期不算),直接取最接近转折点的误差率来计算:

两个取平均作为 Δ的值,也就是 0.175 。

0x04 新型冠状病毒确诊数据的预测和验证

(新型冠状病毒从 16 号至 26 号确诊人数变化曲线)

分别取前 6 天的数据(到 20 号),取前面 9 天的数据(到 25 号)的数据代入模型进行预估

到 20 号的数据模型确诊人数变化曲线(预估和实际)

到 25 号的数据模型确诊人数变化曲线(预估和实际)

为什么选 20 号呢,20 号主要是央视有采访钟南山大佬,而且第一次说明了人传人的存在,以及 14 名医护被感染。我觉得应该算是开始重视这个病毒的一个点,随后各地开始上报疫情,发布以及响应等。

再往前的时间点就数据就比较缺失了,模型精准度已经失去了使用的价值,所以采取了 20 号的这个时间点作为分隔来建造模型。

如果以到 20 号的模型来估算的话,第一次误差偏离 0.17 的时间是 23 号,误差为 0.19 。23 号,广东,浙江启动了一级响应。确诊的病人增多。但个人感觉应该是检测的方法变强导致的,侧面来看,模型的确检测除了异常值,不过并不能够说明病毒变强了。

如果以到 24 号的模型来看,预估的 25 号的数据是 1877,实际的数据 1972,误差率在 0.04 ,未到偏离值。所以根据这个模型推断,当前疫情还在持续扩散中,但是并没有进一步恶化,可能国家的高度重视和很多省份都开始参与其中有关系。

依照当前的模型,明天的确诊人数的预估值是 2770,加上 0.17 的误差的话

再次声明:

以上的观点和结论都属于依据当前的确诊人数所作的推断,毫无参考的意义和价值。如果数据刚好对了,不能说明什么,如果数据错了,证明这个模型真的不行。

那么,如果我们带入 SARS 最严重的的时候,会怎么样 ?

还是按照误差 0.17 来算,在 23 号,误差达到了 0.18 ,也就是 3 天前,按照这个模型的数据推算,新型冠状的病毒传染性比 SARS 要强。 但也可能是和春运有关系,毕竟数据的时间不一致。

再再次声明:

以上的观点和结论都属于依据当前的确诊人数所作的推断,毫无参考的意义和价值。如果数据刚好对了,不能说明什么,如果数据错了,证明这个模型真的不行。

0x05 再多讲几句

写这个的目的纯粹是为了探讨和研究,实际上,真的要写一个这种疫情预测和评估的系统,需要非常多的参考的数值,比如医护人员的数量,检测手法准确率,时间,病毒的潜伏期等等,需要非常多的人力物力才可以编写完成,像本文这种只靠单一维度的输入去判断和预估的模型和玩具没什么区别。

但是在编写的过程中也发现很多问题,,疫情的相关数据还是多方寻找才找到一部分 。

希望在这次的疫情中保留比较详细的数据 这些都可以作为系统的的输入,借助这些数据,打造一个强大完整的疫情监控和评估系统,甚至不是疫情,而是重大事件的监控和评估系统,待下次再出现疫情、灾情,可以快速的调度全国的资源进行处理和援助。

最后,祝大家春节快乐, 多注意个人卫生, 带好口罩。

24557 次点击
所在节点    Python
99 条回复
jedicxl
2020-01-26 20:23:35 +08:00
楼主这个快够论文了,强
zhx1991
2020-01-26 20:30:39 +08:00
相关预测的论文已经有很多了

多数情况都不太乐观, 都是冲着好几万估的
xuroid
2020-01-26 20:31:23 +08:00
感谢分享。期待明天数据。
zli
2020-01-26 20:31:27 +08:00
已经有论文了呀

Novel coronavirus 2019-nCoV: early estimation of epidemiological parameters and epidemic predictions
https://doi.org/10.1101/2020.01.23.20018549
PbCopy111
2020-01-26 23:00:42 +08:00
问题是,感染的人可能会几万甚至十几万,这并不可怕,可怕的是死亡率。。。。。就跟流感似的,一到冬天就几十万人感冒,但没有人因为这个死,所以不可怕啊。。。。
EPr2hh6LADQWqRVH
2020-01-26 23:07:40 +08:00
楼上怎么会觉得没有因为感冒死人的,全国光流感每个月都要死一两百人的。

有兴趣可以看一下国家卫健委的法定传染病数据,是按月通报的。

正经的传染病确诊都是上十万的。
beimenjun
2020-01-26 23:13:26 +08:00
但是现在看,此前的数据因为各种人为原因,存在不准确的状况,这种情况下预测其实是很难的。
beimenjun
2020-01-26 23:15:50 +08:00
@avastms 流感国内有研究人员预估死亡每年超过 8.8 万人,按照疫苗接种率看,如果和美国作比较,都用超量死亡率的算法看,我们一年死亡的绝对超过美国几千人。
coloz
2020-01-26 23:30:50 +08:00
数据都是公布的数据,因为一些原因,前期数据可靠性不高。我觉得最可靠的是计划的床位数,这可能是专家们真正的预期。
heiheidewo
2020-01-26 23:36:30 +08:00
@avastms 单纯因为流感的死亡率很低吧,一般是伴随其他疾病,并且流感有药可医
just1
2020-01-26 23:36:46 +08:00
@coloz 床位更不靠谱了,那一个医院才一千张床位,两个医院才两千张床位,现在确诊的就不止 2000 呢
redbuck
2020-01-26 23:37:42 +08:00
刻舟求剑
EPr2hh6LADQWqRVH
2020-01-26 23:43:03 +08:00
@heiheidewo 那不低,老年人得了流感引发肺炎这就是致命打击,流感引发心肌炎对年轻人也是致命打击。那个抗病毒药吃着聊胜于无。

现在这个病毒它厉害就在于它的名字厉害,冠状病毒,跟 SARS 一家的,要是流感家族变异出来这个病毒,其他方面一模一样,不相信它能拿到现在这个待遇。
haomaming
2020-01-26 23:44:21 +08:00
@PbCopy111 每年因流感死亡的是很多的,但是窝锅不报。主要集中在老年人。80 岁以上得流感是很可怕的。所以我们的爷爷奶奶姥姥老爷,出门都穿很多(即便有的时候不怎么冷)。伴随的并发症更可怕。比如因流感引发的肺炎(普通肺炎)对于老年人而言致死率极高。欧洲的老年人每年接种流感疫苗在 90%以上,窝锅全国 2%
artandlol
2020-01-26 23:49:27 +08:00
数据本身就不准,被传染很多都是农村的,然后窝家里。存在严重的幸存者偏差
ddzzhen
2020-01-26 23:54:56 +08:00
看得出来多少天到达阈值开始平稳和下降吗?
hangy
2020-01-26 23:58:09 +08:00
插眼,明天来看看报道数据是多少
wangyzj
2020-01-27 00:01:20 +08:00
插眼
hyyou2010
2020-01-27 00:06:04 +08:00
湖北省内的数据不可信,因为超过了确诊能力。而湖北省外的数据可信,因为省外没有隐瞒的主观动力。现在还是初期,存在一个发病到致死或治愈的过程,假定这个时间平均是 1 个月吧,那么在 1 个月或再长点时间后,这种病毒的致死率就可以通过湖北省外的数据比较精确地计算出来,我这个理解是否对?
neurocomputing
2020-01-27 00:15:21 +08:00
上次 SARS 总感染数是 5000+级别,跟楼主预测的再同一数量级
但是这次疾病的流行病学特征更不乐观,所以楼主的算法应该是估低了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/640423

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX