NMFM301, ZS 2024/25

Cvičenie 8 (praktická časť 2)

(Popisné charakteristiky a jednoduché štatistické testy)

Zdrojový soubor pro Knit: Rmd soubor



Úvod/Intro

Cieľom druhého praktického cvičenia je skúsiť si jednoduchú prácu s reálnymi datovými súbormi – t.j., jednoduchá analýza jednoduchého datasetu v programe R a aplikácia základných štatistických metód (napr. počítanie jednoduchých výberovýchcharakteristík, konštrukcia intervalov spoľahlivosti pre neznámy parameter, alebo štatistické testy konkrétnej nulovej hypotézy o neznámom parametri v danom modeli).

V programe R je k dispozícii množstvo rôznych datových súborov, ktorých zoznam získame pomocou príkazu data(). Ďalšie datové súbory sa získajú nainštalovaním dodatočných/rozširujúcich Rkových knižníc (baličkov – packages). Okrem takýchto vzorových datových súborov je možné do programu R načítať aj vlastné súbory (vpodstate ľubovolného typu, napr. xls súbor, alebo csv a txt tabulky, alebo aj načítať data priamo z databázy SQL, alebo z internetového zdroja).

Užitočné materiály pre prácu so štatistickým softwarom R

  • Bína, V., Komárek, A. a Komárková, L.: Jak na jazyk R. (PDF súbor)
  • Komárek, A.: Základy práce s R. (PDF súbor)
  • Kulich, M.: Velmi stručný úvod do R. (PDF súbor)
  • De Vries, A. a Meys, J.: R for Dummies. ISBN-13: 978-1119055808 (link na PDF súbor)




I. Kvantilový diagram

Pre ľubovoľný náhodný výběr \(X_1,\ldots,X_n\) z nejakého rozdělení \(F_X\) používame kvantilový diagram ako neformálnu grafickú metódu slúžiacu k porovnaniu neznámeho rozdělení \(F_X\) s hypotetickým rozdělením \(F_0\) (napr. v prípade potreby overiť predpoklad normality je \(F_0\) štandardne Gaussovo rozdelenie \(N(0,1)\)).

Na os \(y\) sa vykreslia pořádkové statistiky \(X_{(i)}\), pro \(i = 1, \dots, n\). Na os \(x\) se vynášejí aproximace střední hodnoty pořádkových statistik rozdělení \(F_0\), tj. \(F_0^{-1}\bigl(\frac{i}{n+1}\bigr)\) [proč zrovna tohle?].

Jestliže data pocházejí z rozdělení \(F_0\), vykreslené body leží přibližně na přímce \(y=x\). Jestliže data pocházejí z lineární transformace rozdělení \(F_0\), vykreslené body stále leží přibližně na přímce (ale jiné než \(y=x\)). Jestliže data pocházejí z rozdělení odlišného od \(F_0\), vykreslené body tvoří rostoucí křivku. Z tvaru této křivky dokážeme poznat, v čem se rozdělení dat liší od \(F_0\).

V programe R se dá porovnávat rozdělení dat s rozdělením N(0,1) pomocí funkce qqnorm(). Argumentem funkce je vektor obsahující náhodný výběr.

Vygenerujme 50 pozorování z rozdělení N(10,4) a namalujme normální kvantilový diagram:

set.seed(1234)
x <- rnorm(50,10,2)
qqnorm(x, pch = 21, bg = "red")
qqline(x) ### qq -- ako "quartile-quartile" (prvy a treti kvartil)

Funkce qqline() namaluje přímku procházející dolním a horním výběrovým kvartilem dat, která usnadnuje čtení grafu.

Nyní vygenerujme 50 pozorování z rozdělení Exp(0.4) a namalujme opět normální kvantilový diagram:

x <- rexp(50,0.4)
qqnorm(x, pch = 21, bg = "red")
qqline(x)

Poznali by ste, že data nepocházejí z normálního rozdělení? Akými ďalšími vizuálnymi nástrojmi a prostriedkami by sme mohli overovať teoretický predpoklad normálneho rozdelenia náhodného výberu \(X_1, \dots, X_n\)?

Pokúste sa vzájomne porovnať výpovednú hodnotu jednotlivých vizuálnych nástrojov, ktoré môžeme použíť pre overenie normality (napr. histogram, odhad hustoty, odhad distribučnej funkcie, až po rózne inferenčné nástroje – napr. štatistické testy).


Samostatný úkol:

