class: center, middle, inverse, title-slide .title[ # Statystyka i wizualizacja danych ] .subtitle[ ## Testy parametryczne ] .author[ ### Jakub Nowosad
nowosad@amu.edu.pl
] --- class: inverse, middle, center # Testy parametryczne vs nieparametryczne --- ## Testy parametryczne vs nieparametryczne - Hipoteza jest to dowolna wypowiedź o rozkładzie zmiennej losowej: - **Parametryczna** - **Nieparametryczna** --- ## Testy parametryczne - większa liczba założeń do spełnienia - większa moc testów - dokładniejszy pomiar - łatwiejsza interpretowalność uzyskiwanych wyników Testami parametrycznymi są np.: - Testy t-Studenta - Analiza wariancji - Korelacja r-Pearsona - Analiza regresji --- ## Testy nieparametryczne - mniejsza liczba założeń do spełnienia - mniejsza moc testów - mniej dokładny pomiar - trudniejsza interpretowalność uzyskiwanych wyników Testami nieparametrycznymi są np.: - Test U Manna-Whitneya - Test Kruskala-Wallisa - Test niezależności chi-kwadrat - Korelacja tau-b Kendalla --- ## Testy parametryczne - Rozkład normalny mierzonych zmiennych - Zmienne muszą być mierzone na skali ilościowej --- class: inverse, middle, center # Testy istotności różnic średniej – testy parametryczne --- ## Testy t-Studenta - Służą do porównania ze sobą dwóch grup - Można wyróżnić trzy rodzaje testów **t-Studenta**: - dla prób niezależnych - dla prób zależnych - dla jednej próby --- ## Testy t-Studenta - założenia - Hipoteza zerowa: `\(H_0 : \mu_1 = \mu_2\)` - Hipotezy alternatywne: - test jednostronny `\(H_A : \mu_1 > \mu_2\)` - test dwustronny `\(H_A : \mu_1 \neq \mu_2\)` --- ## Test t-Studenta dla prób niezależnych - Dotyczy porównania ze sobą dwóch różnych grup obserwacji - Próby muszą być od siebie niezależne (wyniki pomiaru jednej grupy nie zależą od wyników pomiaru drugiej grupy) --- ## Test t-Studenta dla prób niezależnych (przykład) - test dwustronny ```r pomiary_pol = read.csv("data/pomiary_pol.csv") pomiary_pol2 = subset(pomiary_pol, prowincja %in% c("Niż Wschodniobałtycko-Białoruski", "Wyżyny Polskie")) head(pomiary_pol2) ``` ``` ## pomiar_id tmin_4 tmax_4 tmin_9 tmax_9 annual_tavg annual_precip ## 2 2 4.122184 14.35588 9.214639 19.32696 8.144152 644.7503 ## 8 8 2.656403 12.32077 8.042327 17.45611 6.614168 625.5083 ## 20 20 3.528041 13.42039 8.415737 18.41839 7.387148 544.4395 ## 22 22 3.636560 13.50256 8.553030 18.40303 7.309585 562.4307 ## 24 24 4.297906 14.19705 9.064549 18.89787 7.654198 539.5709 ## 29 29 2.769288 12.26086 8.207968 17.51594 6.660865 591.5201 ## prow_id woj_id prowincja wojewodztwo ## 2 6 13 Wyżyny Polskie świętokrzyskie ## 8 6 9 Wyżyny Polskie podkarpackie ## 20 6 3 Wyżyny Polskie lubelskie ## 22 6 3 Wyżyny Polskie lubelskie ## 24 6 3 Wyżyny Polskie lubelskie ## 29 5 10 Niż Wschodniobałtycko-Białoruski podlaskie ``` --- ## Test t-Studenta dla prób niezależnych (przykład) - test dwustronny <img src="08_parametryczne_files/figure-html/unnamed-chunk-2-1.png" style="display: block; margin: auto;" /> --- ## Test t-Studenta dla prób niezależnych (przykład) - test dwustronny ```r t.test(annual_tavg ~ prowincja, data = pomiary_pol2) ``` ``` ## ## Welch Two Sample t-test ## ## data: annual_tavg by prowincja ## t = -13.475, df = 338.76, p-value < 2.2e-16 ## alternative hypothesis: true difference in means between group Niż Wschodniobałtycko-Białoruski and group Wyżyny Polskie is not equal to 0 ## 95 percent confidence interval: ## -0.7378497 -0.5498738 ## sample estimates: ## mean in group Niż Wschodniobałtycko-Białoruski ## 6.979376 ## mean in group Wyżyny Polskie ## 7.623238 ``` --- ## Test t-Studenta dla prób niezależnych (przykład) - test jednostronny ```r t.test(annual_tavg ~ prowincja, data = pomiary_pol2, alternative = "greater") ``` ``` ## ## Welch Two Sample t-test ## ## data: annual_tavg by prowincja ## t = -13.475, df = 338.76, p-value = 1 ## alternative hypothesis: true difference in means between group Niż Wschodniobałtycko-Białoruski and group Wyżyny Polskie is greater than 0 ## 95 percent confidence interval: ## -0.7226726 Inf ## sample estimates: ## mean in group Niż Wschodniobałtycko-Białoruski ## 6.979376 ## mean in group Wyżyny Polskie ## 7.623238 ``` --- ## Test t-Studenta dla prób niezależnych (przykład) - test jednostronny ```r t.test(annual_tavg ~ prowincja, data = pomiary_pol2, alternative = "less") ``` ``` ## ## Welch Two Sample t-test ## ## data: annual_tavg by prowincja ## t = -13.475, df = 338.76, p-value < 2.2e-16 ## alternative hypothesis: true difference in means between group Niż Wschodniobałtycko-Białoruski and group Wyżyny Polskie is less than 0 ## 95 percent confidence interval: ## -Inf -0.5650509 ## sample estimates: ## mean in group Niż Wschodniobałtycko-Białoruski ## 6.979376 ## mean in group Wyżyny Polskie ## 7.623238 ``` --- ## Test t-Studenta dla prób zależnych - Dotyczy porównania ze sobą tej samej grupy obserwacji - **Próby są zależne**, czyli wynik pomiary w drugim badaniu zależy od pierwszego (dotyczy tej samej obserwacji) - Służy określeniu wielkości zmian pomiędzy pomiarami --- ## Test t-Studenta dla prób zależnych - przykład ```r library(dplyr) library(tidyr) library(ggplot2) pomiary_pol = read.csv("data/pomiary_pol.csv") head(pomiary_pol) ``` ``` ## pomiar_id tmin_4 tmax_4 tmin_9 tmax_9 annual_tavg annual_precip ## 1 1 1.796358 12.04034 6.947685 17.84769 6.533702 864.6408 ## 2 2 4.122184 14.35588 9.214639 19.32696 8.144152 644.7503 ## 3 3 3.750375 12.58249 9.513398 17.76400 7.831449 613.0326 ## 4 4 3.645718 12.19533 9.743287 17.69533 7.851240 638.0846 ## 5 5 2.788949 12.58895 7.988949 17.78588 7.296935 546.1904 ## 6 6 4.129882 14.12988 9.300000 19.10000 8.200000 555.2842 ## prow_id woj_id prowincja ## 1 2 6 Karpaty Zachodnie z Podkarpaciem Zachodnim i Północnym ## 2 6 13 Wyżyny Polskie ## 3 4 16 Niż Środkowoeuropejski ## 4 4 16 Niż Środkowoeuropejski ## 5 4 3 Niż Środkowoeuropejski ## 6 2 9 Karpaty Zachodnie z Podkarpaciem Zachodnim i Północnym ## wojewodztwo ## 1 małopolskie ## 2 świętokrzyskie ## 3 zachodniopomorskie ## 4 zachodniopomorskie ## 5 lubelskie ## 6 podkarpackie ``` --- ## Test t-Studenta dla prób zależnych - przykład ```r t.test(pomiary_pol$tmax_4, pomiary_pol$tmax_9, paired = TRUE) ``` ``` ## ## Paired t-test ## ## data: pomiary_pol$tmax_4 and pomiary_pol$tmax_9 ## t = -528.83, df = 1494, p-value < 2.2e-16 ## alternative hypothesis: true mean difference is not equal to 0 ## 95 percent confidence interval: ## -5.267092 -5.228163 ## sample estimates: ## mean difference ## -5.247628 ``` --- ## Test t-Studenta dla prób zależnych - przykład ```r pomiary_pol_l = pomiary_pol %>% select(pomiar_id, tmax_4, tmax_9) %>% pivot_longer(contains("tmax")) ggplot(pomiary_pol_l, aes(name, value)) + geom_boxplot() ``` <img src="08_parametryczne_files/figure-html/unnamed-chunk-8-1.png" style="display: block; margin: auto;" /> --- ## Test t-Studenta dla prób zależnych - przykład ```r t.test(value ~ name, data = pomiary_pol_l, paired = TRUE) ``` ``` ## ## Paired t-test ## ## data: value by name ## t = -528.83, df = 1494, p-value < 2.2e-16 ## alternative hypothesis: true mean difference is not equal to 0 ## 95 percent confidence interval: ## -5.267092 -5.228163 ## sample estimates: ## mean difference ## -5.247628 ``` <!-- ## Test t-Studenta --> <!-- https://www.biostat.wisc.edu/~kbroman/D3/ttest_power/ --> <!-- http://shiny.stat.calpoly.edu/t_Test/ --> --- class: inverse, middle, center # Testy istotności różnic wariancji – testy parametryczne --- ## Test F - Pozwala na porównywanie wariancji w dwóch grupach pomiarów - Zakłada rozkład normalny w obu grupach - Test ten może być jednostronny lub dwustronny - Dla wielu wariancji używany jest **test Levene'a** --- ## Test F - przykład ```r pomiary_pol = read.csv("data/pomiary_pol.csv") pomiary_pol2 = subset(pomiary_pol, prowincja %in% c("Niż Wschodniobałtycko-Białoruski", "Wyżyny Polskie")) var.test(annual_tavg ~ prowincja, data = pomiary_pol2) ``` ``` ## ## F test to compare two variances ## ## data: annual_tavg by prowincja ## F = 0.8629, num df = 161, denom df = 178, p-value = 0.3405 ## alternative hypothesis: true ratio of variances is not equal to 1 ## 95 percent confidence interval: ## 0.6384037 1.1690499 ## sample estimates: ## ratio of variances ## 0.8628984 ``` --- ## Test Levene’a - Porównywane grupy w testach parametrycznych powinny mieć podobne wariancje - Do weryfikacji czy zachowana jest homogoniczność wariancji w grupach stosuje się, między innymi, **test Levene"a** - `\(H_0\)` - wariancje są takie same - `\(H_A\)` - wariancje się różnią --- ## Test Levene’a - przykład ```r library(car) pomiary_pol = read.csv("data/pomiary_pol.csv") pomiary_pol2 = subset(pomiary_pol, prowincja %in% c("Niż Wschodniobałtycko-Białoruski", "Wyżyny Polskie")) leveneTest(annual_tavg ~ prowincja, data = pomiary_pol2) ``` ``` ## Warning in leveneTest.default(y = y, group = group, ...): group coerced to ## factor. ``` ``` ## Levene's Test for Homogeneity of Variance (center = median) ## Df F value Pr(>F) ## group 1 1.2277 0.2686 ## 339 ``` <!-- Test Bartleta --> <!-- - Służy do testowania czy próby pochodzą z populacji o takiej samej wariancji --> <!-- - Jest alternatywą **testu Levene'a**. Jest bardziej wrażliwy na odejścia od rozkładu normalnego. --> <!-- - `\(H_0\)` - wariancje są takie same --> <!-- - `\(H_A\)` - wariancje się różnią --> --- class: inverse, middle, center # Zadania --- ## Zadania 1. Wczytaj dane `data/pomiary_pol.csv`. Czy średnia temperatura roczna (`annual_tavg`) na Wyżynach Polskich różni się od Masywu Czeskiego? Stwórz wykres porównujący tą zmienną dla tych prowincji. 2. Określ czy różnica pomiędzy średnimi jest istotna statystycznie. 3. Sprawdź, używając testów statystycznych, czy wariancja średniej temperatury rocznej na Wyżynach Polskich różni się od Masywu Czeskiego? 4. Porównaj maksymalną temperaturę dla kwietnia oraz września. Przygotuj wykres porównujący te zmienne. 5. Określ czy różnica pomiędzy tymi pomiarami jest istotna statystycznie.