Python搭建新冠肺炎预测模型全解读

新冠病毒疫后复工成为当务之急,然而病毒尚未消散,风险权衡面临不确定因素,如果可以准确预测未来的疫情走势,将会为复工计划的制定提供有效辅助。

传统机器学习模型虽然可以精确拟合历史数据,但由于脱离疾病传播机理,外推预测的可靠性低。另一方面,传染病学领域提出的传播模型则恰好相反,主要依赖疾病传播机理进行推演,但对历史数据的拟合能力弱,不同疾病会得到相似的结论,特异性不足。

近日,南栖仙策通过强化学习融合传染病传播机理与数据拟合,使用其自主研发的Universe平台构建传播模型,并基于横琴先进智能计算平台提供人工智能计算资源,实现新冠病毒疫情长达60天的预测,可为疫情防控提供决策辅助。

在线预览预测结果:
http://ncov.polixir.ai

值得注意的是,目前AI领域常用的深度学习模型是黑盒模式,内部运算过程难以被人们理解,同时也难以将人类总结的知识注入模型中。南栖仙策构建的模型,则是基于Python代码搭建模型框架,代码中留有多个待定参数,再由系统从历史数据中最终确定这些参数,完成模型的训练。

如此一来,模型的运行过程完全可以被人理解,并且可以通过编写代码将人们的知识写入模型。与以往的疾病传播模型不同,南栖仙策的模型对病情的发展进行建模,能够更好的模拟潜伏期、无症状感染者。最后,基于强化学习与横琴先进智能计算平台充裕的智能算力,传播模型可以在仅有确诊病例数据的情况下,推导潜在感染人数、接触感染率等未知因素,因而可以在不同防控力度的预置条件下进行长期预测。

模型拟合数据走势:非以往的传播模型输出简单的光滑曲线

基于1月17日至2月17日的公开数据训练模型,可以观察到模型对数据的学习能力。下图分别以新加坡、日本和两个沿海经济大省的数据为例,对比实际数据与模型的学习结果。可见,模型并没有如同以往的传播模型输出简单的光滑曲线,而是更加符合数据的走势。Python搭建新冠肺炎预测模型全解读
Python搭建新冠肺炎预测模型全解读
Python搭建新冠肺炎预测模型全解读
Python搭建新冠肺炎预测模型全解读

海外疫情形势严峻,尤其是日本

传播模型可以持续运行至未来60天,并且模型中的一个重要参数,每日人均接触人数,可以成为防控调整的重要决策变量。防控力度越强,人均接触人数越少,反之则越多。因此借助模型的推演能力,可以预测在不同防控力度下病情的未来发展。新加坡和日本两国,目前尚未采取有力防控措施。下面对两国无防控情况,以及三种不同力度人均接触人数进行推演。
Python搭建新冠肺炎预测模型全解读
上图可见,对新加坡来说,如果不加防控,按照推演结果,30天内,累计确诊人数增长了4倍,日增感染人数增长了2倍多,潜伏的感染人数增长了4倍。60天内确诊人数将爆炸式增长。管控力度做到人均接触15人可以减缓确诊人数的增长速率,但仍不能达到阻断疫情的效果;如果将管控力度做到人均接触10人或者5人以内,则确诊人数将持续下降。人均接触人数从10降至5,将会使疫情结束日期提早30天左右。
Python搭建新冠肺炎预测模型全解读
日本的疫情较新加坡更为严重。如果不加防控,30天内累计确诊人数可增长10倍,并持续加速。与新加坡类似,如果将管控力度做到人均接触10人或者5人,则疫情将得以控制。人均接触5人的管控效果将更加显著。

从新加坡和日本*角度看,如果采取不加防控的态度,疫情恐怕会发展到难以控制的地步,届时对经济同样带来致命的杀伤,同时还会让国民付出生命的代价。

新冠病毒为何会有如此快速的传播能力?其中一个关键原因在于病毒感染后潜伏期可达14天甚至更长,并且在潜伏期内也可具有传染性。毫无症状的潜伏感染者使得病毒的传播神出鬼没。南栖仙策模型中对病程发展进行了建模,因而可以观察到模型对于潜伏感染规模的推断。
Python搭建新冠肺炎预测模型全解读
Python搭建新冠肺炎预测模型全解读
上图显示了历史日期范围以及未来60天的潜伏感染人数。从图中推断,当下新加坡可能已有接近150人的潜伏感染,日本的潜伏感染则可能达到500人。这些潜伏感染人群中,一部分人可完全没有任何症状,但都将成为病毒的传播载体,造成更大范围的传染。

总的来说,如果新加坡和日本不采取严格的防控隔离措施,未来恐怕有爆发的可能。

国内疫情防控效果显著,结束隔离指日可待

我国采取的防疫隔离措施已经取得了明显的成效,新增确诊人数逐日下降。下图以两大省份为例,推演了在两种管控力度(即每日人均接触人数为10人和5人)下,进行未来60天的疫情变化。
Python搭建新冠肺炎预测模型全解读
可见,在每日人均接触人数控制在5人以下时,有望在未来1周内新增确诊人数下降至个位数,4周完全结束疫情。而更松的管控力度,可能造成疫情结束日期后延。

复工后需加强防控,逐步有序复工效果更佳

当前国家采取了强力的防控政策显然是一个正确的决策,将迅速扑灭疫情。管制措施在抑制疫情的同时也会抑制经济发展,恢复经济活动又势必促进人员接触,增加疫情风险。借助模型的推演能力,我们可以预测不同的复工时间对疫情的影响。

为模拟复工情况,设置复工前每日人均接触人数不超过5人,而复工后为15人,分别选择2月20日、2月24日、2月28日和3月2日四个复工日期为例,在复工当天提升接触人数,下图显示了疫情的变化。显然,推迟复工时间有利于控制疫情,但经济损失也更大。逐步复工则是更能平衡疫情控制与经济恢复的手段。通过阶段提升指接触人数模拟逐步复工,在以上四个复工日期逐步将接触人数增加到7、9、11、13。下图可以观察到,阶段提升接触人数的曲线,仍然可以有效控制疫情,也有利于尽早恢复经济生产活动。
Python搭建新冠肺炎预测模型全解读
上图也可以观察到,不同的省份之间存在一定,应结合更多信息,针对性的制定复工计划。预测结果同时也提示疫情尚未结束,复工需加强防护,正确口罩佩戴、加强日常消毒,尽量减少不必要的人员接触。潜伏感染人员仍然存在,不可放松警惕。


本文转载自公众号:新智元
原文链接:https://mp.weixin.qq.com/s/07aNjJvohxSEGNElP5gHAA
封面来源:新智元


阿里巴巴开源大数据技术团队成立Apache Spark中国技术社区,定期推送精彩案例,技术专家直播,问答区近万人Spark技术同学在线提问答疑,只为营造纯粹的Spark氛围,欢迎钉钉扫码加入!Python搭建新冠肺炎预测模型全解读

对开源大数据和感兴趣的同学可以加小编微信(下图二维码,备注“进群”)进入技术交流微信群。Python搭建新冠肺炎预测模型全解读

上一篇:Android Go初探


下一篇:如何理解软件测试学习中的正则表达式?