研究資料的方法有很多,比如利用統計方法,計算資料的平均值和標準差;再比如使用模型,擬合資料。資料通常是大量的,人腦難以直接把握其中的資訊。研究資料的最終目的是減小海量資料的資訊量,將資料中的資訊客觀的展示出來,並最終整理成簡單的,人腦可以掌握的知識。
資料視覺化
圖形是直觀呈現資料的直接方法。然而,將大量資料在同一個圖表中畫出來並不容易。早期的測繪、天氣資料都需要長時間的手工繪製。隨著計算機繪圖功能的開發,手工繪畫已經完全被自動繪圖程式取代。問題的核心轉移為,要以怎樣的方式呈現資料,以便資料中的資訊能自然的體現出來。資料視覺化(data visualisation)就是研究如何利用圖形,展現資料中隱含的資訊,發掘資料中所包含的規律。它是一門橫跨計算機、統計、心理學的綜合學科,並隨著資料探勘和大資料的興起而進一步繁榮。
下面一個影片來自Hans Rosling。他是瑞典的一位醫學家,同時也是統計學家。在下面的這個BBC製作的影片中,Hans Rosling用豐富的視覺化手段,展示了近兩百年來世界各國人口和收入的演化。我給這段影片增加了中英文字幕,以方便觀看。如果有錯誤,請見諒。
資料的資訊維度
Hans Rosling所做的資料圖值得研究。資料展示的基本資訊有2個維度:
1) x軸, 人均收入
2) y軸, 人均壽命
這兩個軸是作者想要表達的最基本資訊。圖上的每個點代表一個國家,該點所在的x-y位置代表了國家的人均收入和人均壽命。人均壽命的刻度線性增長(25歲,50歲,75歲),但人均收入的刻度是指數增長(400元,4000元,40000元)。人均收入的刻度非常值得注意,否則很容易給人造成錯誤的印象。比如說三個國家A,B,C,人均收入分別為40, 4000, 40000元。儘管在圖表中,A和B,B和C都只相差一個刻度,但C和B的收入差距實際上A和B收入差距的10倍!
此外,還有兩個維度的輔助資訊:
3) 圓圈大小, 國家人口
4) 圓圈顏色, 國家所在區域
平面可以自然的分為兩個維度(比如上面的x和y)。為了增加其他維度的資訊,我們需要考慮其他的獨立表示方法。資料點可以有尺寸大小和顏色變化。正如這裡所顯示的,Han Rosling利用這兩個影像特徵來表示兩個獨立的維度(國家人口,國家所在區域)。
透過整個影片中年份的變化,Han Rosling還有一個明顯的5) 時間維度。利用動畫的形式來記錄資訊隨時間的變化狀況,是資料視覺化中常用的手段。然而,在使用動畫的時候需要謹慎。動畫會留給觀眾相對比較少的時間進行深入思考。所以在動畫過程中需要適當的暫停(或者截圖)來顯示一些典型狀況。
最後,整個資料還有一個非常隱藏的資訊維度,就是Han Rosling不時的會表明某個圓圈所代表的6) 國家名稱。也就是說,國家名稱也是一個隱含的,隨時可以獲知的資訊。
眼見為實?
隨著Han Rosling慷慨激昂的演講,我們被帶往一個結論:這個世界的收入和壽命差距在減小。世界作為一個整體,變得更加富有也更加健康。
資料似乎是在說明這一點。或者不是?
比如上面兩個截圖,被用來說明國家間的差距在減小。然而,我們上面提到,收入的刻度是10倍增長的(這樣的刻度被稱為對數刻度)。所以當一個國家比較富裕之後,它的財富增長比較難以在刻度上體現出來。比如同樣增加3600元的收入,可以讓一個原來收入400元的國家跨入中間區域,而一個原來收入40000的國家幾乎原地不動。如果將x軸改為線性,那麼國家間人均收入的差距將大大超越這幅圖所帶給人的直觀感受。
(而在不考慮通貨膨脹的情況下,所謂的整體收入增長的結論也不是很可靠。)
從y軸的資訊看,整個世界的健康水平是提高了。即使是如此,我們依然要小心,比如下面兩幅圖,繪製的是相同的資料(標普500指數),唯一的差別在於y軸刻度範圍。
是否舉得第二張圖的波動更加劇烈?但兩張圖是相同的資料!可見,刻度的範圍會影響人們對資料的認知。小的刻度範圍會讓人覺得資料變化較大(即使資料本身還是一樣的資料)。
因此,一個圖表是由 資料和 繪製方法兩方面構成的。圖表並不等同於資料,繪製方法有可能會影響人們的主觀認識。一個合格資料圖表應該儘量客觀的反映資料。
(當然,一個熟悉資料視覺化原理的人,也可能會利用這些方法故意誇大。這在宣傳海報中常常見到。)
資料繪圖的要素
現在,轉換位置思考。假設,我們有一批資料,那麼應該怎麼來著手呈現呢?這個問題並不好回答,原因有二:
1) 資料中包含有大量的資訊維度,我們只能選擇其中的一些而非全部呈現。
2) 資料的資訊呈現方式多種多樣
我們需要先確定想要繪製的資訊 維度。比如上面的影片中,六個資訊維度得到呈現。而在S&P 500的繪圖中,我們只呈現了兩個維度的資訊,時間和指數。如果影像中資訊維度比較少,圖表會比較容易理解; 如果資訊維度多,那麼圖表會比較複雜,但更容易體現多變數之間的關係。
每個資訊維度都需要一個 座標,來表現資料在該維度上的取值。在Hans Rosling的繪圖中,六個座標分別是:水平x軸,豎直y軸,圓圈顏色,圓圈大小,動畫幀所對應的時間,以及文字標明的國家名。這六個維度之間相互獨立,所以可以互不干擾的反映各個維度上的取值。再比如下面的條形圖和餅圖。它們都是在反映二維資訊。條形圖採取了x-y的座標。餅圖採取了文字-圓心角的座標。
每一個座標都需要有 刻度。讀者需要根據刻度獲知資料的準確取值。刻度可以是均勻線性增長的,也可以是不均勻增長(比如對數刻度)。刻度的選擇要根據資料的特徵。如果不同資料樣本在某個維度上取值差異較大,就適用於對數取值。比如下面這幅xkcd 1162的畫,就展示了不採用對數刻度的惡果。
Log Scale ( )
此外,刻度還需要有 範圍。正如再S&P 500的繪圖中我們談到的,過大的刻度範圍會從視覺上減小波動。一個常用的刻度範圍是資料在該維度上的最大和最小值。但一些情況下,最大和最小值可能是由於錯誤狀況造成的不可靠資料,所以會採取平均值加減標準差的範圍。
在維度和刻度都選取好了之後,要再座標軸旁 標註這是什麼維度,維度的單位,並在座標軸上 標註刻度值。這樣,我們才完整了資料在該維度上的資訊。一個有座標軸,有刻度但沒有標註的資料繪圖,是失敗的繪圖。讀者根本無法從中獲知資料的真實狀況。
(在Hans Rosling的繪圖中,有兩個維度的資訊不完整:人口總數和國家名稱)
在上面完成了之後,我們需要進一步說明 資料來源。我們可以採用增加文字說明的方式來實現這一點(比如增加一個標題)。
總結
資料視覺化非常有趣。它透過技術的手段,將枯燥的資料變得生動可愛。隨著大資料時代的到來以及網路傳播的發達,資料視覺化會成為一項值得掌握的技能。這篇文章裡,我透過一個很棒的影片說明了資料視覺化的一些要點,特別是資訊維度的問題。我會在以後介紹一些常用的繪圖工具,將理論轉化為實踐。