Príklad 1: hádzanie kockou z youtube streamu.

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í.

Príklad 2: dáta z Weldonových pokusov s kockou

Použite chisq.test na dáta z Weldonovych pokusov z prednášky.

Príklad 3: testovanie rozdelenia

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.

Príklad 4: testovanie normálneho rozdelenia

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?

Príklad 5: testovanie zhody dvoch rozdelení

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é.