Vytvořte kvantilový diagram pro data (t.j., náhodný výběr) z rozdělení \(\Gamma(a,p)\) a sledujte, co se děje, když se zvětšuje hodnota argumentu/parametru \(p > 0\).
  • Vygenerujte 50 pozorování z rozdělení \(\Gamma(a,p)\), kde a=0.4 a p=0.5. Použijte help k funkci rgamma() pro správnou parametrizaci Gama rozdělení.
  • Nakreslete normální kvantilový diagram pro takto vygenerované data.
  • Zvětšujte hodnotu parametru p na 1, 2, 20, 50 a sledujte, co se děje s kvantilovým diagramem. Jaké to má vysvětlení?



II. Práce s daty a datovými súbormi

V následujúcej časti budeme pracovať s datovým súborom, ktoré pochádzajú z reálneho experimentu. Datovy súbor je možne stiahnuť na adrese http://msekce.karlin.mff.cuni.cz/~maciak/NMFM301/cv2.RData, prípadne je možné použiť link na data a data priamo načítať do programu R pomocou následujúceho príkazu:´

load(url("http://msekce.karlin.mff.cuni.cz/~maciak/NMFM301/cv2.RData"))
?load

Momentálne máme v programe R k dispozíci datový soubor s názvom cv2. Stručny náhľad na štruktúru datového súboru získame pomocou príkazu head()

head(cv2)
##         id   pohl              vzdelani                stav  vaha vyska
## 6126 68573   Male            Elementary             Married  57.1 165.0
## 8610 71157 Female    College unfinished             Married  94.5 162.7
## 2886 65182   Male            Elementary Living with partner  71.6 170.3
## 7500 69993 Female            Elementary              Single 118.4 156.6
## 2430 64705 Female    College unfinished             Married  76.7 148.9
## 3591 65919 Female Elementary unfinished             Widowed  49.4 145.8

Data mají celkovo 500 pozorování (řádků) a 6 veličin (sloupců). Túto informáciu zjistíme pomocou funkcie dim():

dim(cv2)
## [1] 500   6

Pozorování tvoří náhodný výběr 500 obyvatel USA. V jednotlivých veličinách o nich máme následující údaje:

Název Význam
id ID jedince
pohl Pohlaví
vzdelani Vzdělání
stav Rodinný stav
vaha Hmotnost [kg]
vyska Výška [cm]

Data si prohlédněte poklepáním na příslušný řádek v okénku “Workspace”. Strukturu dat vypíšeme pomocí funkce str:

str(cv2)
## 'data.frame':    500 obs. of  6 variables:
##  $ id      : num  68573 71157 65182 69993 64705 ...
##  $ pohl    : Factor w/ 2 levels "Male","Female": 1 2 1 2 2 2 1 1 1 1 ...
##  $ vzdelani: Factor w/ 5 levels "Elementary unfinished",..: 2 4 2 2 4 1 3 4 2 4 ...
##  $ stav    : Factor w/ 6 levels "Married","Widowed",..: 1 1 6 5 1 2 3 6 1 1 ...
##  $ vaha    : num  57.1 94.5 71.6 118.4 76.7 ...
##  $ vyska   : num  165 163 170 157 149 ...
##  - attr(*, "na.action")= 'omit' Named int [1:385] 13 32 48 75 83 93 103 105 119 145 ...
##   ..- attr(*, "names")= chr [1:385] "30" "62" "87" "130" ...

Základní popisné statistiky všech veličin získáme pomocí funkce summary():

summary(cv2)
##        id            pohl                      vzdelani  
##  Min.   :62172   Male  :259   Elementary unfinished: 40  
##  1st Qu.:64728   Female:241   Elementary           : 82  
##  Median :67260                High school          :100  
##  Mean   :67133                College unfinished   :155  
##  3rd Qu.:69597                College              :123  
##  Max.   :71897                                           
##                   stav          vaha            vyska      
##  Married            :268   Min.   : 35.30   Min.   :139.3  
##  Widowed            : 34   1st Qu.: 65.67   1st Qu.:160.4  
##  Divorced           : 45   Median : 78.60   Median :167.8  
##  Separated          : 18   Mean   : 81.81   Mean   :168.1  
##  Single             : 97   3rd Qu.: 94.08   3rd Qu.:175.3  
##  Living with partner: 38   Max.   :188.50   Max.   :204.5

S datovým souborem se zachází podobně jako s maticí. Můžeme vypsat jeden nebo více řádků pomocí hranaté závorky:

