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

Někdy je odchylka od normálního rozdělení natolik zřejmá, že ji lze zjistit vizuálně.

1.3. Implementace

Histogram lze v jazyce python snadno vytvořit následujícím způsobem:

Vytvoření histogramu pomocí pandas v jazyce python

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.

Normální (vlevo), rovnoměrné (uprostřed) a exponenciální (vpravo) krabicové grafy vs. normální zvonová křivka

2.3. Jaké je normální rozdělení? Implementace

Boxplot lze snadno implementovat v Pythonu následujícím způsobem:

Vytvoření boxplotu pomocí pandas v Pythonu

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

Normální (vlevo), rovnoměrné (uprostřed) a exponenciální (vpravo) QQ Plots

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:

Vytvoření QQ grafu pomocí statsmodels

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.

Aplikace KS testu v jazyce Python pomocí Scipy

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

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

Použití Lillieforsova testu pomocí statsmodels

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.

    Aplikace Shapiro Wilkova testu pomocí statsmodelů v jazyce Python

    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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.