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 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 Náhodná premenná , ktorá je definovaná nasledovným vzťahom:

má Kolmogorovove rozdelenie, kde je tzv. Brownov most. Distribučná funkcia premennej je nasledovná:Marsaglia, G., Tsang, W. W., Wang, J. (2003) "Evaluating Kolmogorov’s Distribution", Journal of Statistical Software, 8 (18), 1 – 4. jstor

Jednovýberový Kolmogorovov–Smirnovov test 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 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 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 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.19888025 -1.51273315 -0.03366925 -1.44443822 -0.31805864 -1.69239139 -0.06970566 -1.67015816 0.37471991 0.15004197 -1.22619596 -2.46564405 0.16325695 0.81895068 0.25471847 -0.24046811 -0.17076473 0.85611273 0.02941219 0.59442116 -0.98264278 -0.65619480 0.92143542 0.31796338 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 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 0.529808452 1.984421774 0.967890820 -0.009851542 0.957859203 0.508594105 -0.006812904 -0.219980494 -0.288870208 0.269138799 1.292500229 0.026582429 0.578625374 -0.439623986 0.696602281 0.360686099 1.238492593 -1.636362597 -1.188028910 2.252744940 -0.909075651 0.512017326 -1.098583641 0.999292652 1.778016379 0.795499677 -1.077792032 -0.915389384 -0.106071582 -0.111512499 -1.364847405 0.186406313 -0.091445138 -1.324561689 1.152640984 0.318170126 -0.431556425 -1.255561718 0.425081752 0.641398937 1.101968147 0.883650217 0.099955812 0.856377285 0.248175014 -0.920281692 -0.056454711 -0.085295739 1.502253419 0.598325297 > vyber2 <- runif(30) > vyber2 0.09237699 0.38505380 0.27608514 0.58043327 0.51327622 0.66636661 0.95383317 0.43125163 0.81681833 0.19769616 0.52809416 0.36984808 0.85963545 0.29324735 0.26970567 0.02132132 0.52460898 0.65868122 0.23952377 0.01522186 0.13488495 0.41358348 0.80082742 0.58836133 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

knižnica a pomocník programu R

Kategória:Matematická štatistika