對方差分析(ANOVA)的通俗解釋
前言:筆者在網上找資料時感覺網路上對於ANOVA解釋大多都僅僅停留在如何計算F-statistic,或者如何用R, SAS, Python實現ANOVA,卻鮮有對ANOVA解釋。寫這篇文章就是希望能給ANOVA一個通俗的解釋,讓即便是非數學,非統計出身的同學們也能直觀的理解他。
本文將主要講單因素方差分析(one-way ANOVA),以後再慢慢講多因素和其他。
首先來說說我們為什麼要用ANOVA。在做一些實驗時,我們通常會把樣本分成不同的組,給予不同的對待。例如,我們想研究某種藥物在不同劑量下對人們的作用。我們可能會將病人隨機分為同等大小的三組,A組每天吃一片,B組每天吃兩片,C組每天吃三片。因為我們只研究這個藥品計量對病人的影響,所以是單因素分析,如果想要加入別的因素,例如,年齡,就需要用到多因素分析了。在上述實驗中,我們給了三種不同的計量,所以這個藥物計量因素下有三個水平(level)。實驗結束以後,你老闆問你,這三組病人的表現有顯著的區別嗎?這個時候,你就可以使用ANOVA來回答你老闆的問題啦。
雖然ANOVA叫做方差分析,但是他的目的是檢驗每個組的平均數是否相同(敲黑板!)。也就是說,ANOVA的零假設(null hypothesis)是 。現在,我們換一個角度考慮這個問題,如果這三組病人的表現並沒有顯著的區別,那他們其實是同一個總體的三次隨機抽樣。反過來說,我們想要分析,是不是有一組病人他們的表現非常與眾不同,讓這組病人不是來自同一個總體。
在具體說如何理解ANOVA之前,我們先來說ANOVA有哪些假設。如果你的實驗不能滿足ANOVA的假設,那你需要考慮別的分析方法或者改變實驗設計。ANOVA有主要有以下3個假設:
- 方差的同質性(homogeneity of variance)。可以理解為每組樣本背後的總體(也叫族群)都有相同的方差;
- 族群遵循正態分布;
- 每一次抽樣都是獨立的。在我們的例子中,每一個病人只能提供一個數據。對於一些實驗一個樣本需要提供多個數據,有其他相應的ANOVA分析方法。
假設我們得到的結果是這樣的: