Uvažujme hádzanie kockou
z
videa uvedeného v slajdoch z prednášky. Testujte zhodu s rovnomerným
rozdelením pomocou funkcie chisq.test. Dokumentáciu k
funkcii v R môžeme získať pomocou otáznika s názvom funkcie v
konzole:
?chisq.test
Doplňte parametre tejto funkcie:
chisq.test(x = , p = )
Výstup na kontrolu (časť kocky sa môže líšiť v
závislosti od použitého označenia premennej):
##
## Chi-squared test for given probabilities
##
## data: kocky
## X-squared = 3.582, df = 5, p-value = 0.611
Štatistiku porovnajte s ručne vypočíanou hodnotou na poslednom cvičení.
Použite chisq.test na dáta z Weldonovych pokusov
z
prednášky.
Pripomeňme si, že Kolmogorovov-Smirnovov test (ks.test v
R) testuje zhodu dát s konkrétnym zadaným rozdelením, ktorého parametre
neboli odhadované.
Pri simuláciách nasledovného príkladu vznikla hypotéza o rovnomernom rozdelení na intervale (−1,1).
Náhodné premenné X, Y sú nezávislé a každá z nich má exponenciálne rozdelenie s tou istou strednou hodnotou. Zvoľte si niekoľko (2-3) hodnôt pre túto spoločnú strednú hodnotu náhodných premenných. Zistite (t. j. vyslovte na základe simulácií hypotézu), aké rozdelenie má náhodná premenná \(\frac{X−Y}{X+Y}\).
n <- 10000
lambda <- 5
set.seed(123)
x <- rexp(n, rate = 1/lambda)
y <- rexp(n, rate = 1/lambda)
data <- (x - y)/(x + y)
hist(data)
Testujte túto hypotézu pomocou Kolmogorovovho-Smirnovovho testu.
Pripomeňme si, že Lillieforsov test (lillie.test z
balíka nortest) testuje zhodu dát s normálnym rozdelením,
ktorého parametre nepoznáme.
Nainštalujte knižnicu ipsRdbs, z ktorej budeme používať
dáta na testovanie. Budeme pracovať s dátami bodyfat:
library(ipsRdbs)
data(bodyfat)
str(bodyfat) # struktura objektu
## 'data.frame': 102 obs. of 2 variables:
## $ Skinfold: num 44.5 41.8 33.7 50.9 40.5 51.2 54.4 52.3 57 65.3 ...
## $ Bodyfat : num 8.47 7.68 6.16 8.56 6.86 ...
head(bodyfat) # zaciatok dat
## Skinfold Bodyfat
## 1 44.5 8.47
## 2 41.8 7.68
## 3 33.7 6.16
## 4 50.9 8.56
## 5 40.5 6.86
## 6 51.2 9.40
Pozrite si ich popis pomocou ?bodyfat. Budeme pracovať
so stĺpcom Skinfold. Dáta sú v objekte typu data
frame, takže k tomuto stĺpcu sa dostaneme pomocou dolára:
bodyfat$Skinfold
Histogram:
hist(bodyfat$Skinfold)
Otestujte, či majú tieto dáta normálne rozdelenie. Potom zobrazte histogram ich logaritmov a otestujte ich normalitu. Ako sa zhoduje výsledok testu s histogramom testovaných hodnôt?
Zhodu dvoch rozdelení testuje dvojvýberový Kolmogorovov-Smirnovov
test, znovu ks.test v R.
Použujeme dáta ffood z toho istého balíka.
data(ffood)
str(ffood)
## 'data.frame': 10 obs. of 2 variables:
## $ AM: int 38 100 64 43 63 59 107 52 86 77
## $ PM: int 45 62 52 72 81 88 64 75 59 70
head(ffood)
## AM PM
## 1 38 45
## 2 100 62
## 3 64 52
## 4 43 72
## 5 63 81
## 6 59 88
Prečítajte si pomocou ?ffood vysvetlenie premenných a
potom otestujte hypotézu, že pravdepodobnostné rozdelenie času čakania v
časoch 9:00-10:00 a 14:00-15:00 je rovnaké.