Home
探索 Uedu
學生控制台
註冊會員/登入
研究知情同意中心
教師控制台
課程設定
支援與訊息
Uptime 數據

UeduGPTs

--

Jupyters

2

UG26 CISOSE26
臺北 AQI 26 · 臺中 AQI 19 · 臺南 AQI 18 · 高雄 AQI 17

AI 回覆桌面通知

AI 助教回覆完成時顯示桌面通知

聊天訊息通知

同學在討論區發送訊息時通知

聲音通知

每當有新通知時播放提示音

變異數分析 ANOVA

用變異數比平均數:變異數分析 ANOVA 入門

一次比較多組平均,為何不能只靠兩兩 t 檢定。

三組以上,為什麼不能「兩兩比一比」就好?

假設你是一位營養學研究者,想知道三款早餐——燕麥粥、全麥吐司、白吐司——對學生上午專注力分數的影響。你蒐集了三組學生的專注力分數,現在三組的平均數分別是 78、74、70。它們看起來不一樣,但這「不一樣」是真的有差,還是只是隨機抽到的學生剛好高低不同?

最直覺的做法,是把三組兩兩拿來做 $t$ 檢定:A 對 B、A 對 C、B 對 C,比三次。聽起來合理,卻藏著一個陷阱。每做一次檢定,我們都允許自己有 5% 的機率「明明沒差卻誤判有差」(也就是顯著水準 $\alpha=0.05$)。比一次沒問題,但比很多次,這些「誤判機率」會累積。三組要比 3 次,若每次獨立,整體至少出一次假警報的機率大約是

$$1-(1-0.05)^3 \approx 0.143$$

也就是接近 14%,遠高於我們以為的 5%。組數越多,這個「多重比較」的膨脹越嚴重。變異數分析(Analysis of Variance, ANOVA) 就是為了解決這個問題而生:它用「一次檢定」同時比較所有組別的平均數,把整體誤判率控制在 $\alpha$ 之內。

變異數分析 ANOVA概念示意圖

比的是平均數,為什麼叫「變異數」分析?

這是 ANOVA 最反直覺、卻也最精巧的地方。我們想知道「各組平均數有沒有差」,方法卻是去拆解資料的變異

想像把所有人的分數丟在一起,它們的總變異(每個分數和總平均的差距平方和)可以拆成兩塊:

  • 組間變異(between-group):各組「組平均」彼此離得多遠。如果早餐真的有效,三組平均會被拉開,組間變異就大。
  • 組內變異(within-group):同一組裡,每個人和自己組平均的差距。這反映的是「跟早餐無關的個人差異與隨機誤差」。

ANOVA 的核心邏輯是比較這兩種變異的相對大小:

$$F=\frac{\text{組間變異(被解釋的)}}{\text{組內變異(隨機誤差)}}=\frac{MS_{between}}{MS_{within}}$$

如果早餐沒有任何效果,那麼組平均之間的差異也只是隨機波動,組間變異會和組內變異差不多大,$F$ 值會接近 1。但若早餐確實造成差異,組間變異會明顯超過組內變異,$F$ 值會遠大於 1。我們再用 $F$ 分配 查出這個 $F$ 值的 $p$ 值,判斷是否顯著。「用變異數來比較平均數」——名字就是這麼來的。

一個帶數字的小範例

把問題簡化,每組只取 3 位學生(實務上需更多):

組別 分數 組平均
燕麥 9, 8, 10 9
全麥 7, 6, 8 7
白吐司 5, 6, 4 5

總平均:$\bar{x}=\frac{9+8+10+7+6+8+5+6+4}{9}=\frac{63}{9}=7$。

組間平方和 $SS_{between}$:每組人數 $n=3$,乘上組平均與總平均差距的平方:

$$SS_{between}=3[(9-7)^2+(7-7)^2+(5-7)^2]=3(4+0+4)=24$$

組內平方和 $SS_{within}$:各組內部偏差平方和相加。燕麥組:$(9-9)^2+(8-9)^2+(10-9)^2=2$;全麥組同理 $=2$;白吐司組 $=2$。合計 $SS_{within}=6$。

接著算自由度:組間 $df_b=k-1=3-1=2$($k$ 為組數);組內 $df_w=N-k=9-3=6$($N$ 為總人數)。把平方和除以自由度得到均方:

$$MS_{between}=\frac{24}{2}=12,\qquad MS_{within}=\frac{6}{6}=1$$

$$F=\frac{12}{1}=12$$

