Thursday, April 2, 2020

Single Factor Multi-Level ANOVA 概念入門

簡介
在日常生活中,我們經常比較不同數據的差異。可是,由於 T 檢定只支援兩組數據的比較,若果想使用 T 檢定去比較多於兩種數據,就需要進行多次比較,比較費事失事。

例如:我們想比較年青人、中年人、老年人的心肺功能。我們採集了三組數據 (Teen, Adult, Elderly) 之後,如果用 T 檢定,我們需要同時檢定:Teen VS Adult,Teen VS Elderly 和 Adult VS Elderly 共三次比較,才能得出 μTeen = μAdult = μElderly 的結論。當處理多種數據時,這種情況將會更加嚴重,比較次數將會更多。

所以,統計學者們發明了 ANOVA (Analysis of Variance) 來解決比較多組數據的問題。

條件
ANOVA 假設所有數據均為常態分布 (normally distributed),而且每組數據均為獨立事件 (independent events)。另外,為確保實驗不會受時間等偏差影響,每組實驗的次序都需要隨機運作 (randomized sequence)。

還有,一般來說,因子應該是類別數據 (categorical variable)(例如年齡群),而依變數 (dependent variable) 應該是連續數據 (continuous variable)(例如血糖指數)。試想想:如果依變數是類別數據的話,ANOVA 的公式就用不上了:因為根本沒有數字可以代進去呢!

界定準則
ANOVA 在於找出「這個因子 跟 實驗誤差 之間,到底有多大差距」。舉一個例子:一個人懂得多少種語言,與他的身高並沒有任何關係。所以,當你收集了有關語言數與身高的數據,經過計算,你會發現該因子組內的變異 (sum of square),跟實驗誤差 (experimental error) 沒有太大差別(也就是說,幾組數據都長得差不多,並沒有明顯的差別)。ANOVA 正正運用這個特性,來判斷不同數據之間,會否受因子的改變而產生變化。如果不同數據,確實因為因子的改變而產生了變化,我們就能肯定,幾組數據的平均值存在差異(也就是說,由 μ1, μ2 ... 至 μN 之中,至少有一個或多個數值並不相等)。

公式
假設數據的確會因為因子改變而改變,我們就可以用以下公式 (effect model) 表達其關係,當中 y 是指單一實驗結果,μ 是指總平均 (global mean),τ 是指因子變化產生的影響,ε 則指各數據與總平均之間的誤差:
由此可見,若果因子變化的確會影響實驗結果的話,τ 的數值一定需要十分明顯,甚至必須比 ε 大得多。從以上觀察,我們可以推算下面的公式。

下圖中, Treatment 表示因子 (Factor) 的不同數值,N 是總 sample 數量,n 是 每組的 replicates 次數(或 sample count),a 是因子組數目。以心肺功能例子來講,假設有三組人(青年、中年、老年),而每組有 15 個人的話,N = 15*3 = 45,a = 3, n = 15,當中 N-a 可移項變成 a(n-1)。

Sum of Square between treatments (SST) 是指以下項目的總和:
  • 15 個青年人的血糖數據的平均,減去全部人的平均血糖數據,次方,再除以 15,
    得到類似「青年人平均的變異量 (Sum of square of teenagers) τ Teen」
  • 15 個中年人的血糖數據的平均,減去全部人的平均血糖數據,次方,再除以 15,
    得到類似「中年人平均的變異量 (Sum of square of adults) τ Adult」
  • 15 個老年人的血糖數據的平均,減去全部人的平均血糖數據,次方,再除以 15,
    得到類似「老年人平均的變異量 (Sum of square of elderly) τ Total」 
Sum of Square of Experimental Error (SSE) 是指以下項目的總和:
  • 每一個人的血糖數據,減去全部人平均血糖數據,次方,得到類似 ε。
只要我們比較一下 τ 和 ε 的比例差別,就能判斷因子的變化,是否真的影響數據結果。
但比較之前,我們必須先將 SS 換算成 MS,將所有數據變成同一個單位。

界定準則與判定
跟 T 檢測一樣,我們同樣使用 Significance Level (α) 來判斷。

H0 (Null Hypothesis) =  μ1 = μ2 = ...= μN
Ha (Alternative Hypothesis) = 有一個或以上的 μi 不相等。
不過今次只有 one-sided test,因為 ANOVA 只能判斷 μ1, μ2 ... 之間有一個或多個不相等。

經過計算後,如果 p-Value 比 F_α, a-1, N-a 小的話,Null Hypothesis 則不成立。
(又或者說,F0 > F_α, a-1, N-a 的話,Null Hypothesis 則不成立)
(可理解成「 Null Hypothesis 真實的可能性太低,或者我錯誤否定它的可能性太低」)

使用電腦運算
使用圖形化的 SPSS 可參考:https://www.yongxi-stat.com/one-way-anova-indenpedent/
(註:當中的 Tukey / Fisher's LSD 是 Post ANOVA 方法,用來找出那一個  μi 與眾不同)

使用 MATLAB 可參考: https://www.mathworks.com/help/stats/one-way-anova.html

小結
Single Factor Multi-Level ANOVA (One-Way ANOVA) 能有效找出當一個因子的數值改變時,產生的數據是否仍然一致。對於 Performance Tweaking 等情況,這種方法特別有用。另外,如果需要加入多種因子,研究多種 factor 及其 interaction effect 的話,可使用延伸版的 Two Way ANOVA。

No comments:

Post a Comment