重複測量ANOVA:你要知道的事兒都在這裡啦 | 協和八
原創 張之昊 協和八
說人話的統計學
上一集我們為大家介紹了方差分析(ANOVA)的一種特殊技巧,叫做重複測量ANOVA(repeated-measures ANOVA)。它的功能和成對樣本的 t 檢驗相似,是為了比較在同一組個體上進行多次測量(不同時間點、不同實驗條件等)後,得到的平均值是否有差異。
從概念上來說,重複測量 ANOVA 和普通的 ANOVA 並沒有什麼兩樣,都是將表示所有數據點圍繞全體平均值之間波動情況的總平方和劃分為不同的成分。
這些成分有些與我們想考察的因素有關(常規 ANOVA 中的組間平方和,重複測量 ANOVA 中的「時間點間平方和」或「條件間平方和」),而有些無關(常規 ANOVA 中的組內平方和,重複測量 ANOVA 中的「時間點內/條件內平方和」等)。
重複測量 ANOVA 的特別之處,就是利用同一個個體貢獻了多個數據點這一資訊,在總平方和中進一步劃出去一個與個體本身固有性質有關、而與時間點或實驗條件無關的部分,稱之為「個體間平方和」。
這樣一來,最後剩下的、被我們認為是誤差的那部分平方和就變小了。上集文末的示意圖(見下圖)說的就是這個事兒。
圖1 ANOVA 與重複測量 ANOVA 原理比較(同上集圖 3)
說了這些,希望大家不要被這些五花八門的平方和給繞暈了,而忘記了我們的初衷——比較不同分組的平均值是否有差異。
在開始介紹 ANOVA 時,我們說過,要判斷差異的顯著性,我們需要找出與我們感興趣的因素相關的、組與組或條件與條件間的差異(也就是組間/條件間平方和),把它和由隨機誤差引起的差異來比較一下。
直觀上來說,如果前者比後者大得多,我們就有更充分的理由相信,不同組別之間平均值的差異是真實存在的;反之,我們則不能否定組間無差異的原假設(戳此處回顧《25.ANOVA在手,多組比較不犯愁》)。
▣▣▣▣
討論了這麼多原理,現在該是挽起袖子來大幹一場的時候了!
下面,就讓我們回到上集講過的藍精靈研究睡眠時間對做算術題正確率影響的例子裡,看看重複測量 ANOVA 的具體計算。
首先,讓我們來重溫一下這組資料——6 只藍精靈分別在充分休息後體驗三種實驗條件(夜間睡眠 3、6、9 小時),然後做 50 道算術題,記下每人每個條件下答對的題數。
以下散點圖就是上集我們見過的那幅,為了大家的方便再次附在這裡。而下面的表 1 則是具體的數值。
圖 2 三種實驗條件下的算術測試得分(用顏色標注不同個體,同上集圖 2 )
表1 三種實驗條件下的算術測試得分
3小時 |
6小時 |
9小時 |
各個體平均值 |
|
綠精靈 |
40 |
42 |
50 |
44 |
粉精靈 |
37 |
46 |
48 |
43.7 |
黃精靈 |
27 |
26 |
37 |
30 |
紅精靈 |
25 |
30 |
42 |
32.3 |
深藍精靈 |
30 |
35 |
44 |
36.3 |
蔚藍精靈 |
26 |
27 |
28 |
27 |
各條件平均值 |
30.8 |
34.3 |
41.5 |
總平均值:35.6 |
有了資料,現在我們就把那些平方和一個個算過來。按照《25.ANOVA在手,多組比較不犯愁 》裡的方法,條件間平方和(等同於之前的「組間平方和」)就是各實驗條件下的平均值圍繞總平均值的波動,而且還要各自乘以該組的個體數量。
換言之,我們要找出表 1 裡每一列的平均值與總平均值之間差異的加權平方和:
而條件內平方和(等同於之前的「組內平方和」)則是各資料點圍繞它們所在的實驗條件下的平均值的波動。
和以前一樣,為了清晰起見,我們分別算出每個條件的平方和,再把它們加起來:
相信你還記得,在常規的 ANOVA 裡,這個條件內平方和(組內平方和)就是誤差平方和,統計推斷就建立在它與組間平方和的比較上。但是,在重複測量 ANOVA 裡,我們還要從裡頭刨掉一塊個體間平方和,剩下的才是誤差平方和。
那麼,個體間平方和應該怎麼算?
在這一集的開頭以及上一集裡,我們都說過,之所以要有個體間平方和,是因為我們想要抓住個體間差異所造成的、而與分組、時間點或實驗條件無關的資料波動。
在上面這個例子裡,說的就是不同藍精靈本身算術水準的差異,而這個差異是在不同的實驗條件下都穩定存在的。
要注意,我們並不是說藍精靈解算術題的表現不受實驗條件的影響,而是說我們能測量到的解題得分裡,既體現了不同藍精靈自身水準的差異,也體現了睡眠時間的作用。
既然說,個體間的差異在不同的實驗條件下都穩定存在,那麼我們可以把三個實驗條件合併起來取個平均。
也就是說,表 1 最右邊的一列「各個體平均值」就代表了這六位藍精靈本身的算術水準,因而我們算出它們圍繞總平均值的波動,就是個體間平方和了。
同樣,考慮到實驗條件的數量,我們還得像以前那樣,給平方和乘上實驗條件的個數作為加權:
對比這個式子和前面計算條件間平方和的算式,你會發現它們非常相似。
其實,我們可以把「個體」作為另一種條件或者實驗分組,個體間平方和只不過是這一條件圍繞總平均值波動的大小而已。
有了個體間平方和,我們已經把這個樣本裡變異性的兩個系統性的來源(實驗條件造成的差異和個體本身的差異)都考慮到了。
在沒有其他額外資訊的情況下,還剩下的資料變異性就只能認為是隨機誤差導致的了。
因而,要得到誤差平方和,我們只需求出條件間平方和與個體間平方和之差:
所以,對於這一組資料,如果我們沒有利用實驗設計中重複測量的優勢,把它當成三組互相獨立的資料,就會認為誤差平方和有 855.7 那麼多。
但在重複測量的條件下,其實在 855.7 裡面,有 756.4 是由個體差異造成的,在這個條件下,我們認為總平方和裡只有 99.3 來自誤差。
熟習 ANOVA 心法的你一定知道,ANOVA 的本質就是組間/條件間變異性和隨機誤差之間的比較。
誤差平方和小了,組間/條件間平方和與之相比就更大了。
▣▣▣▣
這是否意味著重複測量 ANOVA 得到的顯著性一定就比常規 ANOVA 更大( p 值更小)呢?
多數情況下是的(比如我們上集提到過對於藍精靈這組資料的結果),但也並不絕對。
為什麼?
原因在於,當我們利用平方和進行統計推斷時,並不是簡單地看組間/條件間平方和與誤差平方和之間的比例,還需要有一些稍微有點煩人的技術細節。
在《26.ANOVA的基本招式你掌握了嗎?》裡,我們介紹過,在常規的 ANOVA 中,要得到 p 值,我們要利用組間平方和與組內平方和構建這麼一個 F 統計量:
其中,n 為樣本量(所有各組中資料點個數的總和),s 為組數。在前面的例子裡,n 為 18,s 為 3。
在資料滿足一定假設條件(見《 ANOVA的基本招式你掌握了嗎?》的前提下,如果原假設為真(各組平均值之間沒有差異),這個 F 統計量會服從自由度為(s-1, n-s)的F 分佈。
要得到 p 值,只需要找出在這個分佈之下,F 統計量取到比根據資料算出的 F 更大的數值的概率(各組平均值相互差異越大,組間和組內平方和的比值就越大,在原假設下的概率就越小),這事咱們就交給統計學套裝軟體辦了。
重複測量 ANOVA 呢?
道理都是一樣的,關鍵就在於條件間平方和與誤差平方和之間孰大孰小。
基於和之前同樣的原因,我們需要對條件和個體的數量進行校正,因此在 F 統計量中,兩個平方和底下也要除以兩個自由度:
其中,s 和之前一樣,為分組(實驗條件)數,而 m 為不同個體的數量。
在前面的例子裡,s 為 3,而 m 為 6 。
要從 F 統計量算出 p 值,我們同樣需要資料滿足一定的假設(稍後會具體介紹),這時如果原假設為真,那麼 F 統計量將服從自由度為 ( s-1,(s-1)(m-1)) 的 F 分佈。
比較兩個 F 統計量的式子,對於同一組資料,分子是一樣的,區別主要在分母上。
一方面,經過我們前面的介紹和計算示例,重複測量 ANOVA 的誤差平方和會比常規 ANOVA 的組內平方和小;另一方面,重複測量 ANOVA 裡 (s-1)(m-1) 又會比常規 ANOVA 的 (n-s) 小(想想看為什麼?提示一下,n 能夠用 m 和 s 怎樣表示?)。
最後,自由度為 (s-1,n-s) 的 F 分佈的形狀又會和自由度為 (s-1,(s-1)(m-1)) 的 F 分佈有所不同——後者因為第二個自由度小,整個趨向正無窮的尾巴會更高一些,因而同樣的 F 統計量對應的 p 值會大一些。
讀著有點兒暈?
沒關係,只需要知道這些因素攪和在一起,重複測量 ANOVA 並不一定總是功效比常規 ANOVA 更高,還得靠具體資料說話。
需要強調的是,我們今天對兩種 ANOVA 的比較,是從幫助大家理解兩者異同的角度出發的,並不是說實際使用時能夠隨意選擇,更不意味著可以哪個算出來 p 值小就用哪個。
正如我們反復強調過的,選擇哪種 ANOVA,決定因素只能是實驗設計:資料來自幾組互不相關的個體,就應當使用普通的 ANOVA;資料來自對同一組個體在不同條件下的多次測量,就應當使用重複測量 ANOVA;如果兩者皆有,那麼就需要用到以後再為大家介紹的更複雜的混合設計 ANOVA一類的方法。
▣▣▣▣
在這集的最後,讓我們來簡單談談重複測量 ANOVA 需要滿足哪些假設:
❖ 與普通 ANOVA 相同,各分組或條件中的各資料點需要服從或近似服從正態分佈,而且各個體互相獨立(比方說,在藍精靈這個例子裡,如果蔚藍精靈和深藍精靈是孿生兄弟,而其他藍精靈互相都沒有血緣關係,這樣就不獨立了)。
在這裡,我們以前介紹過的檢驗正態性的方法(如 Shapiro-Wilk 檢驗),還有將非正態資料轉化為接近正態資料的技巧,就都可以派上用場了。
❖ 重複測量 ANOVA 有一個特殊的假設,就是要求所有條件間來自同一個體的兩兩資料點之差的方差(variance)相等。
這個假設有個專門的術語,稱為球面性(sphericity)。
大家可以參看下面的表2:在我們的例子裡,球面性要求的是 3 小時減 6 小時、3 小時減 9 小時、6 小時減 9 小時這三組差值的方差相等。
表 2 重複測量 ANOVA 中的球面性假設
3小時 |
6小時 |
9小時 |
3小時-6小時 |
3小時-9小時 |
6小時-9小時 |
|
綠精靈 |
40 |
42 |
50 |
-2 |
-10 |
-8 |
粉精靈 |
37 |
46 |
48 |
-9 |
-11 |
-2 |
黃精靈 |
27 |
26 |
37 |
1 |
-10 |
-11 |
紅精靈 |
25 |
30 |
42 |
-5 |
-17 |
-12 |
深藍精靈 |
30 |
35 |
44 |
-5 |
-14 |
-9 |
蔚藍精靈 |
26 |
27 |
28 |
-1 |
-2 |
-1 |
方差 |
12.7 |
25.5 |
21.4 |
這樣一個假設是哪兒冒出來的?
咱們可以從兩個角度來理解。
首先,如果大家還記得常規 ANOVA 的假設(回顧《 26.ANOVA的基本招式你掌握了嗎?》),裡頭也有一個(各組資料)等方差性的要求,這裡的球面性只不過是重複測量情形下的特殊形式罷了。
那麼為什麼要求各條件中兩兩資料點之差的方差相等呢?
回想一下,重複測量 ANOVA 是成對樣本 t 檢驗的一種延伸,而成對樣本 t 檢驗表面上有兩組資料,實際的物件卻是兩組資料對應資料點的差值。
在重複檢驗 ANOVA 中也是一樣的——它實際上關心的並非各條件的資料本身,而是在 s 個條件中兩兩組合的差值。
從上面的表 2 中,這三組差值的方差看起來似乎相差不小。
怎樣才能知道球面性假設是否成立?
和正態性檢驗類似,有一個專門的統計學檢驗,稱為 Mauchly 氏球面性檢驗(Mauchly’s Test of Sphericity),它是各大統計學軟體在重複測量 ANOVA 功能中的默認標配。
這個檢驗的原假設是「重複測量資料具有球面性」,因此當該檢驗的 p 值小於 0.05 時,我們認為資料違背了球面性假設; p 值大於 0.05 時,我們則認為球面性得到了滿足。
如果資料不滿足球面性,那麼我們需要對 F 統計量的自由度進行修正,最常用的修正方法是 Greenhouse-Geisser 校正(Greenhouse-Geisser correction)。
在 SPSS 及其他統計學軟體中,我們只需根據 Mauchly 氏球面性檢驗的結果讀取相應的 F 檢驗結果報告即可。
當然,寫論文的時候也別忘了把選用的校正方法以及修正後的自由度寫清楚哦!
本系列文章
第 1 章 高屋建築看統計
1.你真的懂p值嗎?
2.做統計,多少資料才算夠?(上)
3.做統計,多少資料才算夠?(下)
4.提升統計功效,讓評審心服口服!
5.你的科研成果都是真的嗎?
6.見識資料分析的「獨孤九劍」
7.貝葉斯vs頻率派:武功到底哪家強?
第 2 章 算術平均數與正態分佈
8.數據到手了,第一件事先幹啥?
9.算術平均數:簡單背後有乾坤
10.正態分佈到底是怎麼來的?
第 3 章 t 檢驗:兩組平均數的比較
11.想玩轉t檢驗?你得從這一篇看起
12.就是要實用!t 檢驗的七十二變
13.不是正態分佈,t 檢驗還能用嗎?
14.只有15個標本,也能指望 t 檢驗嗎?
15.樣本分佈不正態?數據變換來救場!
16.數據變換的萬能鑰匙:Box-Cox變換
17. t 檢驗用不了?別慌,還有神奇的非參數檢驗
18.只講 p 值,不講效應大小,都是耍流氓!
19.找出 t 檢驗的效應大小,對耍流氓 say no!
20.用置信區間,就是這麼(不)自信!
21.如何確定 t 檢驗的置信區間
22.優雅秀出你的 t 檢驗,提升Paper!
23.要做 t 檢驗,這兩口毒奶可喝不得!
第 4 章 方差分析(ANOVA):多組平均數的比較
24.要比較三組資料,t 檢驗還能用嗎?
25.ANOVA在手,多組比較不犯愁
26.ANOVA的基本招式你掌握了嗎?
27.ANOVA做出了顯著性?事兒還沒完呢!
28.聽說,成對t檢驗還有ANOVA進階版?
29.重複測量ANOVA:你要知道的事兒都在這裡啦
作者:張之昊
編輯:黑草烏葉🍃