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ć?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *