作者 | 左力、张烁
责编 | 郭芮
出品 | CSDN(ID:CSDNnews)
背 景
近日,随着疫情的发展,在严格地政府疫情防控下,我们看到新冠肺炎(COVID-19)连续14天下降后出现小幅反弹,原因是全国三省五所监狱发生感染疫情。另外在境外的钻石公主号也发生类似的疫情事件,成为世界媒体舆论的头条。卫生部专家称该种疫情均为输入性、聚集性事件,由此养老院,福利院甚至寺庙等人群聚集场所将成为近期政府重点管控的防疫对象。
此类事件的发生究其原因是部分市民仍缺乏疫情防控意识,瞒报自己的行程信息导致。当再看到当当网一人确诊多人隔离的新闻时,让我更清楚地认识到疫情摸排的难度,也同时感受到加强政府管制,增强人民防疫的自我意识的重要性。我们可以从天津市宝坻区某百货大楼发生的一起输入性,聚集性疫情的官方数据对比分析下此类问题的严重程度,也就理解为什么在此类疫情发生时,国家如此重视。根据这起疫情的发展态势,我们基本上能看出输入性疫情政府管制、人民群众提高防疫意识的重要性。据此我们也可以同样模拟推理出监狱等类似人群聚集场所的疫情发展趋势。政府此次的实践经验也为如何消除该种疫情给出了客观真实的案例。我们可以从下图(引自天津市卫生健康委员会数据)来认识防控输入的聚集性疫情是何等的重要。宝坻是天津的一个行政区,其中宝坻区确诊病例60例,占到天津市整个新冠肺炎确诊病例的44.4%。
我们再从下图(根据天津卫生健康委员会给出的确诊病例行动轨迹绘制)看到此次疫情从1月31日到2月23日感染者的角色、关系、年龄等相关信息。
根据天津日报2月7日的报道,此次百货大楼案例政府共摸排出销售人员194人,19日到25日到百货大楼顾客的人群,到目前最新数字摸排出9200人,这些人群已经全部居家隔离。天津近4天的病例都来自于宝坻区,与这次聚集性疫情有高的相关性。
宝坻区疫情事件数据分析
因为天津是中国北方的直辖市之一,远离湖北地区,相对比北京人口流动性低,所以天津的疫情数据很有特点,我们可以将宝坻区的疫情与天津市的疫情数据做出一些对比,对输入性聚集疫情产生更直接的认识。我们已知(根据2017年人口普查数据)宝坻区常住人口92万人,天津市常住人口1559万,宝坻占比5.9%,通过分析截止到2020年02月22日中午12时的数据,宝坻百货大楼事件的相关感染者和天津其他城区感染者数量和所处年龄段数据进行对比,如下图所示。
我们可以看出宝坻疫情的严重性,5.9%的人口,43%的感染比例。
天津是典型的北方城市,区域人口生活习惯与流动性基本一致,但感染比例如此巨大,可以看出防范输入性聚集事件是控制疫情蔓延的重点。
我们对比下宝坻区与天津其他城区确诊病例,主要发现宝坻区病例存在以下几个特征:
中老年居多,宝坻地区50-69岁的感染人数大于30-49岁的感染人数,可能的原因一是该年龄段人群活动范围较小,同时身体抵抗力较低,二是宝坻区人口老龄化程度偏高。
女性感染人数多于男性,宝坻地区女性患者的比例是57.7%,然而其他城区的女性患病者的比例是39.7%。这个比例差别较大,可能与女性更喜欢去百货大楼这样的购物场所相关。
根据网信天津媒体数据,宝坻地区第一名确诊病例是从1月22日有症状,1月31日确诊,下面我们看一下自宝坻地区确诊第一名病例开始,确诊人数到今天的变化曲线,如下图所示。
根据天津日报媒体数据,宝坻百货大楼1月25日开始停业,2月7日宝坻区对192名销售人员进行集中隔离,同时要求9200名去过百货大楼的顾客居家隔离,2月12日宝坻区政府组织3000人全面排查并采取了一系列管制措施。我们可以看到截止到2月22日,每日确诊病例基本平稳。这也证明了政府采取强制措施的重要性,市民居家隔离提高防范意识的重要性,并没有出现第二个武汉海鲜市场的疫情事件。
对比宝坻地区的疫情发展与近期出现的5省监狱聚集性疫情发展,充分说明当疫情发生时政府及时强力管控与人民群众提高防范意识对战胜疫情的重要性。当然这些都是建立在我们每一个人不瞒报不漏报的前提下。
疫情传播数学模拟实验
为了便于大家深入理解此次事件在不同管控措施下的发展过程,我们建立了相关的数学模型进行模拟,并且基于这个模型制作了一个视频:
视频中的模型对比了不同管制前提下疫情模拟的效果差异。其中潜伏人数(黄色),感染人数(红色),无传染性人数(白色)都在动态发生变化。
模型模拟了由一个传染源在不受管控下发展18天可造成近一万人感染。
1月下旬,政府开始宣传病毒的传染性,民众也开始有意识出门戴口罩,勤洗手,少出门。政府也开始制定应急预案,公共设施开始派专人消毒,上面提到的相应系数根据天津市的管制情况有所调整,我们对模型参数做了一些调整。模型模拟后如下所示,约350人在18天内受到病毒影响,大大降低了可能感染的人数。
此后政府采取了更加强有力的措施控制疫情蔓延。宝坻一个社区发现两个确诊病例,采取全部封锁其所在居民区、村落的积极政策,又调整了对应的参数。根据模型模拟,感染病毒的人数降到60人左右,并且失去了大量的传染途径。
SEIR模型
下面讲一下此次选择的SEIR模型。在模拟病毒传播这方面,其实有着很多种不同类型的数学模型,比如SI模型、SIS模型、SIR模型、SEIR模型等等。其中SEIR模型是比较符合这次新冠病毒的一个数学模型。SEIR模型将人群分为易感者(The Susceptibles)、潜伏者(The Exposed)、感染者(The Infected)、康复者(The Recovered)四类。
引自:Introduction to SEIR Models, Nakul Chitnis, Workshop on Mathematical Models of Climate Variability, Environmental Change and Infectious Diseases, Trieste, Italy, 2017
易感染人群在一开始会经历潜伏期,一段时间之后才出现症状,转化为感染者,并最终被治愈。如下图所示:
这一过程可以用一个一阶常微分方程组表示为:
其中N代表总人数,系数表示每一部分的人群到下一步的转化概率。
具体模型的建立需要指出的一点是,所有的病毒传播模型在数学上都是不怎么复杂的,它们一般都只是一个一阶常微分方程组,最多加上一些概率函数作为调整。建立起一个有效可用的,能够反映想要达到的效果的模型的关键在于,根据已有的数据得出可信的参数,并且在以使用简单为目的的简化,和保留足够的复杂度来反映足够的实际情况,这两者中取得一个平衡。
具体到这里的话,我们主要对SEIR模型做的化简和改变有以下几点。因为是基于天津宝坻百货大楼事件做出的模型,并且主要是为了体现政府管控能够多大程度上抑制病毒的传播。所以实际上只需要模拟病毒早期的传播就足够了。在这种情况下,感染者和潜伏者相对于全体易感人群来说,只占很小一部分,所以可以认为易感人群的总数是不变的。同样的,也可以忽略掉治愈者这个变量。在医院床位和隔离点位充足的情况下,按平均潜伏期和发病状态,平均10天左右,就会被隔离失去传染性。另外,还要考虑到新冠病毒在潜伏期也具有传播性的特殊性。基于以上几点,以及考虑到中国家庭的实际情况,和目前已有的政府管控措施能够起到的作用。模型假设每一家都是三口人,在不加控制的情况下,每天的活动轨迹为:白天出去,然后在公共场合有一定概率被感染,晚上回来,以一个更大的概率会传染给家里人。以此为一个周期不断重复。由此可以得出我们建立的模型为:
接下来模型考虑政府管控能够起到的作用。在这里我们认为,政府控制能起到的作用包括公共场合消毒,戴口罩,限制外出,鼓励大家在家做好消毒。所以模型需要在已有的模型里添加或者改变相应的参数来体现这些措施。具体的模型为:
这里,是一个比
小的数,表示带了口罩,公共场合做了消毒等措施后,病毒的传播率降低了,前面的系数
是一个小于1的参数,这个表示的是隔离的效果。晚上的情况同理,表示开始注意疫情的严重性,在家也做了消毒等措施,导致病毒在家里重的传播率下降。这些因素加起来,达到了减低病毒传播的效果,具体模型数据体现感染人数比不受管控下明显下降。
最后,为了更加深入的分析此次事件,我们给出了具体的传播过程的模拟算法,并且得出视频中的可视化效果。根据之前的感染人数模型,可以知道每天增加了多少新感染者。所以,需要做的就是确定每天新增的这些人到底是谁感染的。感染者构成了一棵树,树上的每个节点都是一个person[n][i]这样的数组,表示了每个人的状态,树的结构表示了整个的感染过程。每天新增的感染者作为新的叶子添加到这棵树上,添加的位置就是那些时间参数显示在十天之内,仍具有感染力的感染者。
代码实现
此次模型算法部分采用的JAVA语言实现,选择JAVA主要是熟悉一点,核心的代码是实现上面的公式来表示出每天的感染人数,并根据感染人数计算每天被感染的人和传染关系。
根据公式计算每天感染人数:
根据模型和每天的感染人数计算每天的被传染的人和传染关系:
数据可视化技术:
我们主要是用WEBGL技术,简单介绍下该技术。在WebGL技术出现之前,也有一些可视化解决方案,比如说大家较熟悉的有Flash,flex以及微软的silverlight等富客户端技术,但是这些技术不能在Web端支持GPU加速,目前已经很难胜任海量数据的动态计算和渲染,而且由于这些程序较重以及存在一些安全性问题,因此它们逐渐退出了历史的舞台。2011年WebGL1.0的提出,给大家带来了Web端图形开发的新方向。其实WebGL对大家来说并不陌生,它其实就是使用JavaScript语言的OpenGL ES2.0(WegGL2.0中实现的是OpenGL ES 3.0)。它在HTML5的canvas元素中绘制图形,这样我们就能在浏览器上运行三维和海量数据交互的应用程序,实现了浏览器端的GPU加速功能。
一个典型的WebGL应用程序是由HTML5,JavaScript和OpenGL着色器语言(GLSL)的代码组成的。应用程序可以部署到任意的Web服务器上。所有支持HTML和JavaScript的现代浏览器都可以通过URL来访问它。WebGL的代码从服务器端获取并通过浏览器的JavaScript引擎来编译到本地CPU和GPU中去执行,然后渲染到HTML中的Canvas元素。
结尾
近期,全国各地都将开始迎来复工复产,后面我们也会迎来学生复学。根据此次对天津及宝坻区这起输入聚集型疫情的数据分析,我们需要做到不瞒报,少聚集,勤洗手,有序生产,不造谣,配合检查,少开会,开短会,希望全国避免此类事件重复发生,全国人民战胜疫情也指日可待,中国加油!
作者简介:
左力,起硕智能科技(QUESOAR)算法工程师。南开大学基础数学专业数学博士,在校期间研究方向为非线性分析与辛几何。曾获得国家二等奖学金,全国数学奥林匹克银牌。在《新科幻》、《银河边缘》等杂志上发表多篇科幻小说,作品曾入选《中国元科幻小说精选集》、《中国原创科幻文丛》等多部选集。
张烁,起硕智能科技(QUESOAR)联合创始人,资深人工智能云平台研发工程师。毕业于天津大学,研究方向社会网络分析与数据挖掘。团队获得多项国赛及全球赛奖项。
—— 推 荐 阅读 ——
用开发者的方式共克时艰!