# Welch’s ANOVA (unequal variances) 2022/6/12 [TOC] 同質性檢定 (homogeneity test) (e.g., Bartlett test, Levene's test, ...) 的虛無假設為各組的變異數相等($H_0: \sigma_1^2=\sigma_2^2=...=\sigma_n^2$)。如果同質性檢定顯著則表示拒絕各組變異數都相等,這時可以考慮採用 **Welch’s ANOVA** (在 t 檢定則為 Welch’s t-test)。 (但除非各組變異數真的相差很多,否則 **Welch’s ANOVA** 跟一般的 Fisher's ANOVA 應該是不會差很多,檢定結論通常會一致。) ## R 作法如下: (以作業五第一題為例) 1. 各組視覺化比較圖 ![](https://i.imgur.com/y9oN1ua.png) 2. 同質性檢定 (Bartlett test and Levene's Test) Bartlett 檢定結果 *p*-value = 4.808e-08 (= $4.808\times10^{-8}$)<.001,表示拒絕各組變異數相等。Levene 檢定結果 (F=4.7151, p=0.002762<.05) 同樣拒絕變異數同質假設。 ```r # Bartlett test bartlett.test( 學校整體滿意度 ~ as.factor(level), data=hw5 ) ## ## Bartlett test of homogeneity of variances ## ## data: 學校整體滿意度 by as.factor(level) ## Bartlett's K-squared = 36.91, df = 3, p-value = 4.808e-08 ``` ```r # Levene's Test car::leveneTest(學校整體滿意度 ~ as.factor(level), data=hw5, center=mean) ## Levene's Test for Homogeneity of Variance (center = mean) ## Df F value Pr(>F) ## group 3 4.7151 0.002762 ** ## 2481 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ``` 3. 使用 Welch’s ANOVA (跟 Fisher's ANOVA 比較) 假設變異數不相等的 Welch’s ANOVA 結果 (F = 21.801, _p_ = 1.058e-13<.001),和一般 Fisher's ANOVA 的結果 (F = 22.312, _p_=2.972e-14<.001),F 值略有不同,但結論是一致的(拒絕虛無假設)。 ```r # Welch’s ANOVA oneway.test( 學校整體滿意度 ~ as.factor(level), data=hw5, var.equal = FALSE) ## ## One-way analysis of means (not assuming equal variances) ## ## data: 學校整體滿意度 and as.factor(level) ## F = 21.801, num df = 3.0, denom df = 1054.4, p-value = 1.058e-13 ``` ```r # Fisher's ANOVA anova(lm( 學校整體滿意度 ~ as.factor(level), data=hw5)) ## Analysis of Variance Table ## ## Response: 學校整體滿意度 ## Df Sum Sq Mean Sq F value Pr(>F) ## as.factor(level) 3 31.34 10.4451 22.312 2.972e-14 *** ## Residuals 2481 1161.45 0.4681 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ``` 4. 事後比較 (post-hoc test) - 變異數不同質,選用如:Games-Howell test。 - 變異數同質,選用如:Tukey’s test 或是 Scheffe’s test 等等。 (略) 事後比較顯著的組別同樣為: - 高職/五專(2) > 高中(1), - 科技大學(3) > 高中(1), - 一般大學(4) > 高中(1), ```r rstatix::games_howell_test(學校整體滿意度 ~ level, data=hw5) ## # A tibble: 6 x 8 ## .y. group1 group2 estimate conf.low conf.high p.adj p.adj.signif ## * <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <chr> ## 1 學校整體滿意度 1 2 0.168 0.0659 0.270 1.44e-4 *** ## 2 學校整體滿意度 1 3 0.258 0.143 0.374 7.82e-8 **** ## 3 學校整體滿意度 1 4 0.255 0.169 0.341 0 **** ## 4 學校整體滿意度 2 3 0.0906 -0.0326 0.214 2.31e-1 ns ## 5 學校整體滿意度 2 4 0.0868 -0.00941 0.183 9.4 e-2 ns ## 6 學校整體滿意度 3 4 -0.00379 -0.114 0.107 1 e+0 ns ``` ## SPSS 作法如下: 1. 勾選 變異數同質性檢定、Welch、Games-Howell 檢定。 ![](https://i.imgur.com/WALafjT.png) ![](https://i.imgur.com/1IFH5Eu.png) 2. 同質性檢定 (Levene's Test) ![](https://i.imgur.com/M9mNlCX.png) 3. 使用 Fisher's ANOVA (上),**Welch’s ANOVA** (下) ![](https://i.imgur.com/3R9uFds.png) 4. 事後比較 ![](https://i.imgur.com/F96T2AV.png) --- ## See Also - [ANOVA with Welch Test in SPSS for Unequal Sample Sizes & Significant Levene's Test](https://youtu.be/o2K4Qa1za0o?t=463) - [How to Perform Welch’s ANOVA in R (Step-by-Step)](https://www.statology.org/welchs-anova-in-r/)