對于做統(tǒng)計(jì)而言,軟件和代碼永遠(yuǎn)只是工具,想要真正吃透一個(gè)分析方法,還是得從最原本的知識(shí)開始梳理。
雙因素方差分析的核心問題只有一個(gè):怎樣將來自所有統(tǒng)計(jì)數(shù)據(jù)的偏差合理地分配到每一個(gè)可能影響實(shí)驗(yàn)結(jié)果的因素上。
對ANOVA還不是很熟悉的人建議看看這一篇文章:對方差分析(ANOVA)的直觀解釋及計(jì)算,講解地很清楚。

既然是雙因素,就意味著需要考慮的影響條件有兩個(gè),比如我們想統(tǒng)計(jì)某種藥物對人體產(chǎn)生的影響,可以通過測量不同血壓和血糖條件下的藥物濃度來判斷,此時(shí),血壓和血糖就是兩個(gè)不同的因素,藥物濃度就是測量數(shù)據(jù)。推廣到一般情況,有A、B兩個(gè)因素的雙因素方差分析設(shè)計(jì)表如下:

上表中A因素有r個(gè)水平,B因素有s個(gè)水平。
1. 均衡設(shè)計(jì)
Two-way ANOVA之所以如此關(guān)心數(shù)據(jù)設(shè)計(jì)的均衡性,是因?yàn)椴痪獾脑O(shè)計(jì)會(huì)造成兩個(gè)因素之間有相關(guān)性,給方差分配帶來干擾。
關(guān)于一個(gè)Two-way ANOVA的實(shí)驗(yàn)設(shè)計(jì)是否均衡,其實(shí)定義很簡單,下面的表格設(shè)計(jì)就是一個(gè)完全均衡(balanced)的設(shè)計(jì),每一個(gè)因素對應(yīng)的各自里的樣本量(20)都是一樣的。

這種設(shè)計(jì)對于方差分析來說是最理想的,然而在實(shí)際運(yùn)用中很少有機(jī)會(huì)可以遇到。
再看下表這種設(shè)計(jì),Soil因素和Woodchips因素對應(yīng)的樣本量不是完全一樣的,所以是非均衡設(shè)計(jì),但是要注意到雖然數(shù)量不同,group因素與time因素的樣本比值是相同的(都是1.5倍),這種設(shè)計(jì)叫做unbalanced proportional design(非均衡成比例設(shè)計(jì))。

這種設(shè)計(jì)雖然不均衡,但由于樣本量成比例,分配均方差的時(shí)候也可以成比例分配。
然后下面這個(gè)表的設(shè)計(jì)就是既不均衡,又不成比例的了,叫做unbalanced disproportional design。

這種情況下分配均方差就比較麻煩了。下面兩張PPT比較清晰地描述了不同設(shè)計(jì)之下的方差分配情況:


可以看到對于非均衡設(shè)計(jì)的數(shù)據(jù),在分配方差的時(shí)候?qū)⑷咧睾系牟糠譁p去了,思路應(yīng)該是“既然分不清該給誰,那就扔了誰都不給”。但是這個(gè)PPT沒有給出具體是怎么計(jì)算的。
以上PPT是從YouTube視頻中截取的,原視頻鏈接:Nested ANOVA?,??Factorial ANOVA
2. 基本數(shù)學(xué)模型
首先說A、B兩個(gè)因素沒有交互作用的情況,此時(shí)Two-way ANOVA的均方差SST構(gòu)成如下:
數(shù)學(xué)模型如下:

SSA是來自A因素的均方差,SSB是來自B因素的均方差,SSE是均方誤差。此時(shí)ANOVA計(jì)算表如下:

然后來說A、B兩個(gè)因素有交互作用的情況,此時(shí)Two-way ANOVA的均方差SST構(gòu)成如下:
其中SSAB是來自兩個(gè)因素交互產(chǎn)生的均方差。此時(shí)ANOVA計(jì)算表如下:

