圖形一直以來就是統計分析的重要組成部分。它既可被用以輔助數據分析的前期探索(比如發現異常記錄,觀察變量間的相互關系等),也可以用來展示數據 分析的結果。本篇通過若干實例探討了如何有效地展示醫療大數據的數據分析結果,即醫療大數據的視覺化問題,并討論了未來數據可視化發展的可能方向。
俗話說:“一圖抵千言”(A picture isworth a thousand words)。 許多復雜的結果往往用一張圖就能十分直觀地展示出來,讓人一看就明白。比如圖一顯示了2005 至2010年全球非自然死亡的比例分布圖。所有的疾病被分為三大類:傳染病及先天不足,受傷,以及非傳染性疾病,分別用黃,綠,粉紅三色代表。它們的體積 反映了各類疾病在所有非自然死亡中所占的比重。由圖可見,傳染病及先天不足(黃色)所占比重幾乎等同于非傳染性疾病(粉紅色),而傳染病這一塊完全可以通 過公共衛生方面的努力加以縮小。圖中每一大塊顏色中同色系的小塊代表了具體的疾病。同樣的,體積反映所占的比重,而顏色深淺則體現了05年至10年平均年 度變化的百分比,深色表示連年增長,而淺色表示連年下降。增長及下降的平均年度變化百分比沒有大于3%的。小小一張圖包含了許多信息,卻又一目了然,實實 在在地詮釋了數據統計上的“一圖抵千言”。
圖一:
來源:Infographic by Thomas Porostocky | Source: Institutefor Health metrics and evaluation
再以2015年一月熱議的《解構春雨醫生》的報告為例,有些數字表格如果改作圖示,會更加直觀,更利于讀者快速獲取其中蘊含的信息。
表一:
這張表格蘊含了很多信息,包括春雨醫生各種類收入,各科室收入,及各科室在各種類收入中所占的構成比例,一眼看去,滿目數字,很難快速地獲取綜合信息。如果使用圖示,則可以將表格的內容簡單顯示如圖二:
圖二:
根據總收入對各個科室由高到低進行排序,以柱狀圖的形式分別列出了各科室總收入,私人醫生收入,咨詢收入,圖文咨詢收入,電話咨詢收入及門診預 約收入,方便讀者進行橫向和縱向兩個維度的對比。由于各類收入差距過大,無法使用同一尺度,因而在收入的下方標注了各列柱狀圖的尺度,并在柱子邊上標注了 實際收入的數值。這樣,縱向對比各科室在每一種收入中所占比重可以直接看柱狀的長短,而橫向對比各科室不同收入構成時也可以結合尺度和實際數值迅速得出結 論。例如,讀者可以很容易發現內科總收入第一,婦產科第二,但是婦產科的咨詢收入無論是從絕對數值還是相對比重上都遠超內科。圖二還用了不同的顏色和深淺 代表不同的收入程度,對較重要的收入(即總收入及綜合數值較大的收入)采用了深色,而對綜合數值較小的收入采用了淺色。此外,由于咨詢收入,圖文咨詢收 入,電話咨詢收入同屬咨詢收入,采用了同色系(藍色)顯示。
以上兩例說明了圖示對展示數據的重要性和有效性。隨著大數據時代的到來,數據視覺化變得尤為關鍵,但也同時面臨更多的挑戰。首先,原始數據往往 含有海量的信息。這些信息經過數據清理(Data cleaning),整合 (Binning),歸納 (Summarizing)之后依然可能十分龐雜,很難用一張或若干張圖來顯示大數據所蘊藏的信息。因此大數據的視覺化不僅需要專業的知識和經驗,更需要 有十足的想像力和美學概念。其次,大數據不單只是數據量本身的龐大,還兼有更新快的特性。每時每刻都有大量的各種數據被制造并收集起來。如何即時分析這些 動態數據并配以相應的動態可視化圖形面臨著很大挑戰。
工欲善其事,必先利其器。我們迫切需要強大而不失靈活機動的,具有強互動性的數據視覺化軟件。事實上,美好的前景和客戶實際的需求也已經催生出 了許多大數據可視化軟件。下面我們簡要介紹一下,除了較傳統的Excel,R,STATA之類,還有很多相對比較新的軟件,如 Tableau,ZingChart,FusionCharts, Google Charts,D3.js,jqPlot,IBM Many Eyes等等,不一而足。新的數據視覺化軟件也正源源不斷地涌現。這些軟件各有特色,各有側重,但也多有重合。比如幾乎所有的軟件都提供了常用的統計圖 示,如條形圖,扇形圖,折線圖,直方圖,散點圖,基本地圖等等。可以說,現在大數據可視化軟件正處于群雄并起,群星璀璨的時期,也沒有哪一款軟件真正全面 地涵蓋了多樣的大數據可視化的需求,即:囊括了幾乎所有的圖形需求并不斷更新。
結合實際工作,我們有必要從現在起建立一個大數據可視化圖示庫,分科分類型搜集每一種圖示并輔以實例。可以預見這個數據庫必然會在經歷一個最初 的急劇膨脹期后緩慢擴大,最終慢慢穩定下來,而且沉淀的東西會非常有價值。美國人口調查局在此提供了一個很好的示范,它提供了各式各樣和人口統計相關的可 視化圖形,如圖三所示。
圖三:
我們知道,大數據千變萬化,各有特色,分析方法也相應不同,從而需要不同的可視化呈現。很多圖形的呈現是取決于具體分析后得出的結果的.比如: 依據不同統計方法 (K-means,bagging, boosting, random Forest) 產生的決策樹圖形, 生存分析結果產生的生存率曲線(Kaplan-meier curve)。統計學家,數據科學家,數據分析師,市場分析師等活躍在數據可視化第一線的專業人士,在現階段仍舊需要調用多個不同軟件進行復雜的數據分 析,依據分析結果再進行作圖。一般每個人都有一個或若干個慣用的軟件。如果某個特定圖形無法使用常規的數據分析軟件生成的話,就不得不切換其他軟件加以實 現。隨著大數據技術及市場日趨成熟,我們希望有一個整合的環境進行數據管理,數據分析,數據可視化,實現一體化(一條龍)分析,而不是疲于在各種不同軟件 系統間頻繁的切換,費時費力且效率低下,還不利于他人驗證整個數據生成及展示的過程。然而,如今離擁有一個涵蓋所有數據管理分析,并同時滿足視覺化需求的 軟件還很遙遠。現階段比較可行的是建立一個能整合融會大部分數據視覺化編程語言的平臺。這樣可以讓使用者更快更便捷地進行數據管理,數據分析,及數據編程 視覺化。Tableau 在這方面做著初步的嘗試,比如開源統計軟件R可以整合到Tableau里面,進行有限的數據分析后的圖形視覺化處理呈現(圖四),雖然過程仍然比較復雜 (具體請見:使用R和Tableau 白皮書http://www.tableau.com/sites/default/files/media/using-r-and-tableau-software_0.pdf)。
圖四:
另一在此領域比較成功的例子是BEAKER數據科學家實驗室。它提供了一個筆記本式可以切換使用各種編程語言(Python, R, Java, Julia, Ruby等)的工作環境。讓使用者在各種語言之間進行切換,或輕松添加新的編程塊,確保始終使用對應性最強的工具進行合適的數據分析和可視化的實現。例 如,通過Phyton到R到Java的無縫編程,完成從數據操作到圖形可視化的一體實現。如圖五所示:
圖五:
我們期待,眾多可視化軟件經過沉淀積累,去蕪存菁的過程,伴隨一個整合編程語言平臺的出現和完善,將使數據管理,分析,可視化操作變得越來越便捷和有效率。