作者 | 梅鸿辉 DataV数据可视化
面对疫情,我们所学所知能做什么?中国计算机学会 CAD&CG 专委会、阿里云天池、机器之心、阿里云 DataV、Datawhale 联合发起了疫情数据可视化公益行动,通过数据与可视化,你也可以为疫情做出自己的贡献。
引子
过去的十数年间,公共卫生事件如SARS、甲型流感、禽流感等严重威胁人民的生命安全,无不对社会造成深远影响。而19年底从武汉开始爆发的新型冠状病毒疫情,在三个月时间内扩散范围已包括在亚洲、欧洲、北美洲和大洋洲的二十多个国家,逾六万患者,数字仍在持续攀升中。此刻,全国正上下一心抗击疫情,不论政府、企业还是普通群众,都在不断思考如何更好地应对此次疫情。而我相信,在如今信息的时代中,为快速应对公共卫生突发事件建立的体系和机制必然需要大数据和人工智能手段的强力支撑;其间,能够将人机智能有机结合起来的可视化方法无疑可以发挥出举足轻重的作用。不论是疫情监测、防控救治、资源调配还是信息沟通、风险评估,都是可视化与可视分析可以一展所长的舞台。
值此疫情之中,我绞尽脑汁将几年学生生涯中学到的可视化知识写出来,基于此次新冠疫情中的涌现的一些优秀可视化例子,讲讲我对面向公共卫生紧急事件的可视化方法的理解。希望这篇文章能抛砖引玉,为那些有心出一份力的行动家们提供些参考和启发,尽到一份绵薄之力。
疫情简述
这次疫情因其强大的传染能力和造成的巨大危害而受到全社会的广泛关注,全国各省市均启动重大突发公共卫生事件Ⅰ级响应,世界卫生组织(WHO)将这次疫情定为“国际关注的突发公共卫生事件”,中华人民共和国国家卫生健康委员会将此病毒感染引起的急性呼吸道疾病定为法定乙类传染病,但按甲类管理(乙类甲管,与SARS类同)。
引发这次疫情的病毒学名为严重急性呼吸道综合征冠状病毒2型(Severe acute respiratory syndrome coronavirus 2,缩写:SARS-CoV-2),引起的下呼吸道感染等症状称为2019冠状病毒病(COVID-19)。世界卫生组织曾将其命名为2019新型冠状病毒(2019-nCoV),国家卫生健康委称其病症为新冠肺炎(NCP);这些都是对新发现的冠状病毒(如2012年的中东呼吸综合征MERS)的常见临时命名。
基础数据展示
目前可以获得的疫情数据主要来自于各地政府通报的疫情实时动态,其中丁香园每日公布的数据最为全面完善。如需访问丁香园的数据,可以参见Github上的实时爬虫项目,并提供在线API以供使用。此外,约翰霍普斯金大学综合世界卫生组织、美国疾病预防控制中心、欧洲疾病预防和控制中心、中国卫生应急办公室网站和丁香园的数据制作了全球疫情可视化展示,其数据也可供下载
项目地址:https://github.com/CSSEGISandData/2019-nCoV
数据抽象
基于疫情的流行病学特征,疫情数据呈现非常明显的地理和时序特征,属于典型的时空数据。此外,数据中还包含辟谣与防护和疾病知识等文本数据。
可视化方法
时序与地理是目前最常见的疫情数据展示重点,如下图丁香园的疫情地图,应该是所有人每天都会关注的内容吧。如下图所示,图中分别使用了典型的空间和时间数据展示方法,通过地图展示地理分布,折线图表达时序上的变化。
有兴趣的同学可以访问实时更新的完整版看看都有些什么数据。
丁香园-疫情地图
地理数据展示
图中的地图具体来讲属于Choroplethmap,可以译为分级统计地图。此类地图本身有着一定的局限性,可以考虑进行优化:
- 其一,需要选择固定的分区形式,如图中按省级行政区划划分。而有人发现,按照市级行政区划进行绘制能更好的展现分布特征(典型的如浙江的重灾区在温州)。这是从数据处理/统计层面进行优化。
- 其二,图中色块用颜色编码数据值(如感染人数),而形状和面积则来自于行政区划的固有属性。这会产生一定的误导,因为于数据无关的面积却会极大影响对整体颜色分布的观感。从这一点出发,可以考虑采用如热力图、Cartogram(译作示意地图)或可交互视图等替代方案。这是从可视化/交互方法层面进行优化。
此外,为了与时序数据结合,可以考虑动画、smallmultiples等方法展示整个地理分布随时间的变化。
值得一提的是,近期各地已经开始通报以小区为单位的疫情状态,使得地理相关数据更加丰富,但对于可视化来说也提出了更高的要求。一方面,地理划分更加精细后,数据量和复杂程度都上升许多,需要更加合适的方法进行展示,有所取舍,避免视觉混乱;另一方面,小区层面的信息来源复杂、多有错漏,对数据质量的把控和数据清洗都提出了更高的要求。
疫情数据地理上的复杂性来自于我国辽阔的疆域。中国有34个省级行政区,地市级则多达300以上,最基层的乡级行政区超过40000,这还没到小区的级别呢。从可视设计的角度来说,同时展示所有省级区划的具体信息勉强可行,而要展示所有地市或更细级别的详细数字则难以实现。一方面,屏幕空间有限,同时展示如此多的对象必然会导致视觉上的混乱,丢失大部分细节;另一方面,人对信息的接受能力有限,即使屏幕画得下观众也是看不过来的。
下图是疫情数据展示的一个样例,其中采用了可视分析中非常常见的一种应对数据复杂度的方法:Detail-on-demand,即按需展示细节。屏幕左侧展示全国的概览,右上则是其中一个省内各个地级市的展示,而右下则更聚焦到其中一个市的市区;其中,只有右下最细层次的展示才含有最多的细节(带有时序变化的展示)。
这样的方法非常适合含有层次结构的数据,先给用户提供高层级上的概览,然后通过交互让用户可以有选择性的展开局部查看更加精细划分的层次,最终不同层级的细节组合成点面结合、层层递进、主次分明的视觉效果。
不过这个例子尚不完善,并没有设置交互,只显示了固定的省市。有兴趣的同学可以自行尝试设计交互式的数据探索。在DataV提供的疫情大屏免费试用中就有模板提供。
DataV-疫情大屏
时序数据展示
图中时序数据采用最基本的折线图展现一到两种属性随时间的变化,属于对总体聚合的概览。对此,可以考虑对地理维度下钻,最简单的如丁香园中会分别展示湖北与除湖北之外的数据。
在展现时序数据这类复杂结构的数据时,必须抓住重点,details-on-demand,方能做到清晰不凌乱。北大袁晓如老师小组制作的疫情变化晴雨表就是一个优秀的例子,如下图。图中用颜色编码了变化趋势,这种显式编码(explicitencoding)相比简单并排罗列(juxtaposition)更直截了当,方便用户进行前后对比。地理信息在图中被简化为简单列举地区名称,这样做可以有效节省空间,而看图的用户通常也只会关心自己熟悉的地区,仅仅知晓名字已然足够。
北大博客中还有湖北各个市的展示。
PKUVisualizationBlog-疫情晴雨表
其它
除了地理和时空数据外,文本数据通常仅通过简单的罗列进行展示。事实上,文本数据也可以有很大的挖掘空间,参见后文“非结构数据分析”。
关联分析
除了疫情基本数据的展示外,还可结合其它信息进行关联分析,找出影响疫情发展的因素和规律,更进一步的,还可以从规律中寻找出异常,对疫情控制提出建议或预警。
例如,人口,特别是流动人口数量与疫情传播有着直接而紧密的联系。对此,可以添加人口数据作为辅助,将疫情地图中使用的颜色编码扩展为“平均每千人确诊人数”;同理还可以有“每单位面积确诊人数”,以此还可以缓解上文所说分级统计地图中行政区划面积不等的问题。这些相关数据可以从国家统计局或其它途径获取。
例如下图是来自北大PKUVisualComputingAndLearningGroup对确诊人数与武汉潜入人口的关联分析。
文中还有许多其它方面的分析也值得一看。
机器之心(转载)
除了简单的统计信息外,还可以将更多非结构化数据纳入考量。例如,有人基于全国铁路网绘制疫情分布地图,以此清晰地展现作为九省通衢的武汉爆发传染性疾病是多么的可怕、南京防治得力(以及苏南苏北散装日常)等原本潜藏的信息。
对比分析
“以史为镜,可以知兴替”,而进行可视化的比较和分析,可以很好地寻找共性和个性、探索发展趋势、发掘一般规律。
最容易想到的对比就是和其它传染病进行比较。例如,此次新型冠状病毒疫情在许多方面与2003年的SARS类同:均由冠状病毒引起;在中国爆发;乙类甲管;传播途径类似等等。但两者之间也有极大的不同,例如潜伏期更长、传染性更强,但重症率、致命性则不及SARS。SARS的相关数据可以在世界卫生组织官网找到。
下图是常见的可视对比方法,参见论文《Visualcomparisonforinformation
visualization》。
此外,在进行对比分析的时候,还可以同时进行关联分析。例如,今年的疫情发展如此迅速有一部分原因在于近年来中国的交通发展非常迅猛,高铁和航空业的发展使得人们出行效率大大提高,也给了病毒新的传播途径。此外,人口年龄结构的改变(部分数据显示此次肺炎老年人易感)、城乡结构的变化、今年春节时间偏早等都与疫情的发展有关联。
预测分析
目前关于新型冠状病毒的流行病学认识受疫情变化影响,无完全确切的认知,而数据可以给我们提供一些答案。通过数据构建模型,进行预测和验证,也是分析中非常重要的一环。
预测式分析(predictiveanalysis)涉及统计模型、机器学习、数据挖掘等多种应用,提供数据清洗、探索式分析和诊断。医学界对传染病有着广泛的研究,通过SIER等模型可以对疫情的传播给出一定的合理描述。而通过可视化,则可以更好的凸显数据中难以被发掘的问题。例如,湖北省的确诊数据多受医疗资源不足、检测试剂缺乏等因素影响,难以真实反应疫情的自然发展状态。通过可视分析的方法,可以探索数据质量问题、清洗数据、弥补数据缺陷。亦或者,对预测结果进行展示,通过交互引入人为因素如道路封锁、春运返潮、复工等的影响,进行更加严谨、多样的分析。
下图是一个预测式分析的例子,展示了模型在不同决策下产生的多个结果,来源
见EuroVis论文《TheState-of-the-ArtinPredictiveVisualAnalytics》
非结构数据分析
人类社会早已步入信息化时代,每个人获取和生产信息的能力与二十年前不可同日而语。针对在线多媒体信息和社交网络的数据分析是掌握所有事件发展不可或缺的重要环节。从微信、微博等社交网络数据中提取话题传播态势、情感转变、关键事件发生时间可以帮助我们从更多角度全面审视此次疫情的发展状况。而对这样的非结构化数据,通常是从网络上爬取的海量文本进行分析在数据挖掘和可视化展示层面都有着巨大的挑战,如何将其与地理信息结合更是值得深入研究的课题。
下图是一个社交网络主题变化分析的例子,来源见港科大发表在TVCG上的论文
《VisualAnalysisofTopicCompetitiononSocialMedia》
小结
本文基于此次新冠疫情中可获取的数据和一些可视化例子对面向公共卫生紧急事件的可视化中可能会涉及的视觉设计和交互分析方法进行了简略的罗列,包括数据展示、关联分析、对比分析、预测分析和非结构数据分析。
而合理的设计方法可以简单地概括为两点:数据为核,可视架桥。数据内核坚实谨慎,可视外壳简洁柔和,这样内刚外柔的可视化是我心目中理想的、可以在防疫中发挥的作用的可视化。
「万众疫心,天池众智」疫情相关系列开发者活动,点击图片查看详情,点击报名参加疫情数据可视化公益行动。