- Existuje mnoho metod testování, zda má proměnná normální rozdělení. V tomto článku se dozvíte, kterou z nich použít!
- 1.1. Úvod
- 1.2. Znázornění rozdělení dat. Interpretace
- 1.3. Implementace
- 1.4. Histogramy. Závěr
- 2.1. Jak vytvořit histogram? Úvod
- 2.2 Interpretace
- 2.3. Jaké je normální rozdělení? Implementace
- 2.4. Jak vytvořit boxplot? Závěr
- 3.1. Úvod
- 3.2. Znázornění normálního rozdělení. Interpretace
- 3.3. Rozložení rovnoměrného rozdělení. Implementace
- 3.4. Závěr
- Kolmogorovův Smirnovův test
- 4.2. Interpretace
- 4.3. V případě, že je hodnota P testu KS větší než 0,05, předpokládáme normální rozdělení. Implementace
- 4.4. Závěr
- Lillieforsův test
- 5.2. Testy Lillieforsova rozdělení Na rozdíl od Shapirova Wilkova testu je jeho síla stále nižší. Interpretace
- 5.3. Jaké jsou výsledky Lillieforsova testu? Implementace
- 5.4. Závěr
- Shapiro Wilkův test
- 6.2. Shapiro Wilkův test je nejsilnějším testem při testování normálního rozdělení. Interpretace
- 6.3. Interpretace
- 6.4. Shapiro Wilkův test. Závěr
- Závěr – jaký přístup použít!“
Existuje mnoho metod testování, zda má proměnná normální rozdělení. V tomto článku se dozvíte, kterou z nich použít!
1.1. Úvod
První metodou, kterou zná téměř každý, je histogram. Histogram je vizualizace dat, která zobrazuje rozložení proměnné. Udává nám četnost výskytu jednotlivých hodnot v souboru dat, což je právě to, o čem rozdělení je.
Histogram je skvělý způsob, jak rychle vizualizovat rozdělení jedné proměnné.
1.2. Znázornění rozdělení dat. Interpretace
Na následujícím obrázku jsou dva histogramy, které znázorňují normální a nenormální rozdělení.
- Vlevo je velmi malá odchylka výběrového rozdělení (šedě) od teoretického rozdělení podle zvonové křivky (červená čára).
- Vpravo vidíme zcela odlišný tvar histogramu, který nám přímo říká, že se nejedná o normální rozdělení.
1.3. Implementace
Histogram lze v jazyce python snadno vytvořit následujícím způsobem:
1.4. Histogramy. Závěr
Histogram je skvělý způsob, jak rychle vizualizovat rozložení jedné proměnné.
2.1. Jak vytvořit histogram? Úvod
Boxový graf je další vizualizační technikou, kterou lze použít k odhalení nenormálních vzorků. Box Plot vykresluje pětičíselný souhrn proměnné: minimum, první kvartil, medián, třetí kvartil a maximum.
Boxplot je skvělý způsob vizualizace rozdělení více proměnných najednou.
2.2 Interpretace
Boxplot je skvělá vizualizační technika, protože umožňuje vykreslit mnoho boxplotů vedle sebe. Když máme tento velmi rychlý přehled proměnných, získáme představu o rozdělení a jako „bonus“ získáme kompletní pětičíselný souhrn, který nám pomůže při další analýze.
Měli byste se podívat na dvě věci:
- Je rozdělení symetrické (jako je normální rozdělení)
- Odpovídá šířka (opak špičatosti) šířce normálního rozdělení? Na krabicovém grafu je to těžko vidět.
2.3. Jaké je normální rozdělení? Implementace
Boxplot lze snadno implementovat v Pythonu následujícím způsobem:
2.4. Jak vytvořit boxplot? Závěr
Boxplot je skvělý způsob, jak vizualizovat rozdělení více proměnných najednou, ale odchylka v šířce/bodovosti se pomocí krabicových grafů špatně identifikuje.
3.1. Úvod
S QQ grafy se začínáme dostávat k vážnějším věcem, protože to vyžaduje trochu více porozumění než dříve popsané metody.
QQ Plot je zkratka pro Quantile vs Quantile Plot, což je přesně to, co dělá: vykresluje teoretické kvantily proti skutečným kvantilům naší proměnné.
QQ Plot nám umožňuje vidět odchylky normálního rozdělení mnohem lépe než v histogramu nebo krabicovém grafu.
3.2. Znázornění normálního rozdělení. Interpretace
Pokud se naše proměnná řídí normálním rozdělením, musí kvantily naší proměnné dokonale odpovídat „teoretickým“ normálním kvantilům: přímka na QQ Plot nám říká, že máme normální rozdělení.
Jak je vidět na obrázku, body na normálním QQ Plot sledují přímku, zatímco ostatní rozdělení se silně odchylují.
- Rovnoměrné rozdělení má příliš mnoho pozorování v obou krajních bodech (velmi vysoké a velmi nízké hodnoty).
- Exponenciální rozdělení má příliš mnoho pozorování na nižších hodnotách, ale příliš málo na vyšších hodnotách.
V praxi často vidíme něco méně výrazného, ale podobného tvaru. Nadměrné nebo nedostatečné zastoupení na chvostu by mělo vyvolat pochybnosti o normalitě a v takovém případě byste měli použít některý z níže popsaných testů hypotéz.
3.3. Rozložení rovnoměrného rozdělení. Implementace
Vytvoření QQ grafu lze provést pomocí api statsmodels v jazyce python následujícím způsobem:
3.4. Závěr
QQ Plot nám umožňuje vidět odchylku normálního rozdělení mnohem lépe než v histogramu nebo krabicovém grafu.
Kolmogorovův Smirnovův test
Pokud QQ Plot a další vizualizační techniky nejsou průkazné, může statistická inference (testování hypotéz) dát objektivnější odpověď na to, zda se naše proměnná významně odchyluje od normálního rozdělení.
Pokud máte pochybnosti o tom, jak a kdy použít testování hypotéz, zde je článek, který podává intuitivní vysvětlení testování hypotéz.
Kolmogorovův Smirnovův test počítá vzdálenosti mezi empirickým rozdělením a teoretickým rozdělením a definuje testovou statistiku jako supremum množiny těchto vzdáleností.
Výhodou je, že stejný přístup lze použít pro porovnání jakéhokoli rozdělení, nejen nutně normálního.
KS test je známý, ale nemá velkou sílu. Lze jej použít i pro jiná než normální rozdělení.
4.2. Interpretace
Testovací statistika testu KS je Kolmogorovova Smirnovova statistika, která se řídí Kolmogorovovým rozdělením, pokud je nulová hypotéza pravdivá.
Pokud se pozorovaná data dokonale řídí normálním rozdělením, bude hodnota statistiky KS rovna nule. Hodnota P slouží k rozhodnutí, zda je rozdíl dostatečně velký k zamítnutí nulové hypotézy:
- Pokud je hodnota P testu KS větší než 0,05, předpokládáme normální rozdělení
- Pokud je hodnota P testu KS menší než 0,05, nepředpokládáme normální rozdělení
4.3. V případě, že je hodnota P testu KS větší než 0,05, předpokládáme normální rozdělení. Implementace
KS test v jazyce Python pomocí Scipy lze implementovat následujícím způsobem. Vrátí KS statistiku a její P-hodnotu.
4.4. Závěr
KS test je dobře známý, ale nemá velkou sílu. To znamená, že k zamítnutí nulové hypotézy je třeba velkého počtu pozorování. Je také citlivý na odlehlé hodnoty. Na druhou stranu jej lze použít pro jiné typy rozdělení.
Lillieforsův test
Lillieforsův test je silně založen na KS testu. Rozdíl spočívá v tom, že v Lillieforsově testu se připouští, že střední hodnota a rozptyl populačního rozdělení jsou odhadnuty, nikoliv předem zadány uživatelem.
Z tohoto důvodu Lillieforsův test používá spíše Lillieforsovo než Kolmogorovo rozdělení.
Naneštěstí pro Lillieforsův test je jeho síla stále nižší než síla Shapirova Wilkova testu.
5.2. Testy Lillieforsova rozdělení
Na rozdíl od Shapirova Wilkova testu je jeho síla stále nižší. Interpretace
Na rozdíl od Shapirova Wilkova testu je jeho síla stále nižší. Interpretace
- Pokud je P-hodnota Lillieforsova testu větší než 0,05, předpokládáme normální rozdělení
- Pokud je P-hodnota Lillieforsova testu menší než 0,05, nepředpokládáme normální rozdělení
5.3. Jaké jsou výsledky Lillieforsova testu? Implementace
Implementace Lillieforsova testu ve statsmodels vrátí hodnotu Lillieforsovy testovací statistiky a P-Value takto:
Upozornění: V implementaci statsmodels se P-Values menší než 0.001 jsou uváděny jako 0,001 a P-Values vyšší než 0,2 jsou uváděny jako 0,2.
5.4. Závěr
Ačkoli je Lillieforsův test zlepšením KS testu, jeho síla je stále nižší než síla Shapiro Wilkova testu.
Shapiro Wilkův test
Shapiro Wilkův test je nejsilnějším testem při testování normálního rozdělení. Byl vyvinut speciálně pro normální rozdělení a nelze jej použít pro testování proti jiným rozdělením, jako například KS test.
Shapiro Wilkův test je nejsilnějším testem při testování normálního rozdělení.
6.2. Shapiro Wilkův test je nejsilnějším testem při testování normálního rozdělení. Interpretace
- Pokud je P-hodnota Shapiro Wilkova testu větší než 0,05, předpokládáme normální rozdělení
- Pokud je P-hodnota Shapiro Wilkova testu menší než 0,05, normální rozdělení nepředpokládáme
6.3. Interpretace
- Pokud je P-hodnota Shapiro Wilkova testu větší než 0,05, předpokládáme normální rozdělení. Implementace
Shapirův Wilkův test lze implementovat následujícím způsobem. Vrátí testovací statistiku nazvanou W a hodnotu P.
Upozornění: pro N > 5000 je testovací statistika W přesná, ale hodnota p nemusí být.
6.4. Shapiro Wilkův test. Závěr
Shapirův Wilkův test je nejsilnějším testem při testování normálního rozdělení. Tento test byste rozhodně měli použít.
Závěr – jaký přístup použít!“
Pro rychlou a názornou identifikaci normálního rozdělení použijte QQ graf, pokud máte k dispozici pouze jednu proměnnou, a krabicový graf, pokud jich máte mnoho. Pokud potřebujete prezentovat výsledky nestatistické veřejnosti, použijte histogram.
Jako statistický test pro potvrzení hypotézy použijte Shapirův Wilkův test. Je to nejsilnější test, který by měl být rozhodujícím argumentem.
Při testování proti jiným rozdělením nemůžete použít Shapiro Wilka a měli byste použít například Anderson-Darlingův test nebo KS test.