---
# System prepended metadata

title: Welch’s ANOVA (unequal variances)

---

# 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/)