Anova 2-czynnikowa
Anova 2-czynnikowa
W Anovie 2-czynnikowej badamy 2 hipotezy. Pierwsza dotyczy ewentualnej różnicy między wynikami (score) ankiety nt. satysfakcji z pracy osób o różnej płci. Druga dotyczy ewentualnych różnic dla osob z różnym wykształceniem.
Badać możemy również trzecią - dodatkową hipotezę zerową: interakcje między czynnikami (płcią i wykształceniem).
Statystyki opisowe
Zobaczmy jak wygląda rozkład wyników - satysfakcji z pracy pracowników o różnej płci i wykształceniu.
ggplot(jobsatisfaction, aes(x=score)) +
geom_histogram(bins=10) +
facet_grid(gender~education_level)
<- ggboxplot(jobsatisfaction, x="gender",
pudelkowyy="score", color="education_level")
pudelkowy
Zerknijmy, jak wyglądają poszczególne statystyki opisowe wg grup płci i wykształcenia dla ocen z satysfakcji z pracy:
Mężczyzna.Średnie (N = 9) | Kobieta.Średnie (N = 10) | Mężczyzna.Licencjat (N = 9) | Kobieta.Licencjat (N = 10) | Mężczyzna.Mgr i wyższe (N = 10) | Kobieta.Mgr i wyższe (N = 10) | |
---|---|---|---|---|---|---|
Min | 4.78 | 4.93 | 5.58 | 5.65 | 8.70 | 6.52 |
Max | 5.94 | 6.38 | 6.74 | 7.10 | 10.00 | 9.57 |
Q1 | 5.22 | 5.51 | 6.01 | 6.23 | 9.03 | 8.04 |
Mediana | 5.51 | 5.72 | 6.30 | 6.45 | 9.20 | 8.48 |
Q3 | 5.65 | 6.05 | 6.45 | 6.78 | 9.50 | 9.06 |
Średnia | 5.43 | 5.74 | 6.22 | 6.46 | 9.29 | 8.41 |
Odch. std. | 0.36 | 0.47 | 0.34 | 0.47 | 0.44 | 0.94 |
Skośność | -0.29 | -0.12 | -0.35 | -0.13 | 0.45 | -0.58 |
Kurtoza | -1.20 | -1.30 | -0.89 | -1.30 | -1.25 | -0.81 |
Założenie
Sprawdźmy, czy mamy prawo używać Anovy parametrycznej.
Obserwacje odstające
%>%
jobsatisfaction group_by(gender, education_level) %>%
identify_outliers(score)
## [1] gender education_level id score
## [5] is.outlier is.extreme
## <0 wierszy> (lub 'row.names' o zerowej długości)
Brak obserwacji odstajÄ…cych.
Normalność
%>%
jobsatisfaction group_by(gender, education_level) %>%
shapiro_test(score)
## # A tibble: 6 x 5
## gender education_level variable statistic p
## <fct> <fct> <chr> <dbl> <dbl>
## 1 Mężczyzna Średnie score 0.980 0.966
## 2 Mężczyzna Licencjat score 0.958 0.779
## 3 Mężczyzna Mgr i wyższe score 0.916 0.323
## 4 Kobieta Średnie score 0.963 0.819
## 5 Kobieta Licencjat score 0.963 0.819
## 6 Kobieta Mgr i wyższe score 0.950 0.674
Nie ma podstaw, aby odrzucić hipotezę o normalności rozkładów ocen z satysfakcji z pracy dla każdej badanej grupy. Wyniki mają rozkłady normalne (p>0.05).
Zobaczmy, jak wyglądają wykresy normalności wg podgrup:
ggqqplot(jobsatisfaction, "score") +
facet_grid(gender~education_level)
Wszystkie punkty (odpowiedzi ankietowanych) leżą na linii referencyjnej normalności - dla każdej z podgrup, a więc możemy uznać, że rozkłady satysfakcji z pracy są normalne.
Jednorodna wariancja
%>%
jobsatisfaction levene_test(score~gender*education_level)
## # A tibble: 1 x 4
## df1 df2 statistic p
## <int> <int> <dbl> <dbl>
## 1 5 52 2.20 0.0686
p-value > 0.05, a więc stwierdzamy brak istotnej różnicy wariancji (nie możemy odrzucić hipotezy zerowej). Zatem wariancje są jednorodne.
Anova
<- jobsatisfaction %>% anova_test(score~gender*education_level) wyniki
## Coefficient covariances computed by hccm()
wyniki
## ANOVA Table (type II tests)
##
## Effect DFn DFd F p p<.05
## 1 gender 1 52 0.745 0.3920000000000000150990331
## 2 education_level 2 52 187.892 0.0000000000000000000000016 *
## 3 gender:education_level 2 52 7.338 0.0020000000000000000416334 *
## ges
## 1 0.014
## 2 0.878
## 3 0.220
W powyższej tabeli ANOVY widzimy, że istotne różnice w ocenie satysfakcji z pracy występują dla różnego poziomu wykształcenia. Dodatkowo zauważamy, że istnieją istotne interakcje między płcią a wykształceniem.
ges - oznacza uogólniony (generalized) efekt standaryzowany - czyli ilość wariancji, zróżnicowania objaśnianego przez czynnik.
Testy post-hoc
W przypadku odrzucenia hipotez zerowych w Anovie zwykle przeprowadza się tzw. testy post-hoc aby sprawdzić, co sprawiło, iż pojawia się istotna różnica między średnimi - czyli aby zobaczyć, które dokładnie z nich różnią się istotnie.
Sprawdźmy, jak dokładnie wyniki ocen satysfakcji z pracy różnią się wg poziomu wykształcenia i płci:
<- jobsatisfaction %>%
wynik2group_by(gender) %>%
tukey_hsd(score~education_level)
wynik2
## # A tibble: 6 x 10
## gender term group1 group2 null.value estimate conf.low conf.high p.adj
## * <fct> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Mężczyzna educa~ Średn~ Licen~ 0 0.797 0.341 1.25 5.59e- 4
## 2 Mężczyzna educa~ Średn~ Mgr i~ 0 3.87 3.42 4.31 3.28e-14
## 3 Mężczyzna educa~ Licen~ Mgr i~ 0 3.07 2.62 3.51 3.99e-14
## 4 Kobieta educa~ Średn~ Licen~ 0 0.722 -0.0163 1.46 5.62e- 2
## 5 Kobieta educa~ Średn~ Mgr i~ 0 2.66 1.93 3.40 4.3 e- 9
## 6 Kobieta educa~ Licen~ Mgr i~ 0 1.94 1.20 2.68 1.58e- 6
## # ... with 1 more variable: p.adj.signif <chr>
Jak widzimy powyżej, dla prawie wszystkich par średnich (dla kobiet i mężczyzn vs. wykształcenie) różnice w ocenach satysfakcji z pracy okazały się istotne (p<0.05). Dla jednej pary różnice nie są istotne (ns - non significant) - dla kobiet z wykształceniem college vs. school.
Podsumowanie
Podsumujmy testy Anova za pomocą wykresu ujmujÄ…cego razem wszystkie poziomy badanych czynnikĂłw z etykietami i podpisami.
<- wynik2 %>% add_xy_position(x="gender")
wynik2 +
pudelkowy stat_pvalue_manual(wynik2) +
labs(
subtitle=get_test_label(wyniki,detailed=TRUE),
caption=get_pwc_label(wynik2)
)
Jak widać, interakcje między czynnikami są istotne (F=7.34, p=0.002).
attach(jobsatisfaction)
interaction.plot(education_level,gender,score,type="b",col=c(2:3),leg.bty="o ",leg.bg="beige",lwd=2,pch=c(18,24) ,xlab="Wykształcenie",ylab="Satysfakcja z pracy",main="Wykres interakcji")