大数据战“疫”,分秒必争 2020-03-03


1月24日,除夕夜,西安交通大学管理学院刘跃文副教授接到了合作单位云南省公安厅的电话:“现在疫情可能比较严重,要尽量避免外出。我们已经组织了专班开始做大数据抗疫情的工作。”听到这个消息,刘跃文坐不住了。云南是寒假旅游的热门地区,疫情传播期内全国各地人员流动量极大且结构复杂,交叉感染风险极高。如果不能有效控制云南的疫情,甚至有可能影响到全国的疫情防控。作为云南省公安厅大数据专家组组长,刘跃文觉得自己责无旁贷。和家人简单商量后,征得云南省公安厅同意,1月25日,农历新年第一天,刘跃文带着家人前往昆明,加入到省厅紧急组建的大数据战“疫”专班,着手进行疫情大数据分析和模型研发。大数据战“疫”拉开序幕,与疫情赛跑,分秒必争。

战“疫”专班开会讨论制定方案


防止疫情“输入型”传播:一秒钟计算感染风险

1月25日到28日这几天,战“疫”专班的主要工作是利用旅行大数据筛查近期去过疫源地(湖北)的人员。在筛查过程中,刘跃文发现了一些问题:有很多人在公共交通工具中和疫源地来的人,甚至和确诊病患接触过,自己根本不知道;还有些人知道自己接触过,但是觉得无所谓或者干脆不承认。这个问题在基层一线摸排和核查时,特别突出,基层只能找到武汉人、湖北人。然而,感染新冠病毒风险的因素特别多,需要综合判断,基层人员根本无法及时获取相关数据,也无法及时判断一个人的风险。综合基层反馈来的问题,刘跃文想,能不能基于旅行大数据做一个模型,输入身份证号就立刻计算出被新冠病毒感染的风险呢?

刘跃文基于他之前的一项科研成果,快速地搭建了一个新冠肺炎感染风险预测模型。这个模型基于个人的旅行数据,自动分析其是否到过疫源地、是否与疫源地人员接触、是否与已感染病患接触等多项指标,利用贝叶斯方法,计算感染新冠病毒的可能性指数,并预警高风险人员。模型做完后,刘跃文又带着专班研发了新冠肺炎感染风险预测系统。该系统可以通过扫描身份证、网页查询、批量计算等方式投入实际应用,计算一个人不到一秒钟,快速地锁定风险。

刘跃文带领团队研发系统

在模型实现的过程中,战“疫”专班遇到了人手不足的大问题。公安厅研发团队里的很多人都在老家过春节,如果临时召集,他们在返程途中有被感染的风险。于是,刘跃文决定靠着很有限的人手,每个人承担多角色、多任务,用最短的时间把任务完成。刘跃文自己除了分析数据、研发模型,还要负责编写计算过程的核心代码,每天至少工作到凌晨两三点。专班每个人都有特别急迫的感觉,想把系统赶紧做出来,服务基层一线。

基层一线干警利用系统现场核查

2月3日,新冠病毒感染风险预测系统正式推广使用,部署应用到云南省每一个检查点,很快就产生了显著的效果。基层一线有些同事反馈来消息说,已经查到了高风险人员,迅速移交隔离。看到模型能帮他们识别风险,提高工作效率,刘跃文特别开心。这个风险预测系统在后来一共使用了数百万次,识别出数百名高风险人员,在一定程度上有效地阻止了“输入型”疫情的传播。


追溯疫情“聚集型”扩散:一分钟追溯接触人员

2月6日,战“疫”专班对疫情传播的形势进行了一次深入讨论。大家一致认为,疫情传播形势正在从“输入型”传播向“聚集型”扩散转变。到2月10日各地陆续复工复产之后,公共场所人员流动将会大幅增加,新型冠状病毒聚集型传播的风险就会增大。2月6日之后的几天,媒体上频繁出现“紧急扩散”寻找公共场所中接触人员的新闻,反复地触动着刘跃文的神经。在媒体上“紧急扩散”是不可能快速准确地找回接触人员的。能不能设计一种快速准确地追溯公共场所内接触人员的系统,变“紧急扩散”到“主动找回”呢?

经过反复研讨,2月9日,刘跃文编写了一个扫码“抗疫情”追溯接触人员的系统方案,提交给抗疫指挥部。扫码“抗疫情”系统是一个基于微信小程序的轻量化系统。公共场所在其入口和出口处张贴系统生成的二维码。市民在进入和离开公共场所时,拿微信扫一下二维码,就可以登记其停留信息。一旦有人被确诊,就可以快速找回确诊病患去公共场所时可能接触的人员。刘跃文给自己定了个目标:“一分钟”追溯接触人员。

方案很快就得到了抗疫指挥部的认可,接着又是两日两夜不眠不休的研发。2月12日,扫码“抗疫情”系统在云南省全面推广上线,迅速得到了整个社会的广泛接受和支持。截至2月27日,注册的公共场所数量已经接近100万,用户数超过1500万,而扫码量达到了2亿多人次。

“云南抗疫情”微信小程序研发成功

看起来简单的“扫一扫”,背后有着艰难的大数据“攻关”。要攻克的第一关是“数据量”关。“扫一扫”面向的是全省,高峰时期每分钟有将近4万人次的扫码量。这对于整个系统的压力是极其巨大的。项目紧急上线后的第一个上午非常卡顿,就是因为扫码量远远超出了系统的承受能力。刘跃文带领专班团队与腾讯云平台的团队一起,齐心协力地逐个解决问题,终于能平稳地接收所有的扫码数据。

要攻克的第二关是“数据质量”关。理想的情况下,一个人进入场所时扫码,离开时也扫码,就能知道这个人什么时候在这个场所里。然而实际上,70%以上的进入扫码没有对应的离开扫码。在这种情况下,简单的逻辑判断就失效了,要利用大数据方法尽可能准确地推断出真实情况,“估计”出离开时间。这个估计方法既要尽量准确,又不能过于复杂,否则可能会导致计算时间过长,严重影响效率。刘跃文经过三天的努力,终于研究出来相应的大数据模型和算法。同时,利用“空间换时间”的策略,在服务器空闲时计算先验停留时长,从而解决了“一分钟找回接触人员”的问题。

要攻克的第三关是“数据安全”关。系统在互联网上运行,每一分钟都有被滥用甚至被恶意攻击的风险。上线后第4天,后台系统中就发现了木马,专班人员在发现的第一时间就更换了服务器,万幸的是没有造成任何损失。这一事件为数据安全敲响了警钟。为了保护隐私数据不外泄,在专业安全团队的帮助下,对系统做了全面的防护,保障了数据安全。

刘跃文参加云南省新闻发布会并讲解 “云南抗疫情”微信小程序使用

艰辛的付出很快就产生了效果。2月20日,云南新增1例新冠肺炎确诊病例。刘跃文将这名病患的手机号码录入系统后,仅用了30秒就筛选出204名与这名确诊病患在公共场所内可能接触过的人员名单,迅速发送给防疫指挥部,实现了“一分钟内找回接触人员”的目标。

市民出入公共场所扫码“云南抗疫情”微信小程序


助力疫情后期经济复苏:一天撰写数据分析报告

随着疫情形势逐步好转,复工复产开始稳步推进。2月24日,云南省疫情防控响应级别已经由一级调整为省级三级。除了防控疫情的工作外,提给刘跃文的新问题是,能不能用大数据评估目前复工复产的程度?防控疫情不能耽搁,复工复产同样也不能耽搁。准确的数据分析报告,将有助于复工复产相关决策的制定,有助于经济的复苏。接到任务后,刘跃文立刻组织专班成员开了一个短会,评估了一下数据情况,制定了数据分析的方案,决定在一天之内完成报告。

要评估复工复产的程度,最难的是“基准线”不确定的问题。例如,某个生产指标现在是30,要如何评估复工复产达到几成呢?如果能够知道,在没有疫情的情况下现在的生产指标是100,那么就可以说,复工复产到了三成,这显然是不可能知道的。刘跃文需要“推测”没有疫情的情况下的生产指标。这个生产指标和去年同时段的生产指标是相关的,也和疫情发生前的生产指标是相关的,但又和这两个指标不同。经过反复研讨,刘跃文最终用时间序列的方法计算出没有疫情的“猜测”值,解决了评估复工复产程度的问题。

刘跃文带领战“疫”专班成员一起讨论问题

为了快速完成分析报告,及时提交指挥部,刘跃文带领专班团队与时间赛跑,集体熬了一个通宵。大家分工合作,数据统计、绘制图表、撰写材料等各项工作多头并进,终于在早上8点前定稿。报告最终得到了指挥部的肯定,大家都露出了欣慰的笑容。

所有的工作成绩,都离不开团队的一起努力。刘跃文带领的这个大数据战“疫”专班主要有三支力量:第一支力量是西安交通大学管理学院刘跃文副教授及他的博士生团队,主要是基于大数据研究社会行为,负责提供理论方法和模型;第二支力量是来自云南省公安厅科信处的民警,他们对云平台和大数据非常熟悉,非常专业;第三支力量是来自多个公司的工程师,为专班提供了强大的开发力量。刘跃文带着专班团队一起吃泡面、一起熬夜、一起战斗,从没有人叫过苦,喊过累。因为每个人心里都很清楚,大数据战“疫”,分秒必争!只有尽快战胜疫情,才能重享碧水蓝天。