是不是常態分佈?Q-Q Plot 一看就懂
文章推薦指數: 80 %
Q-Q Plot 全名是Quantile-Quantile Plot,是一種視覺化比較兩項數據的分佈是否相同的方法。
最常見、也是本文要教學的用法,是將某數據與理論上的完美常態 ...
資料科學
是不是常態分佈?Q-QPlot一看就懂
by好豪
2021-05-21
by好豪
Published:2021-05-21LastUpdatedon2022-02-14
進行統計分析(有母數分析)時,可能會對數據的特徵建立某些假設,常態分佈就是相當常見的假設,例如t檢定或者ANOVA(變異數分析)都會假設採樣數據的母體是常態分佈。
反過來說,如果不符合常態分佈的假設前提,我們做的t檢定、ANOVA、迴歸模型、或者皮爾森相關係數,都有可能是無效的分析、造成結論錯誤!
因此,我們進行(有母數)統計分析之前,檢驗資料「是否符合常態分佈的假設前提」是必要的動作。
要怎麼檢驗資料是否為常態分佈呢?本文將介紹一種好用的視覺化方法:Q-QPlot,詳細教學其判讀方法、並且附上R語言程式碼讓讀者練習。
目錄
Q-QPlot教學直覺理解:比較「名次」之間的數值相對差異Quantile-Quantile:兩組數據各自相同名次的比較製圖步驟製圖範例Q-QPlot不是直線怎麼辦?判讀不同分配特性常態分佈統計檢定結語
Q-QPlot教學
Q-QPlot全名是Quantile-QuantilePlot,是一種視覺化比較兩項數據的分佈是否相同的方法。
最常見、也是本文要教學的用法,是將某數據與理論上的完美常態分佈比較,從有無差異看出該數據是否為常態分配。
判讀方法可用一句話概括:
把有興趣的數據,以及(相對應分位數的)理論常態分佈值,畫出散佈圖。
如果呈現一直線,該數據就是常態分佈。
只要看到直線就是常態分佈,數據點偏離直線就不是,就這麼簡單!(Source:Wikipedia)
問題在於:「為什麼」看到直線就是常態分佈?好豪認為,讀懂Q-QPlot的關鍵就在於理解Quantile:
理解Quantile能讓你了解為什麼Q-QPlot用直線判讀常態分佈理解Quantile能讓你學會Q-QPlot製圖理解Quantile更讓你在Q-QPlot呈現非直線的時候,也能看出資料分佈究竟是什麼
以上三點,就在接下來的文章一一說明。
直覺理解:比較「名次」之間的數值相對差異
Quantile的中文是分位數,是用數據量來分割資料、而不是用數值本身來分割資料,簡單地講就是名次。
Quantile-Quantile:兩組數據各自相同名次的比較
Q-QPlot的原理,是先幫有興趣的數據排名次,再為每個名次找出理論常態分配中、同樣名次對應到的值是多少。
如果數據符合常態分配,各名次之間的數據值相對差異應該要符合特定模式。
如果數據是常態分配,就會符合鐘型曲線的單峰且左右對稱的特性:
第25%與50%名次數據的數值距離=第50%與75%名次數據的數值距離第10%與20%名次數據的數值距離=第80%與90%名次數據的數值距離
此外,如果數據是常態分配,各名次之間的數值成長速度應該要有特定形式:(參考下圖)
從第0.1%到2.2%名次數據的數值變化量=從第2.2%到15.8%名次數據的數值變化量從第2.2%到15.8%名次數據的數值變化量=從第15.8%到50%名次數據的數值變化量
用名次間的相對數值變化特性,來判斷是否為常態分配(Source:Wikipedia)
這就是為何在Q-QPlot上可以用直線來判讀常態分佈的道理,我們要檢驗數據各名次間的相對數值差異、是否跟常態分佈相同,這項道理我們在接下來學習製圖步驟後會更加清晰。
製圖步驟
為資料由小到大排序為每個資料以分位數表示名次(PlottingPosition)如果共有14個資料點,第2名(倒數)要表示為第6.7%名(1/(14+1))計算每一點的分位數名次,其相對應的標準常態分配數值使用標準常態分配CDF的反函數標準常態分配中,第6.7%名對應到-1.499(在R語言使用qnorm(0.067))將有興趣數據與相對應名次常態分配數值以散佈圖的方式呈現
製圖範例
在此,我們用台大財金所的考題(資料來源:張翔老師)來示範。
請繪製Q-QPlot檢驗下列資料是否符合常態分配:
20,23,7,1,15,29,24,13,19,12,32,6,11,18
首先,我們為這14筆資料排序:1,6,7,11,12,13,15,18,19,20,23,24,29,32以7這筆資料為例,它在14筆數據中是第3名(倒數),我們將它以分位數表示則是第20%名(3/(14+1))在標準常態分配,第20%名的數值是-0.8416在散佈圖上畫出x=-0.8416,y=7的資料點以此類推,繪製出全部14筆資料
Q-QPlot製圖方法(Source:好豪的GitHub)
圖示中,這14筆資料大致是貼合在直線上的,我們可以視覺判斷這組資料符合常態分配。
詳細的製圖方法及R語言程式碼,請參閱好豪的GitHub。
Q-QPlot不是直線怎麼辦?判讀不同分配特性
Q-QPlot不是只有判斷「是否為直線」或者「是否為常態分配」,即使畫出來的不是直線,還是能看出資料分配的特性,例如,下圖中可以看到Q-QPlot在左偏與右偏分配會呈現的樣子:
不同數值分配下的不同Q-QPlot(Source:MannyGimond)
但是,如果只給我們圖示下半部的Q-QPlot,要馬上看出究竟是什麼分配,好像不太直覺?筆者好豪在此與你分享快速用Q-QPlot判讀分配的小技巧:
Q-QPlot中,脫離直線、形狀趨於水平的資料點,是資料分佈高峰所在地
左偏分佈的Q-QPlot(Source:好豪的GitHub)
雙峰型分佈的Q-QPlot(Source:好豪的GitHub)
常態分佈統計檢定
講了半天的Q-QPlot,它終究是個視覺化的方法,若是讀者覺得用看的不夠可靠,要檢驗常態分配還可以做統計檢定,常用的方法包括:
Shapiro-WilktestKolmogorov-SmirnovtestAnderson-Darlingtest
這些統計檢定詳細的使用方法與R程式碼,可以參考吳漢銘老師的教學投影片。
結語
學會Q-QPlot後,比起單純用直方圖判斷鐘型曲線,我們有更強的視覺化方法可以看出數據是否為常態分配。
如果覺得視覺判斷不夠客觀,我們還能用統計檢定來檢驗常態性。
檢驗是否為常態分佈後,重點在於:如果不是常態分佈對資料分析會有什麼影響?資料不是常態分佈該怎麼辦?筆者未來會在另一篇文章繼續探討。
參考資料:
R語言教材:R錦囊妙計好豪的GitHub:R語言Q-QPlot教學Youtube:StatQuestYouTube:張翔老師
如果你正在研讀統計學,推薦你繼續閱讀好豪的統計學知識分享:
二項式檢定與P-value解讀:《天堂M》手遊機率爭議案例學習圖解信賴區間,兩種常見的錯誤解讀
也歡迎追蹤好豪的Facebook粉絲專頁,我會持續努力分享統計學與資料科學知識!
R語言統計學
推薦閱讀
在freeCodeCamp自學JavaScript
2020-07-18
R語言自學資源分享:從入門到資料科學實戰
2021-07-21
北極星指標:把「賺錢」從口號化為行動的橋樑
2021-03-02
多重檢定問題:一定會有人中樂透
2021-12-06
資料科學競賽,能獲得什麼?
2021-10-20
A/ATest:商業實驗不能忘的前置動作
2021-07-17
2021年Tomofun狗音辨識機器學習競賽,第10名作法分享
2021-08-17
最讚的PyTorch免費初學課程,由臉書AI團隊教學!—Udacit...
2020-12-03
A/BTesting:「偷看結果」將成為最大的錯誤
2020-08-22
2021年,外商資料科學家求職經驗分享
2021-12-29
關於好豪
嗨,我是好豪(*゚∀゚)
在科技業打滾的資料科學家,以部落格寫作記錄自己的知識焦慮,記下我看過的書、寫過的程式碼、以及數據分析工作的見聞。
Keepintouch
Facebook
Linkedin
Github
歡迎追蹤粉專,獲得最新資訊
歡迎追蹤粉專,獲得最新資訊
最新文章
Pythondataclass教學:輕鬆定義資料類別
2022-04-04
因果推論簡介:A/BTesting行不通時怎麼辦?
2022-03-13
PythonPandas的MethodChaining教學,讓資料分析程式碼變好讀
2022-03-05
不是資工系能找機器學習工作嗎?跨領域面試經驗分享
2022-03-01
從《天堂M》手遊機率爭議學會二項式檢定與P-value解讀
2022-02-12
能創造真實成長的,只有輸出—《Output:最高學以致用法》
2022-02-03
分類
Podcast
Python
吉他
商業思維
學習
學習技巧
投資理財
課程心得
讀書筆記
資料科學
雜談
音樂
搜尋
贊助
@2020-AllRightReserved.HaoSquare.com
延伸文章資訊
- 1判斷是否為常態分配Step 2 :如果是常態分配,用「假設檢定」
一、假設檢定的基本概念在尚未蒐集樣本資料、進行推論之前,就事先對母體的某種特徵性質作一合理的假設敘述,再利用隨機抽出的樣本及抽樣分配,配合機率原理,以判斷此 ...
- 2第五章常態分配(The Normal Distribution)
3、 以機率的方式來表達前述之面積。 貳、前言. 常態曲線(The Normal Curve) 及常態分配的觀念,在統計中十分. 重要,它們是 ...
- 3Normality Test (樣本分佈的常態檢定) - The first step for ...
因此, 本篇文章討論的重點是, 如何確認抽樣所得的樣本數據分佈呈常態分佈. 在計算Process Capability前所需要做的第一步, 拿出手頭上的統計軟體, for ...
- 4內科部研究能力課程(二) 連續型變數之統計檢定
- 5常態檢定- SAS Taiwan
在一般傳統的統計分析中,常常會需要假設資料呈常態分配。不論是原始資料或是在進行殘差分析時大多都有這個假設,所以在做分析前後都須進行資料常態的 ...