不同變異數單因子變異數分析 (Welch's Test for Analysis of Variance)

套路20: 不同變異數單因子變異數分析
(Welch's Test for Analysis of Variance)

什麼是比較多組不同變異數獨立樣本平均值檢定? 說白了就是多組分別獨立取樣的資料做比較的假設檢定。**注意** ”比較變異數” (comparing variances)變異數分析” (analysis of variance)不同。變異數分析是多組資料比較平均值。統計假設檢定檢定什麼?H0。例如多組獨立樣本假設檢定H0 : μ1 = μ2 = … = μkHA : 至少有一組平均值不同是檢定多組資料的平均值是否相同。假設相等時為雙尾 (two-tailed test) 檢定。

1. 使用時機: 變異數分析適用連續資料之差異分析,若自變項有一個,就是單因子變異數分析。
2. 分析類型: 母數分析(parametric analysis)直接使用資料數值算統計叫parametric方法,把資料排序之後用排序的名次算統計叫non-parametric方法。
3. 假設前提: 每組資料(observations within each cell)都是常態分布(normally distributed)但變異數不同(unequal variances)
4. 範例資料: 咪路調查土壤鈣離子濃度(mg/100 mg soil)資料如下:
土樣1
土樣2
土樣3
17.8
28.5
30.5
17.3
28.8
33.8
16.1
29.4
31.5
24.2
28.5
32.1
25.3
28.3
29.9
25.7
28.4
29.6
H0: m1 = m2 = m3 HA: 不同土壤樣本鈣離子濃度不完全相同

第一步: 使用基本模組(base)read.table函數輸入建立資料儲存到變數m
m <- read.table(header = TRUE, text = "
Soil Ca
S1 17.8
S1 17.3
S1 16.1
S1 24.2
S1 25.3
S1 25.7
S2 28.5
S2 28.8
S2 29.4
S2 28.5
S2 28.3
S2 28.4
S3 30.5
S3 33.8
S3 31.5
S3 32.1
S3 29.9
S3 29.6")  # 資料間以空白分隔S1-S3: 不同土壤樣本
attach(m)  # 告知R使用資料m
names(m)  # 指定資料標題

5. 畫圖看資料分佈:
: 安裝程式套件ggplot2
第二步: 呼叫ggplot2
  library(ggplot2)
第三步: 使用函數ggplot代入m資料畫box
  ggplot(m, aes(x = Soil, y = Ca)) +
     geom_boxplot(color = "red") +
     geom_jitter(position = position_jitter(0.05))  # box
6. 檢查不同組別數值是否符合常態分布假設前提(Check the normality assumption)
第一步: 輸入資料。
  s1 <- c(17.8, 17.3, 16.1, 24.2, 25.3, 25.7)
  s2 <- c(28.5, 28.8, 29.4, 28.5, 28.3, 28.4)
  s3 <- c(30.5, 33.8, 31.5, 32.1, 29.9, 29.6)
第二步: 使用基本模組(base)shapiro.test函數代入s1-s3來檢查數值是否符合常態分布。
  shapiro.test(s1)
  shapiro.test(s2)
  shapiro.test(s3)
第三步: 判讀結果。
        Shapiro-Wilk normality test
data:  s1
W = 0.8173, p-value = 0.08362  # p-value > 0.05數值符合常態分布。
        Shapiro-Wilk normality test
data:  s2
W = 0.82413, p-value = 0.09579  # p-value > 0.05數值符合常態分布。
        Shapiro-Wilk normality test
data:  s3
W = 0.93622, p-value = 0.6289  # p-value > 0.05數值符合常態分布。
  # p-value < 0.05數值不符合常態分布。
  # p-value > 0.05數值符合常態分布。

7. 檢查不同組別數值是否符合相同變異數假設前提(Check the homogeneity of variance assumption)方法一 (parametric):
第一步: 安裝car程式套件。
第二步: 呼叫car程式套件備用。
  library(car)
第三步: 閱讀car程式套件的leveneTest函數使用說明。
  help(leveneTest)
第四步: 使用car程式套件的leveneTest函數檢查不同組別數值是否符合相同變異數。
  leveneTest(Ca ~ Soil, data = m)
第五步: 判讀結果。
Levene's Test for Homogeneity of Variance (center = median)
      Df F value    Pr(>F)   
group  2  49.111 2.607e-07 ***
      15                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
  # Pr < 0.05不同組別數值不符合相同變異數。
  # Pr > 0.05不同組別數值符合相同變異數。

8. 檢查不同組別數值是否符合相同變異數假設前提(Check the homogeneity of variance assumption)方法二(parametric):
第一步: 閱讀基本模組(base)bartlett.test函數使用說明。
  help(bartlett.test)
第二步: 使用基本模組(base)bartlett.test函數檢查不同組別數值是否符合相同變異數。
  bartlett.test(Ca ~ Soil, data = m)
第三步: 判讀結果。
            Bartlett test of homogeneity of variances
data:  Ca by Soil
Bartlett's K-squared = 18.152, df = 2, p-value = 0.0001144
  # p-value < 0.05不同組別數值不符合相同變異數。
  # p-value > 0.05不同組別數值符合相同變異數。

9. 計算不同變異數單因子變異數分析:
第一步: 使用基本模組(base)oneway.test函數代入m中資料來計算單因子變異數分析。
  oneway.test(Ca ~ Soil, data = m, var.equal = FALSE)
  # var.equal = FALSE不同組資料有不同變異數
第二步: 判讀結果。
        One-way analysis of means (not assuming equal variances)
data:  Ca and Soil
F = 15.195, num df = 2.0000, denom df = 7.1274, p-value = 0.002688
  # p-value < 0.05H0: m1 = m2 = m3,不成立。
  # p-value > 0.05H0: m1 = m2 = m3,成立。

10. H0不成立時需計算多重比較(multiple comparison)來顯示有差異的組別:
第一步: 安裝DTK程式套件。
第二步: 呼叫DTK程式套件備用。
  library(DTK)
第三步: 閱讀DTK程式套件的DTK.test函數使用說明。
  help(DTK.test)
第四步: 使用DTK程式套件的DTK.test函數代入m來計算差異結果儲存在mc_res
  mc_res <- DTK.test(x = Ca, f = Soil, a = 0.05)
  # a = 0.05是α= 0.05
  # 變數名稱mc_res為使用者自定
第五步: 使用DTK.plot函數畫圖。
  DTK.plot(mc_res)
第六步: 判讀結果。
               Diff  Lower CI  Upper CI
S2-S1  7.583333 1.6559628 13.510704
S3-S1 10.166667 3.9040732 16.429260
S3-S2  2.583333 0.4242516  4.742415
  # interval畫紅色線表示有差黑色線表示沒差。

來勁了嗎? 想知道更多?? 補充資料(連結):
3. 關於Multiple comparisons problem (https://en.wikipedia.org/wiki/Multiple_comparisons_problem)
4. 關於R基礎R繪圖及統計快速入門:
   b. Cookbook for R: http://www.cookbook-r.com/
   d. Statistical tools for high-throughput data analysis (STHDA): http://www.sthda.com/english/
e. The Handbook of Biological Statistics: http://www.biostathandbook.com/
f. An R Companion for the Handbook of Biological Statistics: http://rcompanion.org/rcompanion/index.html
5. Zar, JH. 2010. Biostatistical Analysis, Fifth Edition, Pearson.

留言

這個網誌中的熱門文章

統計不球人 目錄 (Table of Contents)

如何選擇統計方法 1

單因子多樣本中位數差異檢定 (Kruskal-Wallis test)