cv2[1:5,]
##         id   pohl           vzdelani                stav  vaha vyska
## 6126 68573   Male         Elementary             Married  57.1 165.0
## 8610 71157 Female College unfinished             Married  94.5 162.7
## 2886 65182   Male         Elementary Living with partner  71.6 170.3
## 7500 69993 Female         Elementary              Single 118.4 156.6
## 2430 64705 Female College unfinished             Married  76.7 148.9

K jednotlivým veličinám máme přístup buď pomocí čísla sloupce (cv2[,2] je vektor hodnot pohlaví) nebo lépe pomocí názvu veličiny napsané za názvem dat a oddělené znakem $, teda např. cv2$pohl. Výšky prvních pěti obyvatel vypíšeme takto:

cv2$vyska[1:5]
## [1] 165.0 162.7 170.3 156.6 148.9

Hmotnosti lidí se základním vzděláním získáme pomocí podmínky v hranaté závorce (rovnítko musí být zdvojeno):

cv2$vaha[cv2$vzdelani=="Elementary"]
##  [1]  57.1  71.6 118.4  77.6  82.8  62.1  35.3  73.2 130.0  67.0  61.0  83.0
## [13]  78.7 109.0 104.1  66.6  87.1  84.5 137.4  91.2  62.1  63.0 124.7  87.2
## [25]  84.4  86.6  82.4  70.0  76.7  83.7 113.8  90.4  62.1  90.6  84.0  64.6
## [37]  81.0 167.8  71.3 129.2  73.4  83.1  69.8  51.9  77.2  88.3 109.3  83.0
## [49]  78.2  87.9  75.0  94.5  78.1 140.1 101.4  51.8  87.4  81.1  70.0 109.7
## [61]  69.1  73.3  64.5  57.7 110.2  76.1  60.2 143.5  62.2  90.2  59.6  88.6
## [73]  68.2  70.3 104.5  54.5  88.1  86.4  65.6 110.1  75.9  64.5



Užitočné


Několik užitočných funkcii, ktoré trochu zjednodušia prácu v programe R (napr. funkcie plotCI,plotmeans,ci.asym,ci.t,sign.test, ktoré využijeme nižšie) načítame do programu R pomocou následujúceho príkazu:

load(url("http://msekce.karlin.mff.cuni.cz/~maciak/NMFM301/functions.RData"))

Pomocou príkazu ls() môžete následne overiť, čo sme vlastne do R prostrednia načítali.




Zkusme se nyní podívat na normální kvantilový diagram výšky.

qqnorm(cv2$vyska, pch = 21, bg = "red")
qqline(cv2$vyska)

Obecně se věří, že výška v populaci (a stejně tak aj mnoho iných veličín/charakteristík) má normální rozdělení. Nasvědčuje tomu tento obrázek? Nasimulujte náhodný výber o rozsahu 500 z normálneho rozdelenia a porovnajte príslušný QQ graf zo simulovaných dat s QQ grafom vyššie.

Podívejme se ještě na výšky mužů a žen zvlášť.

qqnorm(cv2$vyska[cv2$pohl=="Male"], pch = 21, bg = "red")
qqline(cv2$vyska[cv2$pohl=="Male"])

qqnorm(cv2$vyska[cv2$pohl=="Female"], pch = 21, bg = "red")
qqline(cv2$vyska[cv2$pohl=="Female"])

Jsou výšky pro každé pohlaví normální? Resp. je tento predpoklad opodstatnený (na základe nášho obrázku)?
Pozor ale na to, čo je teoretický predpoklad a čo je empirické zistenie – a čo z čoho zle následne logicky korektne vyvodiť.

Ak budeme predpokladáť (teoretický model), že výška ľudí v populácii má normálne rozdelení, je možné z teoretického hľadiska, aby aj výška mužov a výška žien (oboje samostatne) mali normálne rozdelenie? Resp. opačne, ak budeme predpokladať, že výška žien v populácii má normálne rozdelenie (t.j., teoretický model) a taktiež výška mužov v populácii má normálne rozdelenie (druhý teoretický model), môžeme následne povedať, že aj celková výška ľudí v populácii má normálne rozdelenie?

Použijte iné grafické nástroje v programe R a pokúste za podívat na data alternatívnym spôsobom: napr. pomocou histogramu (príkaz hist()), alebo pomocou odhadu hustoty (príkaz density()), alebo empirickej distribučnej funkcie (príkaz ecdf()). Jednotlivé empirické charakteristiky vykreslite na vhodnom obrázku a porovnajte s príslušným protejškem založeným na predpoklade normality.

