比較二或多組變異係數 (Comparing Two or More Coefficient of Variation)
套路29: 比較二或多組變異係數
(Comparing
Two or More Coefficient of Variation)
1. 使用時機: 用於比較觀測到的兩組或多組變異係數(Coefficient of Variation, CV)。
2. 分析類型: 母數分析(parametric analysis)。
3. 前提假設: 資料均為常態分布(normal distribution)。
4. 資料範例1,兩組變異數: 咪路調查國一學生身高、手長、腿長(cm)及體重(kg),資料如下:
身高
|
141
|
135
|
133
|
136
|
140
|
146
|
131
|
137
|
134
|
130
|
138
|
體重
|
42
|
47
|
42
|
45
|
44
|
47
|
46
|
45
|
40
|
49
|
44
|
手長
|
62
|
65
|
63
|
64
|
69
|
61
|
67
|
66
|
60
|
65
|
63
|
腿長
|
72
|
72
|
75
|
77
|
71
|
70
|
78
|
79
|
74
|
75
|
72
|
請問國一學生身高、手長、腿長及體重變異係數是否相同?
H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4,HA: 國一學生身高、手長、腿長及體重變異係數不完全相同。
第一步: 輸入建立資料,用小c將資料放入名稱為d1-d4的vector (R最基本資料結構)。用rep函數產生與資料相同數目的(11及10個)大寫H及U放入名稱為h2及u2的vector,再組合成名稱為dat的data frame。
d1 <- c(141, 135,
133, 136, 140, 146, 131, 137, 134, 130, 138)
d2 <- c(42, 47, 42,
45, 44, 47, 46, 45, 40, 49, 44)
d3 <- c(62, 65, 63,
64, 69, 61, 67, 66, 60, 65, 63)
d4 <- c(72, 72, 75,
77, 71, 70, 78, 79, 74, 75, 72)
f1 <- rep("Tall",
11)
f2 <- rep("Weight",
11)
f3 <-
rep("Hand", 11)
f4 <-
rep("Leg", 11)
Values <- c(d1, d2,
d3, d4)
Char <- c(f1, f2, f3,
f4)
dat <- data.frame(Char,
Values)
第二步: 檢查資料是否為常態分布:
動作1: 閱讀基本模組(base)中shapiro.test函數的說明書。
help(shapiro.test)
動作2: 使用基本模組(base)中shapiro.test函數檢查h1及u1中資料是否為常態分布。
shapiro.test(d1)
shapiro.test(d2)
shapiro.test(d3)
shapiro.test(d4)
動作3: 判讀結果。
Shapiro-Wilk normality test
data: d1
W = 0.97057, p-value = 0.8922
# p-value > 0.05
Shapiro-Wilk normality test
data: d2
W = 0.97716, p-value = 0.9483
# p-value > 0.05
Shapiro-Wilk
normality test
data: d3
W = 0.98547, p-value = 0.989
# p-value > 0.05
Shapiro-Wilk normality
test
data: d4
W = 0.93754, p-value = 0.492
# p-value > 0.05
# p-value > 0.05,資料符合常態分布。
# p-value < 0.05,資料不符合常態分布。
第三步: 檢查四組資料是否為相同變異數(H0:
σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4)方法一。
動作1: 安裝cvequality程式套件。
動作2: 呼叫cvequality程式套件備用。
library(cvequality)
動作3: 閱讀cvequality程式套件中asymptotic_test函數的使用說明。
help(asymptotic_test)
動作4: 使用cvequality程式套件中asymptotic_test函數代入dat中資料。
asymptotic_test(Values,
Char)
動作5: 判讀結果。
$D_AD
[1] 3.436125
$p_value
[1] 0.3291414
# p-value > 0.05,H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4成立,資料相同變異係數。
# p-value < 0.05,H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4不成立,資料不同變異係數。
第四步: 檢查四組資料是否為相同變異數(H0:
σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4)方法二。
動作1: 安裝cvequality程式套件。
動作2: 呼叫cvequality程式套件備用。
library(cvequality)
動作3: 閱讀cvequality程式套件中mslr_test函數的使用說明。
help(mslr_test)
動作4: 使用cvequality程式套件中mslr_test函數代入dat中資料。
mslr_test(nr = 1000,
Values, Char)
# nr = 1000 是number of simulation runs。
動作5: 判讀結果。
$MSLRT
[1] 3.236204
$p_value
[1] 0.356621
# p-value > 0.05,H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4成立,資料相同變異係數。
# p-value < 0.05,H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4不成立,資料不同變異係數。
第五步: 檢查四組資料是否為相同變異數(H0:
σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4)方法三。
動作1: 安裝cvequality程式套件。
動作2: 呼叫cvequality程式套件備用。
library(cvequality)
動作3: 閱讀cvequality程式套件中asymptotic_test2函數的使用說明。
help(asymptotic_test2)
動作4: 計算k: 資料有幾組; n: 每組樣本數; s: 每組標準差; x: 每組平均值。
m1 <- mean(d1)
m2 <- mean(d2)
m3 <- mean(d3)
m4 <- mean(d4)
m <- c(m1, m2, m3,
m4)
s1 <- sd(d1)
s2 <- sd(d2)
s3 <- sd(d3)
s4 <- sd(d4)
s <- c(s1, s2, s3,
s4)
n <- c(11, 11, 11, 11)
動作5: 使用cvequality程式套件中asymptotic_test2函數代入上述資料。
asymptotic_test2(k = 4,
n = n, s = s, x = m)
動作6: 判讀結果。
$D_AD
[1] 3.436125
$p_value
[1] 0.3291414
# p-value > 0.05,H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4成立,資料相同變異係數。
# p-value < 0.05,H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4不成立,資料不同變異係數。
第六步: 檢查四組資料是否為相同變異數(H0:
σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4)方法四。
動作1: 安裝cvequality程式套件。
動作2: 呼叫cvequality程式套件備用。
library(cvequality)
動作3: 閱讀cvequality程式套件中mslr_test2函數的使用說明。
help(mslr_test2)
動作4: 計算k: 資料有幾組; n: 每組樣本數; s: 每組標準差; x: 每組平均值。
m1 <- mean(d1)
m2 <- mean(d2)
m3 <- mean(d3)
m4 <- mean(d4)
m <- c(m1, m2, m3,
m4)
s1 <- sd(d1)
s2 <- sd(d2)
s3 <- sd(d3)
s4 <- sd(d4)
s <- c(s1, s2, s3,
s4)
n <- c(11, 11, 11, 11)
動作5: 使用cvequality程式套件中mslr_test2函數代入上述資料。
mslr_test2(nr = 1000, n
= n, x = m, s = s)
# nr = 1000 是number of simulation runs。
動作6: 判讀結果。
$MSLRT
[1] 3.197255
$p_value
[1] 0.3622008
# p-value > 0.05,H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4成立,資料相同變異係數。
# p-value < 0.05,H0: σ1/m1 = σ2/m2 = σ3/m3 = σ4/m4不成立,資料不同變異係數。
來勁了嗎? 想知道更多?? 補充資料(連結):
1. Mean (https://en.wikipedia.org/wiki/Mean)
2. Variance (https://en.wikipedia.org/wiki/Variance)
3. Coefficient of variation (https://en.wikipedia.org/wiki/Coefficient_of_variation)
4. Statistical hypothesis testing (https://en.wikipedia.org/wiki/Statistical_hypothesis_testing)
5. Test statistic (https://en.wikipedia.org/wiki/Test_statistic)
6. 關於R基礎,R繪圖及統計快速入門:
a. R Tutorial: https://www.tutorialspoint.com/r/index.htm
b. Cookbook for R: http://www.cookbook-r.com/
c. Quick-R: https://www.statmethods.net/
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
7. Zar, JH. 2010. Biostatistical Analysis, Fifth Edition,
Pearson.
留言
張貼留言