15 Testy nieparametryczne
- Nie wymagają spełnienia założenia o normalności rozkładu (w przeciwieństwie do metod parametrycznych, które zakładają, że dane są ilościowe, populacja posiada rozkład normalny, a próba ma odpowiednią wielkość)
- Wnioski wysunięte na podstawie testów nieparametrycznych nie mają tak dużej mocy jak testu parametryczne (zazwyczaj)
- Wymagają spełnienia mniejszej liczby założeń, są bardziej elastyczne oraz można je stosować również do danych nieilościowych
- Są oparte o analizę rang (czyli o kolejność a nie aktualne wartości)
- Dane w porównywanych grupach są porządkowane (rosnąco lub malejąco) i na tej podstawie są wykonywane obliczenia
- Metody nieparametryczne są najbardziej odpowiednie w przypadku prób o małych liczebnościach (patrz Centralne Twierdzenie Graniczne), zazwyczaj jako górną granicę stosowania testów nieparametycznych przyjmuje się n=100
library(gapminder)
library(dplyr)
library(tidyr)data('gapminder', package = 'gapminder')15.1 Test U Manna-Whitneya
- Nieparametryczna alternatywa testu t-Studenta dla prób niezależnych
- Stosowany, gdy rozkład w populacji odbiega od normalnego lub gdy skala jest porządkowa, ale nie jest przedziałowa
- Moc testu jest znaczaco większa od testu t-Studenta, gdy rozkład odbiega wyraźnie od normalnego
gapminder2007 = subset(gapminder, year == 2007)
head(gapminder2007)# A tibble: 6 × 6
country continent year lifeExp pop gdpPercap
<fct> <fct> <int> <dbl> <int> <dbl>
1 Afghanistan Asia 2007 43.8 31889923 975.
2 Albania Europe 2007 76.4 3600523 5937.
3 Algeria Africa 2007 72.3 33333216 6223.
4 Angola Africa 2007 42.7 12420476 4797.
5 Argentina Americas 2007 75.3 40301927 12779.
6 Australia Oceania 2007 81.2 20434176 34435.
Przykład: Czy pomiędzy Amerykami a Azją jest istotna statystycznie różnica w wartościach PKB na osobę?
gapminder2007_sel = filter(gapminder2007,
continent %in% c("Asia", "Americas"))wilcox.test(gdpPercap ~ continent, data = gapminder2007_sel)
Wilcoxon rank sum exact test
data: gdpPercap by continent
W = 486, p-value = 0.2539
alternative hypothesis: true location shift is not equal to 0
Wynik testu wskazuje na brak istotnych statystycznie różnic w PKB między Azją a Amerykami w 2007 roku.
Porównaj wartości oczekiwanej długości życia pomiędzy Afryką a Azją w 2007 roku. Stwórz wizualizację, a następnie wykonaj test statystyczny. Jaki dał on wynik?
Rozwiązanie:
Wynik testu wskazuje na istnieie istotnych statystycznie różnic w długości trwania życia między Azją a Afrryką w 2007 roku.
gapminder2007_sel = filter(gapminder, year == 2007 & continent %in% c("Africa", "Asia"))
ggplot(gapminder2007_sel, aes(x = continent, y = lifeExp)) + geom_boxplot() + theme_bw()
wilcox.test(lifeExp ~ continent, data = gapminder2007_sel)15.2 Test Wilcoxona
- Nieparametryczna alternatywa testu t-Studenta dla prób zależnych
- Test wykorzystywany jest do oceny zmian
- Test Wilcoxona zakłada, że losowa próba z populacji ma symetryczny rozkład (niekoniecznie normalny)
Przykład: Czy pomiędzy rokiem 1987 a 2007 nastąpiła istotnie statystyczna zmiana w wartościach oczekiwanej długości życia?
gapminder8707 <- gapminder %>%
filter(year %in% c(1987, 2007)) %>%
select(country, year, lifeExp) %>%
pivot_wider(values_from = lifeExp,
names_from = year) %>%
setNames(c("kraj", "rok1987", "rok2007"))
head(gapminder8707)# A tibble: 6 × 3
kraj rok1987 rok2007
<fct> <dbl> <dbl>
1 Afghanistan 40.8 43.8
2 Albania 72 76.4
3 Algeria 65.8 72.3
4 Angola 39.9 42.7
5 Argentina 70.8 75.3
6 Australia 76.3 81.2
wilcox.test(gapminder8707$rok1987,
gapminder8707$rok2007,
paired = TRUE)
Wilcoxon signed rank test with continuity correction
data: gapminder8707$rok1987 and gapminder8707$rok2007
V = 1441, p-value = 1.337e-13
alternative hypothesis: true location shift is not equal to 0
Interpretacja: Wartość p-value wynosi 1.337e-13 i jest mniejsza od założonego progu. Istnieją zatem istotne statystycznie różnice w długości trwania życia między rokiem 1987 a 2007.
Porównaj PKB na osobę pomiędzy krajami z Europy pomiędzy rokiem 1977 a 1987. Czy pomiędzy tymi latami można zauważyć różnicę w PKB? Stwórz wizualizację, a następnie wykonaj test statystyczny. Jaki dał on wynik?
Rozwiązanie:
Wartość p-value wynosi 9.313e-09 i jest mniejsza od założonego progu. Istnieją zatem istotne statystycznie różnice w PKB krajów Europy między rokiem 1977 a 1987.
gapminder7787 <- gapminder %>%
filter(year %in% c(1977, 1987) & continent == 'Europe') %>%
select(country, year, gdpPercap)
# wizualizacja
ggplot(gapminder7787, aes(x = factor(year), y = gdpPercap)) + geom_boxplot()
# format danych użyty w teście
gapminder7787wide <- gapminder7787 %>%
pivot_wider(values_from = gdpPercap,
names_from = year) %>%
setNames(c("kraj", "rok1977", "rok1987"))
#test
wilcox.test(gapminder7787wide$rok1977,
gapminder7787wide$rok1987,
paired = TRUE)