S t a t y s t y k a, część 3 Michał Żmihorski
Porównanie średnich -test T Założenia: Zmienne ciągłe (masa, temperatura) Dwie grupy (populacje) Rozkład normalny* Równe wariancje (homoscedasticity) w grupach Pomiary niezależne (osobne replikacje) Losowe próbkowanie
Porównanie średnich -test T Cel: Sprawdzić, czy średnie wartości cech w dwóch grupach są takie same
Test T -procedura 1. Ocena wizualna rozkładów (histogram, gęstość), 2. Ocena niezależności pomiarów 3. Test równości wariancji 4. Test T
Porównanie średnich -przykłady a<-rnorm(150,14,2) b<-rnorm(150,18,2) par(mfrow=c(2,1)) hist(a,xlim=c(10,24)) hist(b,xlim=c(10,24))
Test T Równość wariancji ai b (test FFisher a) var.test(a,b)
Test T t.test(a,b,var.equal=t, paired=f) Two Sample t-test data: a and b t = -17.2393, df = 298, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -4.378884-3.481574 sample estimates: mean of x mean of y 13.88980 17.82003
Test T Two Sample t-test data: a and b t = -17.2393, df = 298, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -4.378884-3.481574 sample estimates: mean of x mean of y 13.88980 17.82003
Test T Two Sample t-test data: a and b t = -17.2393, df = 298, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -4.378884-3.481574 sample estimates: mean of x mean of y 13.88980 17.82003
Test T Two Sample t-test data: a and b t = -17.2393, df = 298, p-value < 2.2e-16 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: -4.378884-3.481574 sample estimates: mean of x mean of y 13.88980 17.82003
Test T Interpretacja: Średnia masa ciała w dwóch populacjach jest różna (p-value < 2.2e-16) Ale pomiary mogą nachodzić na siebie! sarny2<-read.table(c:\\sarny2.txt)
sarny2
plotmeans(sarny2$masa,sarny2$pop,error.bars="conf.int", main="porównanie średnich")
95%CI dla średniej Przedział, w którym na 95% znajduje się średnia z populacji* Różnica jest istotna gdy 95%CI dla dwóch średnich na siebie nie nachodzą * Przy założeniu normalności rozkładu i losowego próbkowania
Test T
Test T
Test T Mimo istotnych różnic pomiary mają (duże) pole wspólne Trudno na podstawie masy wskazać populację Morał: co innego tendencje ogólne, a co innego poszczególne przypadki Morał 2: co innego bardzo istotneróżnice, a co innego bardzo duże różnice
Duże różnice vs. istotne różnice p1<-rnorm(10000,15,1) p2<-rnorm(10000,15.015,1) t.test(p1,p2) P=0.001 Różnice małe ale istotne
Test T dla par wiązanych Założenia: Zmienne ciągłe (masa, temperatura) Dwie grupy (populacje) Rozkład normalny* Równe wariancje (homoscedasticity) w grupach Pomiary zależne (pary replikacji) Losowe próbkowanie Wektory o tej samej długości
Pomiary zależne (pary replikacji) Układ before-after Dwa pomiary dla tych samych jednostek (osobników, powierzchni) Przykłady: Masa saren przed i po dokarmianiu Liczba ptaków na jeziorach przed i po ekspansji norki
Test T dla par wiązanych Wiązanie par wyklucza zmienność między parami Jeżeli jest duża wariancja między parami to wiązany i zwykły dają zupełnie inne wyniki! Ale wiązany jest właściwy
Test T dla par wiązanych Testujemy hipotezę zerową: prawdziwa różnica w średnich = 0 (czyli różnice są przypadkowe) Istotność testu oznacza, że różnica 0 (czyli, że jest jakaś zmiana wartości cechy)
Test T dla par wiązanych -przykład k1<-rnorm(100,5,15) k2<-k1+0.01 t.test(k1,k2,paired=f) t.test(k1,k2,paired=t) > head(k1) -7.946815-26.422174 9.049426 30.875262 19.573002 t.test(k1,k2,paired=f) 20.421502 Welch Two Sample t-test data: k1 and k2 t = -0.0049, df = 198, p-value = 0.9961 t.test(k1,k2,paired=t) Paired t-test data: k1 and k2 t = -1.184462e+14, df = 99, p-value < 2.2e-16
Test T dla par wiązanych t.test(sarny2$masa~sarny2$pop,paired=t) Ale to nie są pary wiązane!
Test T dla par wiązanych -wizualizacja
Test T dla par wiązanych -wizualizacja
Test T -nienormalność Nienormalność cech w grupach zmniejsza wiarygodność wnioskowania dot. p-value Rośnie 95%CI dla średnich Istotne różnice stają się nieistotne Kilka odstających wyników psuje analizę
Test T -nienormalność liczebnosc plot 1 a 2 a 3 a 1 a 2 a 3 a 1 a 2 a 3 a 2 a 3 a 1 a 2 a 3 a 1 a 3 b 1 b 2 b 3 b 1 b 2 b 3 b 2 b 3 b 1 b 2 b 3 b 1 b 2 b 100 b
Test T transformacja danych = normalizacja Przekształcamy dane (z obu grup!) Ponownie wrzucamy do analizy
Najczęstsze transformacje Logarytm Pierwiastek Odwrotność Potęga
Test T transformacja danych liczebnosc plot 1 a 2 a 3 a 1 a 2 a 3 a 1 a 2 a 3 a 2 a 3 a 1 a 2 a 3 a 1 a 3 b 1 b 2 b 3 b 1 b 2 b 3 b 2 b 3 b 1 b 2 b 3 b 1 b 2 b 100 b t.test(log(kk$liczebnosc)~kk$plot)
Nieparametryczna alternatywa testu T Jak dane trudno normalizować Rangi zamiast pomiarów oryginalnych Test Manna-Whitney a=test U = Test Wilcoxona Testuje czy dwie próby pochodzą z tego samego rozkładu (nie różnicę średnich!)
Nieparametryczna alternatywa testu T wilcox.test(sarny2$masa~sarny2$pop,paired=f)...paired=t) Wilcoxon signed rank test with continuity correction data: sarny2$masa by sarny2$pop data: sarny2$masa by sarny2$pop V = 0, p-value < 2.2e-16 alternative hypothesis: true location shift is not equal to 0
Parametryczne vs. nieparametryczne Par. mocniejsze Par. parametryczne Par. łatwiejsze do interpretacji biologicznej Par. niewiarygodne dla nienormalnych danych Npar. mniej wrażliwe Npar. też mają swoje założenia
Korelacja Dwie zmienne ciągłe Rozkłady normalne Pomiary niezależne (osobne replikacje) Losowe próbkowanie
Korelacja Cel: sprawdzić czy istnieje zależność (korelacja) między dwoma cechami* * zakładamy liniową zależność lub zbliżoną innej nie wykryjemy w ten sposób
s1<-rnorm(30,3,1) s2<-rnorm(30,3,1) plot(s1,s2) Korelacja
Korelacja dopasowanie liniowe s1<-rnorm(30,3,1) s2<-rnorm(30,3,1) plot(s1,s2) abline(lm(s2~s1))
Dopasowanie minimalizujące odchylenia
Korelacja -interpretacja Wielkość korelacji określa współczynnik korelacji r rwaha się od -1 do +1 r=0 oznacza brak korelacji (brak związku między zmiennymi) r>0 korelacja dodatnia (im więcej tym więcej) r<0 korelacja ujemna (im więcej tym mniej)
Korelacja -interpretacja cor(s1,s2) -0.1809979 Zależność ujemna, ale czy w ogóle jest zależność???
Korelacja -interpretacja cor.test(s1,s2) Pearson's product-moment correlation data: s1 and s2 t = -0.9738, df = 28, p-value = 0.3385 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.5081328 0.1917767 sample estimates: cor -0.1809979
Korelacja -interpretacja cor.test(s1,s2) Pearson's product-moment correlation data: s1 and s2 t = -0.9738, df = 28, p-value = 0.3385 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.5081328 0.1917767 sample estimates: cor -0.1809979
Korelacja -interpretacja cor.test(s1,s2) Pearson's product-moment correlation data: s1 and s2 t = -0.9738, df = 28, p-value = 0.3385 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: -0.5081328 0.1917767 sample estimates: cor -0.1809979
Korelacja vs. przyczynowość Nie precyzujemy związku przyczynowoskutkowego Nie wskazujemy przyczyny i skutku Korelacja nie jest dowodem na przyczynowość
t = 4.5671, df = 312, p-value = 7.127e-06
Korelacja -przykład scatterplot(sarny2$masa,sarny2$area)
Korelacja vs. regresja Regresja = korelacja W regresji mamy przyczynowość Nie jest obojętne miejsce xi y Regresja parametryzuje zależność Jest to model, czyli opis funkcjonowania rzeczywistości
Regresja lm(s1~s2) lm(linear model) ~ czyli zależność (tu: s1zależy od s2)
Regresja summary(lm(s1~s2))
Effect size! Pokazuje jak duże są różnice
Korelacja nieparametryczna Korelacja rangowa Spearmana cor.test(s1,s2,method="spearman")
Korelacja-nienormalność a1 a2 1 7 2 6 3 5 4 4 5 3 6 2 7 1 1 7 2 6 3 5 4 4 5 3 6 2 7 1 4 4 5 3 6 2 7 1 1 7 2 6 3 5 1000 1000
Korelacja-nienormalność cor.test(corr$a1,corr$a2,method="spearman") Spearman's rank correlation rho data: corr$a1 and corr$a2 S = 3072.578, p-value = 9.784e-05 alternative hypothesis: true rho is not equal to 0 sample estimates: rho -0.7349398
Korelacja-nienormalność Pearson's product-moment correlation data: corr$a1 and corr$a2 t = 237.3911, df = 20, p-value < 2.2e-16 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: 0.9995640 0.9999278 sample estimates: cor 0.9998226
cor.test(log(corr$a1),log(corr$a2),method="pearson") Pearson's product-moment correlation data: log(corr$a1) and log(corr$a2) data: log(corr$a1) and log(corr$a2) t = 3.3484, df = 20, p-value = 0.0032 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: 0.2378443 0.8150130 sample estimates: cor 0.5993515
Asocjacja tabele liczności korelacja na kategoriach Tabele krzyżowe Liczba przypadków (nie wartości pomiarów!) w każdym okienku
Asocjacja -przykład Cel: sprawdzić czy przypadki rozkładają się losowo w grupach
Rozkład teoretyczny 10 0 10 0 10 10 10 10 20 Rozkład teoretyczny przy braku asocjacji: 10*10/20=5 5 5 10 5 5 10 10 10 20 Sprawdzamy jak duża (czy istotna) jest różnica między rozkładami testem Chi-kwadrat (χ2)
Asocjacja -przykład Czy płeć wpływa na preferencję środowiskową saren? table(sarny2$pop,sarny2$sex) f m las 51 99 pole 100 50
Asocjacja -przykład chisq.test(table(sarny2$pop,sarny2$sex)) Pearson's Chi-squared test data: table(sarny2$pop, sarny2$sex) X-squared = 32.0148, df = 1, p-value = 1.53e-08
Stopnie swobody Chi=4.0, df=1 istotny Chi=4.0, df=1 istotny Chi=4.0, df=6 nieistotny
uwagi
t.test Test t jak nierówne wariancje: t.test(a,b,var.equal=f, paired=f) Ustawienia domyślne: brak paired=f w kodzie nic nie zmienia
korelacja
boxplotvs. plotmeans 1.5*box 50% rekordów median
Wyniki nieistotne Brak różnic Słaby test Wnioskiem nie jest brak różnic (!) tylko brak dowodu na różnice Problem wielkości próby (Power analysis!)