Ak by bolo nutné overiť predpoklad normality na základe nejakého štatistického testu, aké rôzne možnosti sú k dispozícii?


III. Intervaly spolehlivosti pro střední hodnotu

Funkce ci.t() počítá 95% interval spolehlivosti pro střední hodnotu založený na t-rozdělení. Náhodný interval spoľahlivosti, je přesný interval za predpokladu normality a je přibližný (t.j., asymptotický) pro jakékoli rozdělení s konečným druhým momentem. Interval spoľahlivosti má explicitný tvar \[ \left(\overline{X}_{n}-\frac{S_n}{\sqrt{n}}t_{n-1}\Bigl(1-\frac{\alpha}{2}\Bigr), \ \overline{X}_{n}+\frac{S_n}{\sqrt{n}}t_{n-1}\Bigl(1-\frac{\alpha}{2}\Bigr)\right),\qquad\qquad (1) \] (pro nějaké \(\alpha \in (0,1)\), často malé, napr. \(\alpha = 0.05\)), ale funkcia ci.t() nám ako výstup dá pouze jednu konkrétnu realizáciu tohto náhodného intervalu. Rozmyslite si, ako sa líši interpretácia náhodného intervalu a interpretácia jednej konkrétnej realizácie.

smp <- rnorm(20,2,1)
prum <- mean(smp)
ci.t(smp)
##   CI.low     Mean    CI.up 
## 1.630457 2.009294 2.388130

Výsledkem funkce ci.t je vektor o třech složkách: dolní konec intervalu, průměr, horní konec intervalu.

Zatiaľ čo náhodný interval (1) pokrýva hodnotu neznámeho parametru s predpísanou pravdepodobnosťou \((1 - \alpha)\) (a to buď presne, alebo asymptoticky – podľa typu intervalu, resp. podľa počiatočných predpokladov), konkrétna realizácia tohto náhodného intervalu, teda interval \((1.63; 2.39)\) buď pokrýva neznámu hodnotu parametru \(\mu \in \mathbb{R}\), alebo ju nepokrýva – buď áno, nebo ne – žiadna iná možnosť nemôže nastať. Akurat vzhľadom k tomu, že parameter je neznámy, nevieme povedať, či daná realizácia intervalu parameter pokryla, alebo nepokryla.

Skúsime ale experiment nezávisle zopakovať 100-krát, t.j., získame interval spoľahlivosti na základe 100 náhodných výběrů (vždy o rozsahu \(n = 20\) a se střední hodnotou \(\mu = 2\)). Dostaneme teda nie jednu realizáciu náhodného intervalu z (1), ale dohromady 100 rôznych realizácii, ktoré následne porovnáme z “neznámou” teoretickou hodnotou \(EX = \mu = 2\). Nejprve nastavíme požadované vstupy:

nobs <- 20
nvyb <- 100
str.h <- 2

Nyní vygenerujeme 2000 veličin z rozdělení N(2,1) a uspořádáme je do matice 20 x 100. Ve sloupcích bude 100 výběrů o rozsahu 20 z rozdělení N(2,1).

vybery <- rnorm(nobs*nvyb,mean=str.h,sd=1)
data.mat <- matrix(vybery,nrow=nobs,ncol=nvyb)

Na každý sloupec (výběr) spočítáme interval spolehlivosti pro střední hodnotu funkcí ci.t:

vs.ci <- apply(data.mat,2,ci.t)

Zjistíme, kolik intervalů pokrylo skutečnou střední hodnotu (2) a jaká byla průměrná šířka intervalu. Kolik intervalů by ji teoreticky mělo pokrýt?

(pokryti <- sum(vs.ci[1,]<str.h & str.h<vs.ci[3,])/nvyb)
## [1] 0.97
(prum.sirka <- mean(vs.ci[3,]-vs.ci[1,]))
## [1] 0.9272183

Nakonec nakreslíme všech 100 spočítaných intervalů do obrázku. Červená čára značí skutečnou střední hodnotu. Vidíte, které intervaly ji nepokryly?

plotCI(vs.ci[2,],uiw=vs.ci[3,]-vs.ci[2,],liw=vs.ci[2,]-vs.ci[1,],
       gap=0.15,sfrac=0.002,ylab="Int. spol. pro stredni hodnotu",xlab="MC Opakování", pch = 22, cex = 0.8, pt.bg = "gray")
abline(h=str.h,col="red")



