Kolmogorovov-Smirnovov test
Kolmogorovov-Smirnovov test (alebo skrátene K-S test) je v teórii pravdepodobnosti a matematickej štatistike neparametrický test. Jeho testovacia štatistika sleduje najväčšiu odchýlku medzi teoretickou distribučnou funkciou (ktorú označujeme ) a empirickou distribučnou funkciou (ktorá sa označuje ), respektíve medzi dvoma empirickými distribučnými funkciami. Empirickú distribučnú funkciu získame z náhodného výberu.
Týmto testom testujeme, či jednorozmerná náhodná veličina má predpokladané, čiže teoretické rozdelenie. V takomto prípade hovoríme o jednovýberovom teste. Rovnako môžeme testovať, či dve jednorozmerné náhodné veličiny pochádzajú z rovnakého pravdepodobnostného rozdelenia (dvojvýberový test). Test nevie určiť, z akého rozdelenia náhodné veličiny pochádzajú, poskytne iba informáciu, či pochádzajú z rovnakého alebo odlišného rozdelenia pravdepodobnosti.
Kolmogorovov-Smirnovov test sa používa v prípade, že náhodný výber pochádza zo spojitého rozdelenia s distribučnou funkciou (dôležitý predpoklad). V prípade, že (rozsah výberu) je nepostačujúce, teda je malé, používa sa tento test namiesto chí-kvadrát testu.
Test je pomenovaný podľa dvoch významných ruských matematikov Kolmogorova a Smirnova.
Testovacia štatistika a hypotéza
[upraviť | upraviť zdroj]Empirická distribučná funkcia pre nezávislých, rovnako rozdelených náhodných veličín , kde , je definovaná nasledovne:
kde je charakteristická (indikátorová) funkcia, ktorá nadobúda hodnotu 1, ak a hodnotu 0 v inom prípade.
Kolmogorovova-Smirnovova testovacia štatistika má potom nasledovný tvar:
kde symbol sup označuje suprémum.
Kolmogorovove rozdelenie
[upraviť | upraviť zdroj]Náhodná premenná , ktorá je definovaná nasledovným vzťahom:
má Kolmogorovove rozdelenie, kde je tzv. Brownov most. Distribučná funkcia premennej je nasledovná:[1]
Jednovýberový Kolmogorovov–Smirnovov test
[upraviť | upraviť zdroj]Testovaná hypotéza je v tomto prípade nasledovná:
- : Náhodná veličina má predpokladané (teoretické) rozdelenie.
- : Náhodná veličina nemá predpokladané (teoretické) rozdelenie.
Náhodné premenné definované vzťahom konvergujú podľa distribučnej funkcie k známemu asymptotickému rozdeleniu:
kde označuje opäť tzv. Brownom most.
Kolmogorovov–Smirnovov test pri rozhodovaní o tom, ktorú hypotézu zamietne, využíva kritické hodnoty Kolmogorovovho rozdelenia. Test zamieta nulovú hypotézu na hladine významnosti , ak:
kde je také, že platí:
Dvojvýberový Kolmogorovov–Smirnovov test
[upraviť | upraviť zdroj]Testovaná hypotéza je v tomto prípade nasledovná:
- : Dve jednorozmerné náhodné premenné pochádzajú z rovnakého pravdepodobnostného rozdelenia.
- : Dve jednorozmerné náhodné premenné nepochádzajú z rovnakého pravdepodobnostného rozdelenia.
Dvojvýberový Kolmogorovov–Smirnovov test teda overuje situáciu, či dve jednorozmerné náhodné premenné pochádzajú z rovnakého pravdepodobnostného rozdelenia. V takomto prípade vyzerá Kolmogorovova-Smornovova testovacia štatistika nasledovne:
kde a sú empirické distribučné funkcie prvého a druhého náhodného výberu. Test zamieta nulovú hypotézu na hladine významnosti , ak:
Príklad testu
[upraviť | upraviť zdroj]Jednoduchý príklad na Kolmogorovov-Smirnovov test sa dá ukázať pomocou matematického programu R. Tento test je v programe už zabudovaný a predpis je nasledovný: ks.test
.
Jednovýberový test
[upraviť | upraviť zdroj]V programe R
si vygenerujeme náhodný výber z normálneho rozdelenia pomocou príkazu rnorm(.)
(a necháme si tento výber vypísať). Následne môžeme pomocou Kolmogorovovho-Smirnovovho testu otestovať, či tento náhodný výber pochádza z normálneho rozdelenia. Výstupom testu je niekoľko informácií:
- D označuje testovaciu štatistiku
- p-value je p-hodnota, číslo vo výstupe je uvedené v desatinných číslach, nie v percentách. Na základe nej sa rozhoduje, ktorá hypotéza sa zamietne. Pokiaľ je p-hodnota menšia ako 5% (v prípade, že testujeme na tejto hladine významnosti), tak zamietame hypotézu . Naopak, pokiaľ je p-hodnota vyššia ako 5%, tak zamietame hypotézu .
V tomto prípade vyšla p-hodnota 0.507, čo je 50,7%, a teda zamietame hypotézu , následkom čoho možno tvrdiť, že daný náhodný výber pochádza z teoretického, teda v tomto prípade normálneho rozdelenia.
> nahodny_vyber <- rnorm(30)
> nahodny_vyber
[1] 1.19888025 -1.51273315 -0.03366925 -1.44443822 -0.31805864 -1.69239139
[7] -0.06970566 -1.67015816 0.37471991 0.15004197 -1.22619596 -2.46564405
[13] 0.16325695 0.81895068 0.25471847 -0.24046811 -0.17076473 0.85611273
[19] 0.02941219 0.59442116 -0.98264278 -0.65619480 0.92143542 0.31796338
[25] 0.50684453 0.63747641 -0.77462771 0.11887193 -1.06427097 0.80255513
>
> ks.test(nahodny_vyber, pnorm)
One-sample Kolmogorov-Smirnov test
data: nahodny_vyber
D = 0.1451, p-value = 0.507
alternative hypothesis: two-sided
Pokiaľ by sme tento istý náhodný výber porovnávali s inou teoretickou distribučnou funkciou, napríklad s distribučnou funkciou rovnomerného rozdelenia, tak p-hodnota bude 1.409e-07, čo je , teda vyjadrené v percentách to bude . Táto hodnota je výrazne menšia ako 5%, a teda hypotézu zamietame.
> ks.test(nahodny_vyber, punif)
One-sample Kolmogorov-Smirnov test
data: nahodny_vyber
D = 0.5039, p-value = 1.409e-07
alternative hypothesis: two-sided
Dvojvýberový test
[upraviť | upraviť zdroj]Tentoraz si v programe R
vygenerujeme dva náhodné výbery – jeden z normálneho rozdelenia pomocou príkazu rnorm(.)
a druhý z rovnomerného rozdelenia pomocou príkazu runif(.)
. Následne budeme pomocou Kolmogorovovho-Smirnovovho testu testovať, či tieto dva náhodné výbery pochádzajú z rovnakého rozdelenia. Výstupom sú opäť tie isté informácie ako pri jednovýberovom teste.
Z testu vidíme, že p-hodnota vyšla rovná 0.001826, čo je 0.1826%. Táto hodnota je teda menej ako 5%, a teda hypotézu zamietame, následkom čoho sa dá tvrdiť, že tieto dva náhodné výbery nepochádzajú z rovnakého rozdelenia.
> vyber1 <- rnorm(50)
> vyber1
[1] 0.529808452 1.984421774 0.967890820 -0.009851542 0.957859203
[6] 0.508594105 -0.006812904 -0.219980494 -0.288870208 0.269138799
[11] 1.292500229 0.026582429 0.578625374 -0.439623986 0.696602281
[16] 0.360686099 1.238492593 -1.636362597 -1.188028910 2.252744940
[21] -0.909075651 0.512017326 -1.098583641 0.999292652 1.778016379
[26] 0.795499677 -1.077792032 -0.915389384 -0.106071582 -0.111512499
[31] -1.364847405 0.186406313 -0.091445138 -1.324561689 1.152640984
[36] 0.318170126 -0.431556425 -1.255561718 0.425081752 0.641398937
[41] 1.101968147 0.883650217 0.099955812 0.856377285 0.248175014
[46] -0.920281692 -0.056454711 -0.085295739 1.502253419 0.598325297
> vyber2 <- runif(30)
> vyber2
[1] 0.09237699 0.38505380 0.27608514 0.58043327 0.51327622 0.66636661
[7] 0.95383317 0.43125163 0.81681833 0.19769616 0.52809416 0.36984808
[13] 0.85963545 0.29324735 0.26970567 0.02132132 0.52460898 0.65868122
[19] 0.23952377 0.01522186 0.13488495 0.41358348 0.80082742 0.58836133
[25] 0.11895595 0.70033187 0.87048381 0.10687764 0.15342605 0.82152792
> ks.test(vyber1, vyber2)
Two-sample Kolmogorov-Smirnov test
data: vyber1 and vyber2
D = 0.42, p-value = 0.001826
alternative hypothesis: two-sided
Zdroj a referencie
[upraviť | upraviť zdroj]- PACÁKOVÁ, Viera. Aplikovaná poistná štatistika. Bratislava : IURA EDITION, 2004. ISBN 80-8078-004-8. Kapitola Pravdepodobnostné rozdelenia v poisťovníctve, s. 261.
- HARMAN, Radoslav. Stochastické simulačné metódy [online]. Bratislava: Katedra aplikovanej matematiky a štatistiky, Fakulta matematiky, fyziky a informatiky UK., 2012-05-13, [cit. 2012-07-03]. Dostupné online. [nefunkčný odkaz]
- Tento článok je čiastočný alebo úplný preklad článku Kolmogorov–Smirnov test na anglickej Wikipédii.
- knižnica a pomocník programu R [1]