查 $F$ 分配表,$df=(2,6)$、$\alpha=0.05$ 的臨界值約為 $5.14$。我們算出的 $F=12 > 5.14$,落在拒絕域,因此 $p<0.05$,我們有證據認為三組平均並非全部相同

顯著之後呢?別忘了這幾件事

ANOVA 顯著只告訴你「至少有兩組不一樣」,並沒有告訴你是哪幾組不一樣。要知道誰跟誰有差,需要做事後比較(post hoc),例如 Tukey HSD,它在比較時已內建多重比較的校正,不會重蹈本文開頭那個誤判膨脹的覆轍。

還有兩個統計素養的提醒:

第一,顯著不等於重要。$F$ 顯著只代表差異「不太可能純屬巧合」,不代表差異「夠大到有實務意義」。一個 78 分對 77 分的差異在樣本夠大時也可能顯著,但對現實幾乎沒影響。判斷「重要與否」要看效果量,而非只看 $p$ 值。

第二,相關不等於因果。即使本例 ANOVA 顯著,也只能說早餐種類與專注力分數有關聯。若學生不是隨機分派早餐,而是自己選的——愛吃燕麥的人可能本來就作息規律——那麼差異也許來自作息而非早餐。要主張因果,需要隨機分派的實驗設計,而不是只靠一個顯著的 $F$ 值。

ANOVA 是推論統計裡極實用的一把瑞士刀:它讓我們在「多組比較」時保持嚴謹,避免被多重比較的假警報誤導,同時用一個漂亮的變異拆解,把「平均數的差異」轉譯成「變異數的比值」。

深入探討(研究所視角)

形式上,單因子固定效果 ANOVA 的模型為

$$y_{ij}=\mu+\tau_i+\varepsilon_{ij},\qquad \varepsilon_{ij}\sim N(0,\sigma^2)\text{ i.i.d.}$$

其中 $\tau_i$ 為第 $i$ 組的處理效果,且滿足限制 $\sum_i n_i\tau_i=0$。虛無假設 $H_0:\tau_1=\cdots=\tau_k=0$。在 $H_0$ 與常態、變異數同質、獨立三項假設下,可證明 $SS_{between}/\sigma^2\sim\chi^2_{k-1}$、$SS_{within}/\sigma^2\sim\chi^2_{N-k}$ 且兩者獨立(Cochran 定理),故

$$F=\frac{SS_{between}/(k-1)}{SS_{within}/(N-k)}\sim F_{k-1,\,N-k}$$

估計量性質:$MS_{within}$ 的期望值恆為 $E[MS_{within}]=\sigma^2$,是 $\sigma^2$ 的不偏估計;而 $E[MS_{between}]=\sigma^2+\frac{1}{k-1}\sum_i n_i\tau_i^2$,僅在 $H_0$ 成立時才等於 $\sigma^2$。這正是 $F$ 比值能偵測組間差異的數學根源。事實上,ANOVA 的 $F$ 檢定可由最大概似比檢定(likelihood ratio test) 推導而得,在常態假設下兩者等價;而最小平方估計在此即是最大概似估計。

效果量衡量差異的實務大小,常用 $\eta^2=\frac{SS_{between}}{SS_{total}}$(被組別解釋的變異比例),但 $\eta^2$ 偏高估,研究中多改用較不偏的 $\omega^2=\frac{SS_{between}-(k-1)MS_{within}}{SS_{total}+MS_{within}}$。另外,$F$ 檢定與線性迴歸本質相同:ANOVA 等價於以虛擬變數(dummy coding)編碼組別的迴歸,這也說明 ANOVA 只是廣義線性模型(GLM) 的一個特例。

穩健性與替代方法:當變異數同質假設不成立時,宜改用 Welch's ANOVA;當常態假設嚴重違反時,可用無母數的 Kruskal–Wallis 檢定。當組數多時,事後比較的多重比較校正(Bonferroni、Tukey、或控制偽發現率的 Benjamini–Hochberg)至關重要。

貝氏觀點則跳脫 $p$ 值框架:對各 $\tau_i$ 設定先驗(常用階層模型讓組效果共享一個母體先驗,自然產生收縮估計),透過後驗分布或 Bayes factor 直接量化「各組相同」與「各組不同」兩個模型的相對證據強度,避免了「拒絕/不拒絕」的二分困境,也與機器學習中的階層貝氏與隨機效果模型一脈相承。

AI 共讀助教正在陪你讀:用變異數比平均數:變異數分析 ANOVA 入門
嗨!我是這篇文章的共讀助教,只根據〈用變異數比平均數:變異數分析 ANOVA 入門〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。