Samostatný úkol:

  • Zvětšujte rozsah náhodného výběru a generujte 100 nezávislých náhodných výběrů z N(2,1) o rozsahu 100, 1000, nebo 10.000. Jak se mění šířka intervalů?
  • Jak se mění pokrytí?
  • Pokuste se porovnat empirické pokrytí dvou různych intervalu spolehlivosti: přesného a asyptotického.
  • Vygenerujte 100 náhodných výběrů o rozsahu 10 z exponenciálního rozdělení Exp(0.25). Zjistěte průměrnou šířku intervalu. Kolik jich pokrylo skutečnou střední hodnotu? Jak se to liší od onormálního rozdělení? [Pokuste se o vysvětlení] Nakreslete obrázek zachycující všech 100 intervalů a skutečnou střední hodnotu.



Aplikace na datech

Sestrojíme interval spolehlivosti pro střední hmotnost mužů a žen:

ci.t(cv2$vaha[cv2$pohl=="Male"])
##   CI.low     Mean    CI.up 
## 84.11979 86.67181 89.22384
ci.t(cv2$vaha[cv2$pohl=="Female"])
##   CI.low     Mean    CI.up 
## 73.77435 76.59378 79.41320

Co tyto intervaly znamenají? Umíte je interpretovat?

Chceme-li získat obrázky těchto intervalů, použijeme funkci plotmeans:

plotmeans(vaha~pohl,data=cv2,connect=FALSE, ylim = c(70,90))

Dá se říci, že muži a ženy váží stejně?

Pokuste se namalovat intervaly spolehlivosti pro hmotnost pro různé stupně vzdělání.

Samostatný úkol

  • Sestrojte intervaly spolehlivosti pro střední výšku ženatých/vdaných lidí a lidí žijících odděleně. Který z nich je delší?
  • Cím je způsobena rozdílnost délky jednotlivých intervalů?
  • Co konkrétně (z teoretického hlediska) ovlivňuje délku intervalu spolehlivosti? Co z toho může statistik explicitně ovlivnit?



IV. Štatistické testy

V nasledujúcej časti sa budeme podrobnejšie venovať niekoľkým štatistických testom, ktorými budeme testovať skutočnu hodnotu parametru (resp. parametrov).

Znaménkový test

Znaménkový test testuje hypotézu \(H_0: m_X=m_0\) proti alternativě \(H_1: m_X\neq m_0\), kde \(m_X\) je výberový médian z nejakého spojitého rozdelenia. Test je založen na testovej statistice \[ Y_n=\sum_{i=1}^n \mathbb{I}_{(0,\infty)}(X_i-m_0). \] Můžeme jej provést přesně (\(Y_n\) má za hypotézy binomické rozdělení) nebo asymptoticky pomocí statistiky \[ \frac{2}{\sqrt{n}}Y_n-\sqrt{n}, \] která má za \(H_0\) přibližně normované normální rozdělení.

Asymptotický test je implementován funkcí sign.test. Jejím prvním argumentem je samotný náhodný výběr, druhým argumentem je hypotetický medián \(m_0\). Např. pre náhodný výber \(X_1, \dots, X_{25}\) (v programe R jako objekt vyberX) môžeme otestovať nulovú hypotézu, že skutočny/teoretický (neznámy) medián je rovný hodnote \(15\):

vyberX <- c(19,15,18,16,12,12,11,13,10,18,10,17,10,15,17,20,18,6,16,16,9,12,16,16)
sign.test(vyberX,15)
##                n              Y_n Test. statistika    Krit. hodnota 
##     2.400000e+01     1.200000e+01     8.881784e-16     1.959964e+00 
##        P-hodnota 
##     1.000000e+00

Analogicky pre náhodný výber \(Z_1, \dots, Z_{22}\) (v programe R jako objekt vyberY) môžeme otestovať stejnú nulovú hypotézu, že skutočny/teoretický (neznámy) medián je rovný hodnote \(15\):

vyberZ <- c(16,15,13,10,10.5,15,5.5,20,18,15.5,14,15.5,3.5,10.5,13.5,11.5,16,19,12.6,15,19.5,7)
sign.test(vyberZ,15)
##                n              Y_n Test. statistika    Krit. hodnota 
##       22.0000000        8.0000000       -1.2792043        1.9599640 
##        P-hodnota 
##        0.2008251

Funkce sign.test počítá celkový počet pozorování n, hodnotu \(Y_n\), hodnotu asymptotické testové statistiky, kritickou hodnotu pro testování a p-hodnotu. Aký je záver a interpretácia jednotlivých testov?

