機器之心發佈

作者:梅鴻輝 阿里雲 DataV 數據工程師

面對疫情,我們所學所知能做什麼?中國計算機學會 CAD&CG; 專委會、阿里雲天池、機器之心、阿里雲 DataV、Datawhale 聯合發起了 疫情數據可視化公益行動,通過數據與可視化,你也可以爲疫情做出自己的貢獻。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

過去的十數年間,公共衛生事件如 SARS、甲型流感、禽流感等嚴重威脅人民的生命安全,無不對社會造成深遠影響。而 19 年底從武漢開始爆發的新型冠狀病毒疫情,在三個月時間內擴散範圍已包括在亞洲、歐洲、北美洲和大洋洲的二十多個國家,逾六萬患者,數字仍在持續攀升中。
此刻,全國正上下一心抗擊疫情,不論政府、企業還是普通羣衆,都在不斷思考如何更好地應對此次疫情。而我相信,在如今信息的時代中,爲快速應對公共衛生突發事件建立的體系和機制必然需要大數據和人工智能手段的強力支撐;其間,能夠將人機智能有機結合起來的可視化方法無疑可以發揮出舉足輕重的作用。
值此疫情之中,我絞盡腦汁將幾年學生生涯中學到的可視化知識寫出來,基於此次新冠疫情中的涌現的一些優秀可視化例子,講講我對面向公共衛生緊急事件的可視化方法的理解。這篇文章是公益行動的第一篇文章,希望能給行動家們提供一些參考。
基礎數據展示
目前可以獲得的疫情數據主要來自於各地政府通報的疫情實時動態,其中丁香園每日公佈的數據最爲全面完善。 如需訪問丁香園的數據,可以參見 Github 上的實時爬蟲項目,並提供在線 API 以供使用。
項目地址:https://github.com/BlankerL/DXY-COVID-19-Crawler
此外,約翰霍普斯金大學綜合世界衛生組織、美國疾病預防控制中心、歐洲疾病預防和控制中心、中國衛生應急辦公室網站和丁香園的數據製作了全球疫情可視化展示,其數據也可供下載。
項目地址:https://github.com/CSSEGISandData/2019-nCoV
總體來說,基於疫情的流行病學特徵,疫情數據呈現非常明顯的地理和時序特徵,屬於典型的時空數據。此外,數據中還包含闢謠與防護和疾病知識等文本數據
可視化方法
時序地理是目前最常見的疫情數據展示重點,如下圖丁香園的疫情地圖,圖中分別使用了典型的空間和時間數據展示方法,通過地圖展示地理分佈,折線圖表達時序上的變化。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

有興趣的同學可以訪問實時更新的完整版看看都有些什麼數據。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

_ 丁香園-疫情地圖_
地理數據展示
圖中的地圖具體來講屬於 Choropleth map,可以譯爲分級統計地圖。此類地圖本身有着一定的侷限性,可以考慮進行優化:

*其一,需要選擇固定的分區形式,如圖中按省級行政區劃劃分。而有人發現,按照市級行政區劃進行繪製能更好的展現分佈特徵(典型的如浙江的重災區在溫州)。這是從數據處理 / 統計層面進行優化

*其二,圖中色塊用顏色編碼數據值(如感染人數),而形狀和麪積則來自於行政區劃的固有屬性。這會產生一定的誤導,因爲於數據無關的面積卻會極大影響對整體顏色分佈的觀感。從這一點出發,可以考慮採用如熱力圖、Cartogram (譯作示意地圖)或可交互視圖等替代方案。這是從可視化 / 交互方法層面進行優化

此外,爲了與時序數據結合,可以考慮動畫、small multiples 等方法展示整個地理分佈隨時間的變化。
值得一提的是,近期各地已經開始通報以小區爲單位的疫情狀態,使得地理相關數據更加豐富,但對於可視化來說也提出了更高的要求。
一方面,地理劃分更加精細後,數據量和複雜程度都上升許多,需要更加合適的方法進行展示,有所取捨,避免視覺混亂;另一方面,小區層面的信息來源複雜、多有錯漏,對數據質量的把控和數據清洗都提出了更高的要求。
疫情數據地理上的複雜性來自於我國遼闊的疆域。中國地市級則多達 300 以上,最基層的鄉級行政區超過 40000,這還沒到小區級別。
從可視設計的角度來說,同時展示所有省級區劃的具體信息勉強可行,而要展示所有地市或更細級別的詳細數字則難以實現。一方面,屏幕空間有限,同時展示如此多的對象必然會導致視覺上的混亂,丟失大部分細節;另一方面,人對信息的接受能力有限,即使屏幕畫得下觀衆也是看不過來的。
下圖是疫情數據展示的一個樣例,其中採用了可視分析中非常常見的一種應對數據複雜度的方法:Detail-on-demand,即按需展示細節。
屏幕左側展示全國的概覽,右上則是其中一個省內各個地級市的展示,而右下則更聚焦到其中一個市的市區;其中,只有右下最細層次的展示才含有最多的細節(帶有時序變化的展示)。
這樣的方法非常適合含有層次結構的數據,先給用戶提供高層級上的概覽,然後通過交互讓用戶可以有選擇性的展開局部查看更加精細劃分的層次,最終不同層級的細節組合成點面結合、層層遞進、主次分明的視覺效果。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

不過這個例子尚不完善,並沒有設置交互,只顯示了固定的省市。有興趣的同學可以自行嘗試設計交互式的數據探索,在 DataV 提供的疫情大屏免費試用中就有模板提供:
https://survey.aliyun.com/apps/zhiliao/jlB5oNcw
時序數據展示
圖中時序數據採用最基本的折線圖展現一到兩種屬性隨時間的變化,屬於對總體聚合的概覽。對此,可以考慮對地理維度下鑽,最簡單的如丁香園中會分別展示湖北與除湖北之外的數據。
在展現時序數據這類複雜結構的數據時,必須抓住重點,details-on-demand,方能做到清晰不凌亂。北大袁曉如老師小組製作的疫情變化晴雨表就是一個優秀的例子,如下圖。
圖中用顏色編碼了變化趨勢,這種顯式編碼(explicit encoding)相比簡單並排羅列(juxtaposition)更直截了當,方便用戶進行前後對比。地理信息在圖中被簡化爲簡單列舉地區名稱,這樣做可以有效節省空間,而看圖的用戶通常也只會關心自己熟悉的地區,僅僅知曉名字已然足夠。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

北大博客中還有湖北各個市的展示。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

PKU Visualization Blog-疫情晴雨表
除了地理和時空數據外,文本數據通常僅通過簡單的羅列進行展示。事實上,文本數據也可以有很大的挖掘空間,參見後文「非結構數據分析」。
進階分析
關聯分析
除了疫情基本數據的展示外,還可結合其它信息進行關聯分析,找出影響疫情發展的因素和規律,更進一步的,還可以從規律中尋找出異常,對疫情控制提出建議或預警。
例如,人口,特別是流動人口數量與疫情傳播有着直接而緊密的聯繫。對此,可以添加人口數據作爲輔助,將疫情地圖中使用的顏色編碼擴展爲「平均每千人確診人數」;同理還可以有「每單位面積確診人數」,以此還可以緩解上文所說分級統計地圖中行政區劃面積不等的問題。
這些相關數據可以從國家統計局http://data.stats.gov.cn/)或其它途徑獲取。
例如下圖是來自北大 PKU VisualComputingAndLearning Group 對確診人數與武漢潛入人口的關聯分析。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

