Lecture 2 樣本性質分析

前面介紹了關於 rattle的資料載入,在此章,我們載入myCars.csv為範例說明資料性質分析。載入之前,rattle不會自動載入一個重要的套件ggplot2,所以,讀者在啟動 rattle 之前,請於主控台執行載入 library(ggplot2)

載入資料,則如圖 2.1 所示,Execute 後,載入資料。再點選 View,如圖 2.2,顯示資料內容。

內建資料載入mtcars

圖 2.1: 內建資料載入mtcars


檢視資料(View)

圖 2.2: 檢視資料(View)

依據R的官方文件,變數原文說明複製如下
 mpg: Miles/(US) gallon
 cyl: Number of cylinders
 disp: Displacement (cu.in.)
 hp: Gross horsepower
 drat: Rear axle ratio
 wt: Weight (1000 lbs)
 qsec: 1/4 mile time
 vs: 1=sedan, 0=others
 am: Transmission (0 = automatic, 1 = manual)
 gear: Number of forward gears
 carb: Number of carburetors


最後一欄AM是我把am轉成字串,給練習題用的分類變數。 接下來對上面這筆資料進行統計性質分析,我們首先進入Explore,如圖 2.3

進入摘要分析頁面

圖 2.3: 進入摘要分析頁面


2.3 也指出了rattle設計的結構是一種樹形的階層結構。最上層是分析選單方格:由Data, Explore到Log。次一層Type,則是上一層各個選項的內容。依此類推,有此一概念後,這樣我們學起來就簡易許多。

2.1 Summary– 資料的敘述統計


rattle的資料分析,對於介面使用的統計函數的觀念,會提供詳細解說。如圖 2.3,解釋了Summary 這個階層內的最底層7個分析函數的內容。我們依次解說實做。

2.1.1 Summary- 簡易性質摘要

Summary之下的第1個就是Summary(簡易性質摘要),按Execute後,會將資料檔所有選擇的變數,呈現出變數的分量性質:極小值~極大值。詳細見圖 2.4
變數簡易性質摘要

圖 2.4: 變數簡易性質摘要


2.1.2 Describe


第2個就是Describe (描述, 變數詳細性質摘錄),按Execute後,會將資料檔所有選擇的變數, 呈現每個變數的詳細性質。除了前面的分量之外,還包括了:個數(n),缺值數目(Missing),和無重複數目(Unique)。詳細見圖 2.5。以mpg為例,22個觀察值中,有2個重複,無重複為20。

變數詳細性質

圖 2.5: 變數詳細性質


2.1.3 Basics

第3個是Basics(統計基礎性質,變數數據的基礎敘述統計),按Execute後,會將資料檔所有選擇的變數,呈現每個變數詳細統計性質,如圖 2.6。包括四階動差:平均數,變異數,峰態和偏態。這裡注意:峰態一值,是減去了3。因為峰態=3代表了常態。所以它提列的數值,代表了與常態對比。

數據敘述統計

圖 2.6: 數據敘述統計

2.1.4 Kurtosis

第4個是峰態,按Execute後,會將資料檔內所有選擇的變數,呈現每個變數的峰態減去3,如圖 2.7。因為峰態3是常態,用來衡量資料偏離常態的程度。

數據峰態

圖 2.7: 數據峰態

2.1.5 Skewness

第5個是偏態,按Execute後,會將資料檔內所有選擇的變數,呈現每個變數的偏態,如圖 2.8。偏態0是不偏,也就是對稱,用來衡量資料偏離對稱的程度。

數據偏態

圖 2.8: 數據偏態

2.1.6 Show Missing

檢視缺值

圖 2.9: 檢視缺值

第6個是缺值計算,按Execute後,會將資料檔內所有選擇的變數,呈現每個變數缺值數目,如圖 2.9

2.2 Distribution– 資料的分佈性質

Explore 之下第二個就是資料分佈圖(Distribution)繪製。點選後,可以看到rattle繪製的五種圖:Box-plot (盒鬚圖),Histogram (直方圖),…. Pairs (兩兩散佈矩陣圖) 等五種。以圖 2.10為例,依圖指示,選前4個變數以直方圖表示,按Execute後,就會畫出如圖 2.11基於機率密度圖的直方圖。