Použijte nyní datový súbor cv2 a otestujte pomocou asymptotického znaménkového testu nulovou hypotézu, že teoretický (neznámy) medián hmotnosti (celkové, nebo pouze mužů, resp. žen) je 78 kg. Přesný statistický test lze získat pomocí funkce binom.test (jde vlastně o test na parametr binomického rozdělení). Do této funkce musíme zadat hodnotu \(Y_n\) a hodnotu n.

sign.test(cv2$vaha, 78)
##                n              Y_n Test. statistika    Krit. hodnota 
##      500.0000000      254.0000000        0.3577709        1.9599640 
##        P-hodnota 
##        0.7205148
binom.test(sum(cv2$vaha>78),length(cv2$vaha))
## 
##  Exact binomial test
## 
## data:  sum(cv2$vaha > 78) and length(cv2$vaha)
## number of successes = 254, number of trials = 500, p-value = 0.7543
## alternative hypothesis: true probability of success is not equal to 0.5
## 95 percent confidence interval:
##  0.4632436 0.5526613
## sample estimates:
## probability of success 
##                  0.508

Otestujte nyní přesným znaménkovým testem hypotézy, že medián hmotnosti mužů (žen) je 78 kg. Liší se nějak zásadně výsledky přesného testu od testu asymptotického? Proč?

Jednovýberový \(t\)-test

V prípade, že rozdelenie je symetrické – napr. predpokládame, že náhodný výber pochádza z normálneho rozdelenia (alebo iného symetrického rozdelenia s konečným rozptylom), tak teoretická hodnota mediánu je totožná s teoretickou strednou hodnotou a pre testovanie nulovej hypotézy o teoretickom mediáne môžeme použíť aj jednovýberový \(t\)-test (s neznámou hodnotou parametru rozptylu), ktorý je štandardne určený na inferenciu o strednej hodnote. Implementácia testu je pomocou príkazu t.test().

t.test(cv2$vaha, mu = 78)
## 
##  One Sample t-test
## 
## data:  cv2$vaha
## t = 3.8617, df = 499, p-value = 0.0001274
## alternative hypothesis: true mean is not equal to 78
## 95 percent confidence interval:
##  79.87366 83.75474
## sample estimates:
## mean of x 
##   81.8142

Ako vysvetliť rozpor medzi výsledkom znamienkového testu a klasického \(t\)-testu?

hist(cv2$vaha, col = "lightblue", xlab = "Hmotnosť/váha", breaks = 20, main = "")



Ako by vypadalo použitie jednovýberového \(t\)-testu na náhodný výber \(X_{1}, \dots, X_{24}\) (prípadne na náhodný výber \(Z_1, \dots, Z_{22}\))? Aku nulovú hypotézu vlastne test testuje? Je použitie testu (vzhľadom k predpokladom testu) opodstatnené?

par(mfrow = c(1,2))
hist(vyberX, col = "lightblue", xlab = "Celkový počet bodov (06.11.2024)", ylab = "Frekvencia", main = "", breaks = c(0,2,4,6,8,10,12,14,16,18,20), xlim = c(0,20))
hist(vyberZ, col = "lightblue", xlab = "Celkový počet bodov (07.11.2024)", ylab = "Frekvencia", main = "", breaks = c(0,2,4,6,8,10,12,14,16,18,20), xlim = c(0,20))



### Samostatný úkol:
  • Otestujte asymptotickým znaménkovým testem hypotézu, že medián výšky je 167 cm (celkově a pak mezi muži a mezi ženami samostatně). Interpretujte výsledek testů.
  • Otestujte nulovú hypotézu pre skutočnú hodnotu mediánu a tiež pre skutočnú hodnotu strednej hodnoty za použitia znamiekového testu a \(t\)-testu, pričom bude uvažovať samostatne populáciu mužov a žien. Pre nulovú hypotézu zvoľte vhodnú hodnotu, ktorú budete testovať.
  • Niekolko dalších príkladov k samostatnému precvičovaniu: zadanie a zdrojový Rmd súbor.



Užitočné


V programe R je defaultne implementoványch niekoľko funkcii so základnými štatistickými testami, napr. test parametru binomického rozdelenia binom.test() (znamienkový test), alebo jedno/dvoj výberové testy wilcox.test(), t.test(), ks.test(), fisher.test(), var.test(), prípadne viacvýberové testy kruskal.test(), anova() a mnoho ďalších.