文中還有許多其它方面的分析也值得一看,可參考:
拐點何時出現?這是北大面向新冠疫情的數據可視化分析與模擬預測
除了簡單的統計信息外,還可以將更多非結構化數據納入考量。例如,有人基於全國鐵路網繪製疫情分佈地圖,以此清晰地展現作爲九省通衢的武漢爆發傳染性疾病是多麼的可怕、南京防治得力等原本潛藏的信息。
對比分析
「以史爲鏡,可以知興替」,而進行可視化的比較和分析,可以很好地尋找共性和個性、探索發展趨勢、發掘一般規律。
最容易想到的對比就是和其它傳染病進行比較。例如,此次新型冠狀病毒疫情在許多方面與 2003 年的 SARS 類同:均由冠狀病毒引起;在中國爆發;乙類甲管;傳播途徑類似等等。但兩者之間也有極大的不同,例如潛伏期更長、傳染性更強,但重症率、致命性則不及 SARS。SARS 的相關數據可以在世界衛生組織官網找到。
下圖是常見的可視對比方法,參見論文《Visual comparison for information visualization》。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

此外,在進行對比分析的時候,還可以同時進行關聯分析。例如,今年的疫情發展如此迅速有一部分原因在於近年來中國的交通發展非常迅猛,高鐵和航空業的發展使得人們出行效率大大提高,也給了病毒新的傳播途徑。
此外,人口年齡結構的改變(部分數據顯示此次肺炎老年人易感)、城鄉結構的變化、今年春節時間偏早等都與疫情的發展有關聯。
預測分析
目前關於新型冠狀病毒的流行病學認識受疫情變化影響,無完全確切的認知,而數據可以給我們提供一些答案。通過數據構建模型,進行預測和驗證,也是分析中非常重要的一環。
預測式分析(predictive analysis)涉及統計模型、機器學習、數據挖掘等多種應用,提供數據清洗、探索式分析和診斷。
醫學界對傳染病有着廣泛的研究,通過 SIER 等模型可以對疫情的傳播給出一定的合理描述。而通過可視化,則可以更好的凸顯數據中難以被髮掘的問題。例如,湖北省的確診數據多受醫療資源不足、檢測試劑缺乏等因素影響,難以真實反應疫情的自然發展狀態。
通過可視分析的方法,可以探索數據質量問題、清洗數據、彌補數據缺陷。亦或者,對預測結果進行展示,通過交互引入人爲因素如道路封鎖、春運返潮、復工等的影響。
下圖是一個預測式分析的例子,展示了模型在不同決策下產生的多個結果,來源見 EuroVis 論文《The State-of-the-Art in Predictive Visual Analytics》

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

非結構數據分析
人類社會早已步入信息化時代,每個人獲取和生產信息的能力與二十年前不可同日而語。
從微信、微博等社交網絡數據中提取話題傳播態勢、情感轉變、關鍵事件發生時間可以幫助我們從更多角度全面審視此次疫情的發展狀況。而對這樣的非結構化數據處理,在數據挖掘和可視化展示層面都有着巨大的挑戰。
下圖是一個社交網絡主題變化分析的例子,來源見港科大發表在 TVCG 上的論文《Visual Analysis of Topic Competition on Social Media》

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

小結
本文基於此次新冠疫情中可獲取的數據和一些可視化例子對面向公共衛生緊急事件的可視化中可能會涉及的視覺設計和交互分析方法進行了簡略的羅列,包括數據展示、關聯分析、對比分析、預測分析和非結構數據分析。
而合理的設計方法可以簡單地概括爲兩點:數據爲核,可視架橋。數據內核堅實謹慎,可視外殼簡潔柔和,這樣內剛外柔的可視化是我心目中理想的、可以在防疫中發揮的作用的可視化。
「萬衆疫心,天池衆智」疫情相關係列開發者活動,點擊圖片查看詳情,點擊「閱讀原文」報名參加疫情數據可視化公益行動。

從新冠肺炎可視化說起,數據展示如何簡約但不簡單

來源鏈接:mp.weixin.qq.com