本文目的
最近在Coursera上學習Data Analysis,結合前一陣子閱讀的《Head First Statistics》,發現好多計算方法都涉及了假設檢驗(Hypothesis Test,又稱“顯著性檢驗”,Significance Test),用於檢驗模型的顯著性。如回歸分析,檢測估計量的系數;卡方檢驗(運用卡方分布)檢驗模型的優度擬合和變量獨立性。所以,決定梳理一下相關知識,作為備忘。
原理&方法
個人理解,假設檢驗就是利用反證法和小概率事件對原假設(Null Hypothesis)和備選假設(Alternative Hypothesis)進行選擇。首先,假設原假設成立,那么就可以利用原假設的一些條件,如統計量的概率分布。然后,選定顯著性水平α和對應的拒絕域(一個區間),一般選擇α = 5%或α = 1%。接下來,根據樣本和假設的統計量,計算P值(P Value)。如果P值對應的統計量在顯著性水平以內,那么就拒原假設。直觀的理解,因為α比較小,屬於小概率事件,一般不可能發生,但是現在卻發生了,那么原假設有問題,所以拒絕原假設,接受備選假設。
需要指出的是,無論是否拒絕原假設,都不能保證100%正確,只能在一定程度上估計這件事情可能性。而且檢驗結果很大程度上取決於樣本,所以一旦樣本出現偏倚(Biased),會直接影響檢驗結果。
假設檢驗,形式化的可以總結為以下6步:
- 確定原假設H0和備選假設H1
- 根據H0,確定統計量的概率分布和相關參數
- 確定顯著性水平α和拒絕域
- 根據步驟2的參數,求出P值
- 查看P值是否位於拒絕域以內
- 做出判斷,如果P值在拒絕域以內,那么拒絕H0接受H1。否則接受H0拒絕H1
檢驗結果
H0正確 |
H0錯誤 |
|
接收 |
PASS |
第二類錯誤 (False Discovery) |
拒絕 |
第一類錯誤 (False Positive) |
PASS |
上面提到,假設檢驗不會100%確保檢驗結果正確,會出現上面的兩類錯誤:
- 第一類錯誤:錯誤的拒絕原假設。原假設正確,但是卻錯誤的拒絕了,發生此事件的概率為α,也就是顯著性水平。所以顯著性水平越高,越容易發生。
- 第二類錯誤:錯誤的接受原假設。原假設錯誤,但是卻接受了原假設。發生此事件的概率需要根據統計量的分布,和被選項假設具有具體值來確定,這里先略過(《Head First Statistics》假設檢驗這一章中舉了一個例子描述如何求解其概率)。
如何選擇顯著性水平α
顯著性水平α一般為0.05,但是根據需要可以設為0.1或者0.01。當α較大時,第一類錯誤的概率增大,第二類錯誤的概率減少;α較小時,則相反。下面舉幾個例子:
例1 一個汽車制造商正在考核新零件,該零件對車輛安全至關重要。目前正在抽樣檢測,你覺得α應該如何指定。
解答H0:新配件與原始配件的安全性能相同。H1:新配件比原始配件更安全。由於此配件關系用戶聲明安全,所以需要盡量使用較安全的配件,拒絕假設H0,那么可以設將α設置高一點,比如 0.1。
例2 一個機器中,有一個配件,替換成本十分高,但是如果該配件損壞了,對機器影響不大,請問顯著性水平應該如何選取。
解答 H0:配件正常工作。H1:配件損壞。由於替換成本較高,所以需要確保零配件的確損壞才能替換,可以將α設置較小,比如0.01。
多重測試(Multiple-testing)
上面提到了假設檢驗可能出現問題,一個形象的例子可以參見這個漫畫。主要意思是這樣的,一妹紙問一技術宅:“吃軟心豆粒糖會長痘痘嗎?”為了回答妹子問題,技術宅就做了一次假設檢驗,P值大於0.05,所以回答妹子:“軟心豆粒糖不會引起痘痘!”妹子又說:“好像吃了某種顏色的軟心豆粒糖會長痘痘。”技術宅只好一邊一邊的將不同顏色的糖果進行顯著性檢驗,最終發現在一次實驗中,綠色的糖果的P值小於0.05,所以得出結論“吃綠色的軟心豆粒糖會長痘痘”。
這個故事說明了,顯著性檢驗進行許多次后,出現錯誤的可能性會增大。特別的,第一類錯誤至少出現一次的的概率是P (第一類錯誤的次數>=1)= 1 – (1-α)m。這意味着,隨着m的增大,P (第一類錯誤的次數>=1)會無限接近1。
這個問題很嚴重,容易導致假設檢驗的濫用,所以需要多重測試修正這類問題。具體的方法,可以參見這里。
參考資料
- 百度百科上關於假設檢驗的說明:http://baike.baidu.com/view/1445854.htm
- 《Head First Statistics》:假設檢驗相關章節,例子比較形象。
- Data Analysis in Coursera: Week 8, Lecture Multiple Testing
- OpenIntro Statistics : http://www.openintro.org/stat/textbook.php