什麼是ANOVA?
在前面的統計學章節,我們學到單變量和兩變量的假設檢定,假設我們想要比較三個以上的樣本是否有差異,這時候就要使用ANOVA了。ANOVA, analysis of variance, 變方分析,雖然名為「變方」分析,但其實是用來檢定三個以上的樣本「均值」是否有差異。
一張圖解釋ANOVA的概念
下面有兩張box plot,各擁有三個均值分別為10, 15, 20的樣本,何者較容易判定這三個樣本均值是否有差異?直觀來看,我們會覺得上圖比較能夠鑑別差異,下圖三樣本的數值的重複範圍大,組內變異數大,比較模稜兩可,無法容易分辨。所以我們可以得知,三個樣本的均值是否有差異,取決於「樣本組間均值差異」和「樣本組內變異」。如果樣本之間的均值差異越大,樣本組內變異越小,越容易判斷樣本的差異性。
如何推導出ANOVA的檢定量?
根據上面的概念,我們想要尋找一個能夠檢定出「樣本組間差異」和「樣本組內變異」的檢定量,來判斷樣本差異性的程度。
舉飼料與天竺鼠2周內增重(克)為例,探討三種不同的飼料餵養天竺鼠的增重效果是否有差異?
假設內容為:
H0: μ1=μ2=μ3 三個樣本沒有差異
Ha: μi≠μj (至少一組) 三個樣本中至少有一個和另外兩者不同
飼料
|
1
|
2
|
3
|
4
|
平均X
|
組內偏差平方和SS
|
變方S
|
A
|
7
|
3
|
10
|
4
|
XA=6
|
30
|
SA=10
|
B
|
4
|
10
|
6
|
8
|
XB=7
|
20
|
SB=6.67
|
C
|
10
|
14
|
9
|
11
|
XC=11
|
14
|
SC=4.67
|
總平均X=8
|
現實中可能還有其他的變因的影響,例如說天竺鼠的起始體重,或測量誤差等等,但這裡只探討飼料一個變項(又叫作處理, treatment),假設其他的變因影響為隨機,所以叫做One-way ANOVA。
為了得到「樣本組間差異」和「樣本組內變異」的兩個變量,我們故意把每一個觀測值和總平均的差值寫成:
「樣本組內差異」 「樣本組間差異」
觀測值-總平均=(觀測值-組平均)+(組平均-總平均)
(7-8) = (7-6) + (6-8)
(3-8) = (3-6) + (6-8)
(10-8) = (10-6) + (6-8)
(4-8) = (4-6) + (6-8)
(4-8) = (4-7) + (7-8)
(10-8) = (10-7) + (7-8)
(6-8) = (6-7) + (7-8)
(8-8) = (8-7) + (7-8)
(10-8) = (10-11) + (11-8)
(14-8) = (14-11) + (11-8)
(9-8) = (9-11) + (11-8)
(11-8) = (11-11) + (11-8)
總平方和 = 組內差異平方和 + 組間差異平方和
= 誤差平方和 + 處理平方和
很神奇的是,將等號左邊取平方累加,會和等號右邊兩個括號平方相加的累加值相同。(這是可以證明的,不過可以先記結果)。所以我們得到一個很好的衡量關係式:
總平方和 = 誤差平方和 + 處理平方和
SST = SSE + SSt
(Total sum of square = error sum of square + treatment sum of square)
如何理解這一個關係式呢?左邊的總平方和,是所有的觀測值和總平均的偏差平方和,就是總變異。根據公式,總變異是由「誤差平方和」和「處理平方和」所組成,這個值是固定的,也就是說當一者的貢獻越大,另一者越小。假設今天處理平方和越大,代表這個處理對於數值的變異擁有越大的貢獻,誤差平方和(即組內誤差)的影響越小,可以拒絕虛無假設。換言之,假設今天誤差平方和(組內誤差)對總變異的貢獻越大,代表你很難說明來自處理的變異有影響,因此無法拒絕虛無假設。
簡單來說,樣本之間是否有差異,要看總變異來自於處理的變異多,還是誤差的變異多。
到這邊為止,ANOVA的統計檢定量的雛形就呼之欲出了,但還有一個問題要解決,假設共有m個處理,每一個處理的樣本數為n1, n2, n3...nm,總共N個觀測值(n1+n2+...+nm),不同的總樣本數N和處理種類數量m對於誤差平方和處理平方會造成不同程度的貢獻,當m越多時,處理平方和貢獻的變異會增加。同理,當m一樣,總樣本數N越大,誤差平方和貢獻的變異越多,為了平衡基於不同數量對變異貢獻的差別,必須將平方和除以自由度,得到均方才能互相比較。
總平方和 = 誤差平方和 + 處理平方和
SST = SSE + SSt
df: N-1 = N-m + m-1
將平方和除以自由度得到均方
SST/(N-1) = SSE/(N-m) + SSt/(m-1)
MST = MSE + MSt
均方 = 誤差均方 + 處理均方
因此,我們就可以推導出最後要使用的F檢定量為MSt除以MSE,來比較究竟是誤差均方還是處理均方的占比比較大?
F= MSt/MSE
這邊也可以將MSE和MSt視為解釋百分比,例如說處理的因子佔總變異多少,可以解釋多少的變異。最後我們將上面的結果整理成ANOVA table(變方分析表):
變因(Source Of Variation)
|
自由度df
|
平方和SS
|
均方MS
|
F值
|
處理
|
m-1
|
SSt
|
MSt=SSt/m-1
|
MST/MSE
|
誤差
|
N-m
|
SSE
|
MSE=SSE/N-m
| |
總和
|
N-1
|
SST
|
沒有留言:
張貼留言