# Materialy do zajec z testowania hipotez - najpopularniejsze testy # http://www.biecek.pl/semestr/stats # # co mozna sprawdzac? # rozklad statystyki testowej n1 = 30 n2 = 30 m = 10000 statystyka = NULL for (i in 1:m) { x1 = rnorm(n1) x2 = rnorm(n2) statystyka[i] = t.test(x1,x2)$statistic } h = hist(statystyka,64) # jaki rozklad to przypomina? lines(h$breaks, dnorm(h$breaks, mean(statystyka), sd(statystyka))*m*(h$breaks[2] - h$breaks[1]), lwd=3,col="black") lines(h$breaks, dt(h$breaks, (n1+n2-1)/2)*m*(h$breaks[2] - h$breaks[1]), lwd=3, col="red") # wartosc krytyczna dla poziomu alpha alpha = 0.05 quantile(statystyka,1 - alpha) quantile(statystyka,c(alpha/2, 1 - alpha/2)) # rozklad statystyki p-wartosci for (i in 1:m) { x1 = rnorm(n1) x2 = rnorm(n2) statystyka[i] = t.test(x1,x2)$p.value } hist(statystyka) # jaki rozklad to przypomina? # empiryczny poziom bledu pierwszego rodzaju mean(statystyka < alpha) # empiryczna moc testu m1 = 0 m2 = 0.7 for (i in 1:m) { x1 = rnorm(n1) + m1 x2 = rnorm(n2) + m2 statystyka[i] = t.test(x1,x2)$p.value } mean(statystyka < alpha) # --------------------------------------------------------------- # test na rownosc srednich (zalozenie -> wariancje sa rowne) x1 = rnorm(n1,0,1) x2 = rnorm(n2,1,1) t.test(x1,x2) # implementacja w R: ?t.test ?wilcox.test # --------------------------------------------------------------- # test na rownosc wariancji x1 = rnorm(n1,0,1) x2 = rnorm(n2,1,2) var.test(x1,x2) # implementacja w R: ?var.test # --------------------------------------------------------------- # test zgodnosci # zgodnosc obserwacji z zadanym rozkladem ciaglym x1 = rexp(n1) ks.test(x1,"pexp") ks.test(x1,"pnorm") shapiro.test(x1) # implementacja w R: ?ks.test ?chisq.test ?shapiro.test # --------------------------------------------------------------- # test serii i testy niezaleznosci oceny1 = 2 + floor(runif(n1,0,3)) oceny2 = 2 + floor(runif(n1,0,3)) sign.test(oceny1, oceny2) chisq.test(table(oceny1, oceny2)) # implementacja w R: ?sign.test(BSDA) ?chisq.test