選單

圖 2.10: 選單

2.11 的基於直方圖histogram計算的的密度分佈,是由高階繪圖套件ggplot2產生的。

資料分佈圖

圖 2.11: 資料分佈圖

2.11 的顯示,每張圖下方都有惱人的文字 “Rattle 2015-Dec-17……..”,這記錄了圖形產生的時間。消除他的方法很簡易:在主選單選Settinsg後,點選消除Verbose,這記錄就會消除了。

如果選Pairs,就會繪製出圖 2.12的圖:主對角線是變數自己的kernel density圖,下三角是兩兩散佈矩陣圖,上三角則是相關係數。

選擇 pairs 繪製兩兩對稱圖

圖 2.12: 選擇 pairs 繪製兩兩對稱圖

2.10 的繪製項目選擇,需注意幾點:選一個圖,多個變數時(如此節範例),rattle會將圖文框分割成n^2,產生一頁的圖。如果是一個變數多個圖,就不會這樣顯示,會一個圖一個圖顯示。讀者可以自行試一試。
最後,在選項旁,有一個Benford選項,這是依照Benford’s law的分佈圖,是用於偵測資料中的異常現象,一般用在會計數據的分析。

2.3 Correlation– 資料的相關係數矩陣

最後是變數與變數之間的相關係數(Correlation)。如圖 2.13圈選,按Execute之後,就會產生下半部的數值,以及圖 2.14用熱力圖(heatmap)顯示的效果。

相關係數數字矩陣

圖 2.13: 相關係數數字矩陣

2.14的相關係數熱力圖(heatmap),使用漸層方式表示效果。藍色調的是正相關,紅色調的是負相關,深淺表示相關強度,白色就是相關係數接近0。圓面積是以相關係數當半徑的圓。自己和自己的相關係數為1,就是單位圓面積。

相關係數熱力圖

圖 2.14: 相關係數熱力圖

如圖 2.13選的,上面的結果,是由Pearson rank排序(Ordered)的相關數係數熱力圖,圖 2.15是相關係數散佈圖,是圖 2.12 一個改良版,也是特殊的功能。讀者試一試能否畫出來。

相關係數散佈圖

圖 2.15: 相關係數散佈圖

承圖 2.13,如果選擇右邊的Hierarchical method顯示,會顯示出一種轉置的樹形圖,如圖 2.16。我們垂直劃一條 1的補助線,來看原始相關係數。因為這個結構是集群(Cluster method)方法,我們就不在這裡解釋。同樣,選項的最後兩個,Principal Component 和Interactive,都屬於多變量進階方法,在後面我們會再回來解介紹這些方法。

集群顯示之相關係數結構

圖 2.16: 集群顯示之相關係數結構

最後,我們來看分組顯示的效果。myCars.csv這筆資料有一個分組變數AM,圖 2.10中間有一個Group By的選項,在此選擇AM(如圖 2.17),再執行分佈圖繪製。

選單內選擇以AM分組

圖 2.17: 選單內選擇以AM分組

依照圖 2.17 選4個變數後,繪出圖 2.18的分組圖。與圖 2.11的分布圖對比,分組顯示Group By的效果,會自動使用色彩,效果十分亮眼。

分組顯示組

圖 2.18: 分組顯示組

如圖 2.17下方解說,rattle會自動將類別變數歸於下方。執行圖 2.19的內容,顯示出圖 2.20的結果。

分佈選單

圖 2.19: 分佈選單


類別變數頻次圖

圖 2.20: 類別變數頻次圖

ratlle 的繪圖套件,如果選擇多個變數,例如,同時選擇數值和類別,顯示的時候,圖檔會覆蓋;這個問題,用程式時,只要宣告dev.new() 開新繪圖視窗即可。在rattle,我們只要選擇Use Cairo Graphics Device即可。如圖 2.21。如圖內解說,這個設備,是一個新型的繪圖套件,也會將多個圖形做多重頁面顯示。多張圖,不會被最新的圖覆蓋。除此,這個裝置也將圖形的解析效果,更為精緻化。

類別變數頻次圖

圖 2.21: 類別變數頻次圖

2.21 選擇繪圖設備