Jak przeprowadzić porównania parami post-hoc w r
Jednoczynnikową ANOVA stosuje się do określenia, czy istnieje statystycznie istotna różnica pomiędzy średnimi z trzech lub więcej niezależnych grup.
Jednoczynnikowa ANOVA wykorzystuje następujące hipotezy zerowe i alternatywne:
- H 0 : Wszystkie średnie grupowe są równe.
- H A : Nie wszystkie średnie grupowe są równe.
Jeśli ogólna wartość p analizy ANOVA jest poniżej pewnego poziomu istotności (np. α = 0,05), wówczas odrzucamy hipotezę zerową i stwierdzamy, że wszystkie średnie grupowe nie są równe.
Aby dowiedzieć się, które średnie grupowe są różne, możemy następnie przeprowadzić porównania parami post hoc .
Poniższy przykład pokazuje, jak wykonać następujące porównania parami post hoc w R:
- Metoda Tukeya
- Metoda Scheffa
- Metoda Bonferroniego
- Metoda Holma
Przykład: jednokierunkowa ANOVA w R
Załóżmy, że nauczyciel chce wiedzieć, czy trzy różne techniki uczenia się prowadzą do różnych wyników uczniów w testach. Aby to sprawdzić, losowo przydziela 10 uczniów do stosowania każdej techniki uczenia się i rejestruje wyniki ich egzaminów.
Możemy użyć następującego kodu w języku R, aby wykonać jednokierunkową analizę ANOVA w celu sprawdzenia różnic w średnich wynikach egzaminów pomiędzy trzema grupami:
#create data frame df <- data.frame(technique = rep(c(" tech1 ", " tech2 ", " tech3 "), each= 10 ), score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89, 81, 82, 83, 83, 83, 84, 87, 90, 92, 93, 77, 78, 79, 88, 89, 90, 91, 95, 95, 98)) #perform one-way ANOVA model <- aov(score ~ technique, data = df) #view output of ANOVA summary(model) Df Sum Sq Mean Sq F value Pr(>F) technical 2 211.5 105.73 3.415 0.0476 * Residuals 27 836.0 30.96 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Ogólna wartość p ANOVA (0,0476) jest mniejsza niż α = 0,05, zatem odrzucimy hipotezę zerową, że średni wynik egzaminu jest taki sam dla każdej techniki badania.
Możemy przeprowadzić porównania parami post hoc, aby określić, które grupy mają różne średnie.
Metoda Tukeya
Najlepiej jest zastosować metodę post hoc Tukeya, gdy liczebność próby w każdej grupie jest równa.
Możemy użyć wbudowanej funkcji TukeyHSD() do wykonania metody post-hoc Tukeya w R:
#perform the Tukey post-hoc method TukeyHSD(model, conf. level = .95 ) Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = score ~ technique, data = df) $technical diff lwr upr p adj tech2-tech1 4.2 -1.9700112 10.370011 0.2281369 tech3-tech1 6.4 0.2299888 12.570011 0.0409017 tech3-tech2 2.2 -3.9700112 8.370011 0.6547756
Z wyniku widzimy, że jedyna wartość p („ p adj ”) mniejsza niż 0,05 stanowi różnicę między techniką a techniką 3.
Można zatem stwierdzić, że istnieje jedynie statystycznie istotna różnica w średnich wynikach egzaminów pomiędzy uczniami, którzy stosowali Technikę 1 i Technikę 3.
Metoda Scheffa
Metoda Scheffe’a jest najbardziej konserwatywną metodą porównywania parami post hoc i daje najszersze przedziały ufności przy porównywaniu średnich grupowych.
Możemy użyć funkcji ScheffeTest() z pakietu DescTools , aby uruchomić metodę post-hoc Scheffe w R:
library (DescTools)
#perform the Scheffe post-hoc method
ScheffeTest(model)
Posthoc multiple comparisons of means: Scheffe Test
95% family-wise confidence level
$technical
diff lwr.ci upr.ci pval
tech2-tech1 4.2 -2.24527202 10.645272 0.2582
tech3-tech1 6.4 -0.04527202 12.845272 0.0519 .
tech3-tech2 2.2 -4.24527202 8.645272 0.6803
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1'''156
Z wyników widać, że nie ma wartości p mniejszych niż 0,05, zatem można stwierdzić, że nie ma statystycznie istotnej różnicy w średnich wynikach egzaminów pomiędzy grupami.
Metoda Bonferroniego
Metodę Bonferroniego najlepiej zastosować, gdy chcemy wykonać zbiór zaplanowanych porównań parami.
Możemy użyć następującej składni w R, aby wykonać metodę post hoc Bonferroniego:
#perform the Bonferroni post-hoc method
pairwise. t . test (df$score, df$technique, p. adj = ' bonferroni ')
Pairwise comparisons using t tests with pooled SD
data: df$score and df$technique
tech1 tech2
tech2 0.309 -
tech3 0.048 1.000
P value adjustment method: bonferroni
Z wyniku widzimy, że jedyną wartością p mniejszą niż 0,05 jest różnica między techniką a techniką 3.
Można zatem stwierdzić, że istnieje jedynie statystycznie istotna różnica w średnich wynikach egzaminów pomiędzy uczniami, którzy stosowali Technikę 1 i Technikę 3.
Metoda Holma
Metodę Holma stosuje się również wtedy, gdy chce się wcześniej wykonać zestaw zaplanowanych porównań parami, a ma ona zazwyczaj jeszcze większą moc niż metoda Bonferroniego, dlatego jest często preferowana.
Możemy użyć następującej składni w R, aby uruchomić metodę post-hoc Holma:
#perform the Holm post-hoc method
pairwise. t . test (df$score, df$technique, p. adj = ' holm ')
Pairwise comparisons using t tests with pooled SD
data: df$score and df$technique
tech1 tech2
tech2 0.206 -
tech3 0.048 0.384
P value adjustment method: holm
Z wyniku widzimy, że jedyną wartością p mniejszą niż 0,05 jest różnica między techniką a techniką 3.
Zatem ponownie doszlibyśmy do wniosku, że istnieje jedynie statystycznie istotna różnica w średnich wynikach egzaminów pomiędzy uczniami, którzy stosowali Technikę 1 i Technikę 3.
Dodatkowe zasoby
Poniższe samouczki zawierają dodatkowe informacje na temat analizy ANOVA i testów post-hoc:
Jak interpretować wartość F i wartość P w ANOVA
Kompletny przewodnik: Jak zgłaszać wyniki ANOVA
Tukey vs. Bonferroni vs. Scheffe: Którego testu należy użyć?