上面表格中的公式都有嚴(yán)格的推導(dǎo)過程,可以參考《概率論與數(shù)理統(tǒng)計(jì)》教材第九章的內(nèi)容,后續(xù)如果有時(shí)間我也會(huì)自己再詳細(xì)整理一遍。
3. 重復(fù)測量與嵌套設(shè)計(jì)
ANOVA中的重復(fù)測量問題前面簡單提過,就是如果其中一個(gè)因素的每一個(gè)水平在每個(gè)個(gè)體上都有不止一個(gè)觀察值,那么這個(gè)因素就稱為重復(fù)測量因素,或組內(nèi)因素(within subject),另一個(gè)因素則稱為組間因素(between subject),此時(shí)的ANOVA稱為repeated measure design。有時(shí)也有可能兩個(gè)因素都是within subject。
重復(fù)測量的因素之所以會(huì)被單獨(dú)考量,是因?yàn)橹貜?fù)對一個(gè)個(gè)體進(jìn)行同一項(xiàng)實(shí)驗(yàn),很有可能產(chǎn)生隨機(jī)效應(yīng)(random effect),需要重新分配均方差。對待隨機(jī)效應(yīng),需要用到協(xié)方差,當(dāng)然也有專門的協(xié)方差分析(ANCOVA)
嵌套設(shè)計(jì)相對來說是一種比較特殊的情況,想一想這樣一個(gè)例子:如果我想統(tǒng)計(jì)AB兩個(gè)省份每年的湖泊蒸發(fā)量,于是在A省選了4個(gè)湖泊,在B省選了4個(gè)湖泊,然后連續(xù)幾年統(tǒng)計(jì)了這些湖泊每個(gè)季度的蒸發(fā)量。那么我們想知道這兩個(gè)省的湖泊蒸發(fā)量有沒有顯著差異,但是注意到這個(gè)例子中的四個(gè)特殊情況:
????????????????1. 統(tǒng)計(jì)的湖泊里沒有一個(gè)同時(shí)在兩個(gè)省份存在。?
????????????????2. “湖泊”這個(gè)因素雖然看起來有8個(gè)水平(8個(gè)不同的湖泊),但都是在空間上隸屬于“省份”這個(gè)因素的不同水平(A省和B?。?。?
????????????????3. 一個(gè)省內(nèi)不止這4個(gè)湖泊,選擇4個(gè)湖泊的時(shí)候有一定的隨機(jī)性。
? ? ? ? ? ? ? ? 4. 我們關(guān)心的兩個(gè)省份之間的差異,對于各個(gè)湖泊之間的差異不是很關(guān)心。
這樣,“湖泊”這個(gè)因素對應(yīng)的統(tǒng)計(jì)數(shù)據(jù)嚴(yán)格來說不是一個(gè)獨(dú)立的測量,它是“嵌套”在“省份”這個(gè)因素里的,這就違反了普通方差分析的前提,造成數(shù)據(jù)的假重復(fù)(pseudoreplication),使自由度也顯得虛高(falsly increased df),在進(jìn)行假設(shè)檢驗(yàn)時(shí)會(huì)使結(jié)果出現(xiàn)假陽性,這就是嵌套設(shè)計(jì)的應(yīng)用場景。
嵌套設(shè)計(jì)的ANOVA計(jì)算表如下:

相當(dāng)于是把嵌套因素當(dāng)做隨機(jī)效應(yīng)來分配方差了。另外關(guān)于隨機(jī)效應(yīng),判斷一個(gè)因素是不是隨機(jī)效應(yīng)就看這個(gè)因素的不同水平是不是隨機(jī)選擇的,拿上面的例子來說,AB兩個(gè)省份是我們深思熟慮過之后選擇的兩個(gè)省份,因此省份因素帶來的是固定效應(yīng)(fixed effect);而湖泊是我們從兩個(gè)省份里隨機(jī)選擇的,換句話說,湖泊這個(gè)因素的不同水平是來自于一個(gè)更大的總體(一個(gè)省里可能有100多個(gè)湖泊),因此湖泊就是一個(gè)隨機(jī)因素,帶來的就是隨機(jī)效應(yīng)。
4. Post hoc 與 contrast
做完ANOVA,算是完成了一半,如果分析結(jié)果顯示雙因素的影響具有顯著差異,那么需要進(jìn)一步知道差異的具體來源。舉例來說,當(dāng)我知道不同的血糖水平對健康有顯著影響,那么我就想知道具體哪個(gè)血糖水平的影響最大。這就需要做事后分析了(post hoc),最常見的就是做多重檢驗(yàn),也就是將兩個(gè)因素的不同水平兩兩之間的所有組合都做一遍檢驗(yàn)。
這里需要了解下什么叫做family-wise error rate,也就是多重比較謬誤。簡單來講,如果我們規(guī)定實(shí)驗(yàn)的差異顯著閾值為5%,那么我們在一次實(shí)驗(yàn)中作出錯(cuò)誤判斷(Type II error,也就是假陽性)的概率是5%,看起來已經(jīng)很低了,但是,如果我們做100次實(shí)驗(yàn),那么每一次犯錯(cuò)誤的概率就會(huì)疊加,到最后100%會(huì)犯錯(cuò)誤,所謂“常在河邊走,哪有不濕鞋”。
下表展示了一個(gè)因素的水平數(shù)、需要做的多重檢驗(yàn)數(shù)量以及對應(yīng)的錯(cuò)誤率:

可以看到當(dāng)多重檢驗(yàn)數(shù)到91次的時(shí)候錯(cuò)誤率已經(jīng)接近100%了。
Tukey's HSD是比較重用的ANOVA post hoc方法,可以通過對p值的矯正避免多重比較謬誤。關(guān)于post hoc還有很多值得研究的東西,后續(xù)會(huì)再補(bǔ)充一遍專門針對post hoc分析的筆記。