11 Analysis of variance Phân tích ph ng sai, nh tên g i, là m t s ph ng pháp phân tích th ng kê mà tr ng đi m là ph ng sai thay vì s trung bình... Nh ng ph ng pháp này không h p lí, vì
Trang 111
(Analysis of variance)
Phân tích ph ng sai, nh tên g i, là m t s ph ng pháp phân tích th ng kê mà
tr ng đi m là ph ng sai (thay vì s trung bình) Ph ng pháp phân tích ph ng sai n m trong “đ i gia đình” các ph ng pháp có tên là mô hình tuy n tính (hay general linear models), bao g m c h i qui tuy n tính mà chúng ta đã g p trong ch ng tr c Trong
ch ng này, chúng ta s làm quen v i cách s d ng R trong phân tích ph ng sai Chúng ta s b t đ u b ng m t phân tích đ n gi n, sau đó s xem đ n phân tích ph ng sai hai chi u, và các ph ng pháp phi tham s thông d ng
11.1 Phân tích ph ng sai đ n gi n (one-way analysis of variance - ANOVA)
Ví d 1 B ng th ng kê 11.1 d i đây so sánh đ galactose trong 3 nhóm b nh nhân: nhóm 1 g m 9 b nh nhân v i b nh Crohn; nhóm 2 g m 11 b nh nhân v i b nh viêm ru t k t (colitis); và nhóm 3 g m 20 đ i t ng không có b nh (g i là nhóm đ i
ch ng) Câu h i đ t ra là đ galactose gi a 3 nhóm b nh nhân có khác nhau hay không?
G i giá tr trung bình c a ba nhóm là µ1, µ2, và µ3, và nói theo ngôn ng c a ki m đ nh
Trang 2n=20
Trung bình: 2804 SD: 527
Chú thích: SD là đ l ch chu n (standard deviation)
Tho t đ u có l b n đ c, sau khi đã h c qua ph ng pháp so sánh hai nhóm b ng
ki m đ nh t, s ngh r ng chúng ta c n làm 3 so sánh b ng ki m đ nh t: gi a nhóm 1 và 2, nhóm 2 và 3, và nhóm 1 và 3 Nh ng ph ng pháp này không h p lí, vì có ba ph ng sai khác nhau Ph ng pháp thích h p cho so sánh là phân tích ph ng sai Phân tích
ph ng sai có th ng d ng đ so sánh nhi u nhóm cùng m t lúc (simultaneous comparisons)
11.1.1 Mô hình phân tích ph ng sai
minh h a cho ph ng pháp phân tích ph ng sai, chúng ta ph i dùng kí hi u
G i đ galactose c a b nh nhân i thu c nhóm j (j = 1, 2, 3) là x ij Mô hình phân tích
T c là, giá tr galactose c b t c b nh nhân nào b ng giá tr trung bình c a toàn
qu n th (µ) c ng/tr cho nh h ng c a nhóm j đ c đo b ng h s nh h ngαi, và sai
s εij M t gi đ nh khác là εij ph i tuân theo lu t phân ph i chu n v i trung bình 0 và
Trang 3Chú ý r ng: x ij = +x (x j−x) (+ x ij−x j) [2]
Trong đó, x là s trung bình c a toàn m u, và x là s trung bình c a nhóm j Nói cách j
khác, ph n (x j −x) ph n ánh đ khác bi t (hay c ng có th g i là hi u s ) gi a trung bình tr ng nhóm và trung bình toàn m u, và ph n (x ij−x j) ph n ánh hi u s gi a m t galactose c a m t đ i t ng và s trung bình c a t ng nhóm Theo đó,
Trang 4V i b c t do k-1 và N-k Các s li u tính toán trên đây có th trình bày trong m t b ng phân tích ph ng sai (ANOVA table) nh sau:
Ngu n bi n thiên (source
of variation)
B c t do (degrees of freedom)
T ng bình
ph ng (sum of squares)
Trung bình bình ph ng (mean square)
(a) Nh p d li u Tr c h t, chúng ta c n ph i nh p d li u vào R B c th nh t là báo cho R bi t r ng chúng ta có ba nhóm b nh nhân (1, 2 v ), nhóm 1 g m 9 ng i, nhóm 2 có 11 ng i, và nhóm 3 có 20 ng i:
a hai bi n group và galactose vào m t dataframe và g i là data:
> data <- data.frame(group, galactose)
Trang 5Trong hàm trên chúng ta cho R bi t bi n galactose là m t hàm s c a group G i
Trong k t qu trên, có ba c t: Df (degrees of freedom) là b c t do; Sum Sq là t ng bình
ph ng (sum of squares), Mean Sq là trung bình bình ph ng (mean square); F value là giá tr F nh đ nh ngh a [3] v a đ c p ph n trên; và Pr(>F) là tr s P liên quan đ n ki m đ nh F
Dòng group trong k t qu trên có ngh a là bình ph ng gi a các nhóm groups) và residual là bình ph ng trong m i nhóm (within-group) đây, chúng
(c) c s bi t thêm chi ti t k t qu phân tích, chúng ta dùng l nh summary nh sau:
Trang 6-
Signif codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 572.7 on 37 degrees of freedom
Multiple R-Squared: 0.319, Adjusted R-squared: 0.2822
F-statistic: 8.666 on 2 and 37 DF, p-value: 0.0008191
Theo k t qu trên đây, intercept chính là ˆµ trong mô hình [1] Nói cách khác, ˆµ =
1910 và sai s chu n là 190.9
c tính thông s ˆαj, R đ t αˆ1=0, và αˆ2 =α αˆ2− = 316.3, v i sai s chu n là 257, ˆ1
và ki m đ nh t = 316.3 / 257 = 1.229 v i tr s p = 0.2268 Nói cách khác, so v i nhóm 1 (b nh nhân Crohn), b nh nhân viêm ru t k t có đ galactose trung bình cao h n 257,
nh ng đ khác bi t này không có ý ngh a th ng kê
T ng t , αˆ3 =α αˆ3− = 894.3, v i sai s chu n là 229.9, ki m ˆ1 đ nh t = 894.3/229.9=3.89, và tr s p = 0.00040 So v i b nh nhân Crohn, nhóm đ i ch ng có đ galactose cao h n 894, và m c đ khác bi t này có ý ngh a th ng kê
11.2 So sánh nhi u nhóm (multiple comparisons) và đi u
ch nh tr s p
Cho k nhóm, chúng ta có ít nh t là k(k-1)/2 so sánh Ví d trên có 3 nhóm, cho
nên t ng s so sánh kh d là 3 (gi a nhóm 1 và 2, nhóm 1 và 3, và nhóm 2 và 3) Khi
k=10, s l n so sánh có th lên r t cao Nh đã đ c p trong ch ng 7, khi có nhi u so sánh, tr s p tính toán t các ki m đ nh th ng kê không còn ý ngh a ban đ u n a, b i vì các ki m đ nh này có th cho ra k t qu d ng tính gi (t c k t qu v i p<0.05 nh ng trong th c t không có khác nhau hay nh h ng) Do đó, trong tr ng h p có nhi u so sánh, chúng ta c n ph i đi u ch nh tr s p sao cho h p lí
Có khá nhi u ph ng pháp đi u ch nh tr s p, và 4 ph ng pháp thông d ng nh t là: Bonferroni, Scheffé, Holm và Tukey (tên c a 4 nhà th ng kê h c danh ti ng)
Ph ng pháp nào thích h p nh t? Không có câu tr l i d t khoát cho câu h i này, nh ng hai đi m sau đây có th giúp b n đ c quy t đ nh t t h n:
(a) N u k < 10, chúng ta có th áp d ng b t c ph ng pháp nào đ đi u
ch nh tr s p Riêng cá nhân tôi thì th y ph ng pháp Tukey th ng
Trang 7đây, tôi s không gi i thích lí thuy t đ ng sau các ph ng pháp này (vì b n đ c
có th tham kh o trong các sách giáo khoa v th ng kê), nh ng s ch cách s d ng R đ
ti n hành các so sánh theo ph ng pháp c a Tukey
Quay l i ví d trên, các tr s p trên đây là nh ng tr s ch a đ c đi u ch nh cho
so sánh nhi u l n Trong ch ng v tr s p, tôi đã nói các tr s này phóng đ i ý ngh a
th ng kê, không ph n ánh tr s p lúc ban đ u (t c 0.05) đi u ch nh cho nhi u so sánh, chúng ta ph i s d ng đ n ph ng pháp đi u ch nh Bonferroni
Chúng ta có th dùng l nh pairwise.t.test đ có đ c t t c các tr s p so sánh gi a ba nhóm nh sau:
> pairwise.t.test(galactose, group, p.adj="bonferroni")
Pairwise comparisons using t tests with pooled SD
data: galactose and group
1 2
2 0.6805 -
3 0.0012 0.0321
P value adjustment method: bonferroni
K t qu trên cho th y tr s p gi a nhóm 1 (Crohn) và viêm ru t k t là 0.6805 (t c không
có ý ngh a th ng kê); gi a nhóm Crohn và đ i ch ng là 0.0012 (có ý ngh a th ng kê), và
gi a nhóm viêm ru t k t và đ i ch ng là 0.0321 (t c c ng có ý ngh a th ng kê)
M t ph ng pháp đi u ch nh tr s p khác có tên là ph ng pháp Holm:
> pairwise.t.test(galactose, group)
Pairwise comparisons using t tests with pooled SD
data: galactose and group
1 2
2 0.2268 -
3 0.0012 0.0214
P value adjustment method: holm
K t qu này c ng không khác so v i ph ng pháp Bonferroni
T t c các ph ng pháp so sánh trên s d ng m t sai s chu n chung cho c ba nhóm
N u chúng ta mu n s d ng cho t ng nhóm thì l nh sau đây (pool.sd=F) s đáp ng yêu c u đó:
> pairwise.t.test(galactose, group, pool.sd=FALSE)
Pairwise comparisons using t tests with non-pooled SD
Trang 8data: galactose and group
1 2
2 0.2557 -
3 0.0017 0.0544
P value adjustment method: holm
M t l n n a, k t qu này c ng không làm thay đ i k t lu n
11.2.1 So sánh nhi u nhóm b ng ph ng pháp Tukey
Trong các ph ng pháp trên, chúng ta ch bi t tr s p so sánh gi a các nhóm,
nh ng không bi t m c đ khác bi t c ng nh kho ng tin c y 95% gi a các nhóm có
nh ng c s này, chúng ta c n đ n m t hàm khác có tên là aov (vi t t t t analysis of variance) và hàm TukeyHSD (HSD là vi t t t t Honest Significant Difference, t m d ch nôm na là “Khác bi t có ý ngh a thành th t”) nh sau:
> res <- aov(galactose ~ group)
> TukeyHSD (res)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = galactose ~ group)
K t qu trên cho chúng ta th y nhóm 3 và 1 khác nhau kho ng 894 đ n v , và kho ng tin
c y 95% t 333 đ n 1455 đ n v T ng t , galactose trong nhóm b nh nhân viêm ru t
k t th p h n nhóm đ i ch ng (nhóm 3) kho ng 578 đ n v , và kho ng tin c y 95% t 53
đ n 1103
Trang 90 500 1000 1500
95% family-wise confidence level
Differences in mean levels of group
Bi u đ 11.1 Trung bình hi u và kho ng tin c y
> stripchart(galactose ~ group, “jitter”, jit=0.05, pch=16, vert=TRUE)
> arrows(1:3, xbar+sem, 1:3, xbar-sem, angle=90, code=3, length=0.1)
> lines(1:3, xbar, pch=4, type=”b”, cex=2)
Trang 1011.3 Phân tích b ng ph ng pháp phi tham s
Ph ng pháp so sánh nhi u nhóm phi tham s (non-parametric statistics) t ng
đ ng v i ph ng pháp phân tích ph ng sai là Kruskal-Wallis C ng nh ph ng pháp Wilcoxon so sánh hai nhóm theo ph ng pháp phi tham s , ph ng pháp Kruskal-Wallis
c ng bi n đ i s li u thành th b c (ranks) và phân tích đ khác bi t th b c này gi a các nhóm Hàm kruskal.test trong R có th giúp chúng ta trong ki m đ nh này:
> kruskal.test(galactose ~ group)
Kruskal-Wallis rank sum test
data: galactose by group
Kruskal-Wallis chi-squared = 12.1381, df = 2, p-value = 0.002313
Tr s p t ki m đ nh này khá th p (p = 0.002313) cho th y có s khác bi t gi a
ba nhóm nh phân tích ph ng sai qua hàm lm trên đây Tuy nhiên, m t b t ti n c a
ki m đ nh phi tham s Kruskal-Wallis là ph ng pháp này không cho chúng ta bi t hai nhóm nào khác nhau, mà ch cho m t tr s p chung Trong nhi u tr ng h p, phân tích
Trang 11phi tham s nh ki m đ nh Kruskal-Wallis th ng không có hi u qu nh các ph ng pháp th ng kê tham s (parametric statistics)
11.4 Phân tích ph ng sai hai chi u (two-way analysis of variance - ANOVA)
Phân tích ph ng sai đ n gi n hay m t chi u ch có m t y u t (factor) Nh ng phân tích ph ng sai hai chi u (two-way ANOVA), nh tên g i, có hai y u t Ph ng pháp phân tích ph ng sai hai chi u ch đ n gi n khai tri n t ph ng pháp phân tích
ph ng sai đ n gi n Thay vì c tính ph ng sai c a m t y u t , ph ng pháp phân sai hai chi u c tính ph ng sai c a hai y u t
Ví d 2 Trong ví d sau đây, đ đánh giá hi u qu c a m t k thu t s n m i, các nhà nghiên c u áp d ng s n trên 3 lo i v t li u (1, 2 v 3) trong hai đi u ki n (1, 2)
M i đi u ki n và lo i v t li u, nghiên c u đ c l p l i 3 l n b n đ c đo là ch s
S li u này có th tóm l c b ng s trung bình cho t ng đi u ki n và v t li u trong b ng
th ng kê sau đây:
Trang 12Nh ng tính toán s kh i trên đây cho th y có th có s khác nhau (hay nh h ng) c a
đi u ki n và v t li u thí nghi m
G i x ij là score c a đi u ki n i (i = 1, 2) cho v t li u j (j = 1, 2, 3) ( đ n gi n hóa
v n đ , chúng ta t m th i b qua k đ i t ng) Mô hình phân tích ph ng sai hai chi u
Trong phân tích ph ng sai hai chi u, chúng ta c n chia t ng bình ph ng ra thành 3 ngu n:
• ngu n th nh t là t ng bình ph ng do bi n đ i gi a 2 đi u ki n:
i i i
Trang 13Trong các ph ng trình trên, n = 3 (l p l i 3 l n cho m i đi u ki n và v t li u), m = 3
v t li u, x là s trung bình cho toàn m u, x i là s trung bình cho t ng đi u ki n, x j là s
trung bình cho t ng v t li u Vì SSc có m-1 b c t do, SSm có (n -1) b c t do, và SSe có N–nm+2 b c t do, trong đó N là t ng s m u (t c 18) Do đó, các trung bình bình
T ng bình
ph ng (sum of squares)
Trung bình bình ph ng (mean square)
11.4.1 Phân tích ph ng sai hai chi u v i R
(a) B c đ u tiên là nh p s li u t b ng 11.2 vào R Chúng ta c n ph i t ch c d
li u sao cho có 4 bi n nh sau:
Condition Material i t ng Score
Trang 14Chúng ta có th t o ra m t dãy s b ng cách s d ng hàm gl (generating levels) Cách
s d ng hàm này có th minh h a nh sau:
Trong l nh trên, chúng ta t o ra m t dãy s v i 4 b c (1,2,3, 4) 9 l n (v i t ng s 36 s )
Do đó, đ t o ra các b c cho đi u ki n và v t li u, chúng ta l nh nh sau:
T t c cho vào m t dataframe tên là data:
> data <- data.frame(condition, material, id, score)
> attach(data)
(b) Phân tích và k t qu s kh i Bây gi s li u đã s n sàng cho phân tích phân tích ph ng sai hai chi u, chúng ta v n s d ng l nh lm v i các thông s nh sau:
> twoway <- lm(score ~ condition + material)
> anova(twoway)
Analysis of Variance Table
Trang 15Residual standard error: 0.229 on 14 degrees of freedom
Multiple R-Squared: 0.9074, Adjusted R-squared: 0.8875
F-statistic: 45.72 on 3 and 14 DF, p-value: 1.761e-07
K t qu trên cho th y so v i đi u ki n 1, đi u ki n 2 có score th p h n kho ng 1.056 và sai s chu n là 0.108, v i tr s p = 1.24e-07, t c có ý ngh a th ng kê Ngoài ra,
so v i v t li u 1, score cho v t li u 2 và 3 c ng th p h n đáng k v i đ th p nh t ghi
Trang 162 5.0139 2.1811
0.90745.0139 2.1811 0.7344
Và sau cùng, h s R2đi u ch nh ph n ánh đ “c i ti n” c a mô hình hi u h
s này t t h n, chúng ta th y ph ng sai c a toàn b m u là s2 = (5.0139 + 2.1811 + 0.7344) / 17 = 0.4644 Sau khi đi u ch nh cho nh h ng c a đi u ki n và v t li u,
ph ng sai này còn 0.0525 (t c là residual mean square) Nh v y hai y u t này làm
gi m ph ng sai kho ng 0.4644 – 0.0525 = 0.4119 Và h s R2đi u ch nh là:
Adj R2 = 0.4119 / 0.4644 = 0.88
T c là sau khi đi u ch nh cho hai y u t đi u ki n và v t li u ph ng sai c a score gi m kho ng 88%
(d) Hi u ng t ng tác (interaction effects)
cho phân tích hoàn t t, chúng ta còn ph i xem xét đ n kh n ng nh h ng
c a hai y u t này có th t ng tác nhau (interactive effects) T c là mô hình score tr thành:
ij i j i j ij ij
Chú ý ph ng trình trên có ph n (α βi j ij) ph n ánh s t ng tác gi a hai y u t Và chúng ta ch đ n gi n l nh R nh sau:
> anova(twoway <- lm(score ~ condition+ material+condition*material)) Analysis of Variance Table
K t qu phân tích trên (p = 0.297 cho nh h ng t ng tác) Chúng ta có b ng ch ng đ
k t lu n r ng nh h ng t ng tác gi a v t li u và đi u ki n không có ý ngh a th ng kê,
Tukey multiple comparisons of means
95% family-wise confidence level
Trang 17Fit: aov(formula = score ~ condition + material + condition)
95% family-wise confidence level
Differences in mean levels of material
Bi u đ 11.3 So sánh gi a 3 lo i v t li u
b ng ph ng pháp Tukey
(f) Bi u đ xem qua đ nh h ng c a hai y u t đi u ki n và v t li u, chúng ta c n
ph i có m t đ th , mà trong phân tích ph ng sai g i là đ th t ng tác Hàm interaction.plot cung c p ph ng ti n đ v bi u đ này:
> interaction.plot(score, condition, material)
Trang 18Bi u đ 11.4 Trung bình score cho t ng đi u ki n 1 (đ ng
đ t đo n) và đi u ki n 2 cho 3 lo i v t li u
11.5 Phân tích hi p bi n (analysis of covariance - ANCOVA)
Phân tích hi p bi n (s vi t t t là ANCOVA) là ph ng pháp phân tích s d ng c hai mô hình h i qui tuy n tính và phân tích ph ng sai Trong phân tích h i qui tuy n tính, c hai bi n ph thu c (dependent variable, c ng có th g i là “bi n ng” – response variable) và bi n đ c l p (independent variable hay predictor variable) ph n l n là d ng liên t c (continuous variable), nh đ cholesterol và đ tu i ch ng h n Trong phân tích
ph ng sai, bi n ph thu c là bi n liên t c, còn bi n đ c l p thì d ng th b c và th
lo i (categorical variable), nh đ galactose và nhóm b nh nhân trong ví d 1 ch ng h n Trong phân tích hi p bi n, bi n ph thu c là liên t c, nh ng bi n đ c l p có th là liên
t c và th lo i
Ví d 3 Trong nghiên c u mà k t q a đ c trình bày d i đây, các nhà nghiên
c u đo chi u cao và đ tu i c a 18 h c sinh thu c vùng thành th (urban) và 14 h c trò thu c vùng nông thôn (rural)
B ng 11.4 Chi u cao c a h c trò vùng thành th và nông
thôn Area ID Age (months) Height
Trang 19chi u cao t ng theo đ tu i Do
đó, so sánh chi u cao gi a hai
121,121,128,129,131,132,133,134,138,138,138,140,140,140)
> height <- c(137.6,147.8,136.8,140.7,132.7,145.4,135.0,133.0,148.5, 148.3,147.5,148.8,133.2,148.7,152.0,150.6,165.3,149.9, 139.0,140.9,134.9,149.5,148.7,131.0,142.3,139.9,142.9, 147.7,147.7,134.6,135.8,148.5)
Trang 20> tapply(age, group, mean)
Vì hai nhóm khác nhau v đ tu i, và tu i có liên h v i chi u cao, cho nên chúng
ta không th phát bi u hay so sánh chi u cao gi a 2 nhóm h c sinh mà không đi u ch nh cho đ tu i đi u ch nh đ tu i, chúng ta s d ng ph ng pháp phân tích hi p bi n
11.5.1 Mô hình phân tích hi p bi n
G i y là chi u cao, x là đ tu i, và g là nhóm Mô hình c n b n c a ANCOVA
gi đ nh r ng m i liên h gi a y và x là m t đ ng th ng, và đ d c (gradient hay slope)
Trang 21c a hai nhóm trong m i liên h này không khác nhau Nói cách khác, vi t theo kí hi u
α1: là giá tr trung bình c a y khi x= 0 c a nhóm 1;
α2: là giá tr trung bình c a y khi x= 0 c a nhóm 2;
β : đ d c c a m i liên h gi a y và x;
e1 và e2: bi n s ng u nhiên v i trung bình 0 và ph ng sai σ2
G i x là s trung bình c a đ tu i cho c 2 nhóm, x và 1 x là tu i trung bình c a 2
nhóm 1 và nhóm 2 Nh nói trên, n u x1≠ , thì so sánh chi u cao trung bình c a nhóm x2
chi u cao trung bình gi a hai nhóm n u c hai nhóm có cùng tu i trung bình M c khác
bi t này này th hi n nh h ng c a hai nhóm n u không có m t y u t nào liên h đ n y
Thành ra, đ c tính α α1− 2, chúng ta không th đ n gi n tr hai s trung bình y - 1 y , 2
nh ng ph i đi u ch nh cho x G i x* là m t giá tr chung cho c hai nhóm, chúng ta có
th c tính giá tr đi u ch nh y cho nhóm 1 (kí hi u y ) nh sau: 1
Trang 22Do đó, v n đ là chúng ta ph i c tính β Có th ch ng minh r ng c s β t ph ng pháp bình ph ng nh nh t c ng là c tính khách quan cho α α1− 2 Khi vi t b ng mô hình tuy n tính, mô hình hi p bi n có th mô t nh sau:
( )
Nói cách khác, mô hình trên phát bi u r ng chi u cao c a m t h c sinh b nh
h ng b i 3 y u t : đ tu i (β), thành th hay nông thôn (γ), và t ng tác gi a hai y u t
đó (δ) N u δ = 0 (t c nh h ng t ng tác không có ý ngh a th ng kê), mô hình trên
> model8 <- lm(height ~ age)
Chúng ta c ng có th so sánh c ba mô hình cùng m t lúc b ng l nh anova nh sau:
> anova(model6, model7, model8)
Analysis of Variance Table
Model 1: height ~ group + age + group:age
Model 2: height ~ group + age
Model 3: height ~ age
Res.Df RSS Df Sum of Sq F Pr(>F)
1 28 1270.44
2 29 1338.02 -1 -67.57 1.4893 0.23251
3 30 1545.95 -1 -207.93 4.5827 0.04114 *