# Materialy do zajec z testowania hipotez # http://www.biecek.pl/semestr/stats # # --------------------------------------------------------------- # przyklad 1 # wybory prezydenckie # przedyskutowac pojecia: hipoteza prosta, zlozona, zerowa, alternatywna # statystyka testowa dostateczna, zupelna glosy <- read.table("http://semestr.pl/cogito/stats/wybory.txt") summary(glosy) # ile osob glosowalo na LK? sum(glosy=="LK")/dim(glosy)[1] # hipoteza zerowa H_0 : rzeczywista preferencja w populacji to 50% na 50% # hipoteza alternatywna: jeden z kandydatow ma istotna statystycznie przewage # rozklad statystyki testowej x <- 1:1234 plot(x, dbinom(x,1234,0.5)) # obszar krytyczny qbinom(c(0.025,0.975), 1234, 0.5) # wykorzystajmy test proporcji prop.test(sum(glosy=="LK"), dim(glosy)[1]) # co by bylo gdyby te proporcje utrzymaly sie na trzykrotnie wiekszej probie? prop.test(3*sum(glosy=="LK"), 3*dim(glosy)[1]) # --------------------------------------------------------------- # przyklad 2 # cudowne lekarstwo na wolne rodniki # przedyskutowac pojecia: hipoteza prosta, zlozona, zerowa, alternatywna rodniki <- read.table("http://semestr.pl/cogito/stats/rodniki.txt") summary(rodniki) attach(rodniki) mean(zmiana[grupa=="placebo"]) mean(zmiana[grupa!="placebo"]) # test 1: czy jest roznica przed i po? t.test(przed[grupa=="placebo"], po[grupa=="placebo"], alternative="two.sided", paired=T) t.test(przed[grupa!="placebo"], po[grupa!="placebo"], alternative="two.sided", paired=T) # czy jest roznica w tempie zmian stezenia rodnikow t.test(zmiana[grupa=="placebo"],zmiana[grupa!="placebo"],alternative="less") # czy jest roznica w wariancji obu grup var.test(zmiana[grupa=="placebo"],zmiana[grupa!="placebo"]) # --------------------------------------------------------------- # przyklad 3 # dlugosc zycia # test jednostronny, dwustronny # testy rangowe i nieparametryczne dlugZycia <- read.table("http://semestr.pl/cogito/stats/dlugZycia.txt") mezczyzni <- dlugZycia$wiek[dlugZycia$plec=="mezczyzna"] kobiety <- dlugZycia$wiek[dlugZycia$plec=="kobieta"] mean(mezczyzni) mean(kobiety) boxplot(wiek~plec,dlugZycia) t.test(mezczyzni, kobiety, var.equal = F) wilcox.test(mezczyzni, kobiety) t.test(mezczyzni[-1], kobiety[-1], var.equal = F) # --------------------------------------------------------------- # test zgodnosci rozkladow x <- rnorm(50) y <- runif(30) ks.test(x, y) ks.test(x+2, "pgamma", 3, 2) # --------------------------------------------------------------- # test chi2 czy.kobieta <- factor(rbinom(200,1,0.5)) levels(czy.kobieta) <- c("mezczyzna","kobieta") czy.leworeczna <- factor(rbinom(200,1,0.1)) levels(czy.leworeczna) <- c("praworeczni","leworeczni") t.kont <- table(czy.kobieta, czy.leworeczna) t.kont chisq.test(t.kont)