Kódím.cz
3

Korelace a regrese

Regrese a korelace nám mohou vysvětlit, jak se statistické proměnné vzájemně ovlivňují

Čtení na doma: Výpočet korelace

V této části si ukážeme, na jaké myšlence jsou postaveny oba koeficienty pro výpočet korelace.

Pearsonův korelační koeficient

Pearsonův korelační koeficient měří sílu a směr lineární závislosti mezi dvěma veličinami. Nabývá hodnot od -1 do +1, přičemž hodnota +1 znamená dokonalou pozitivní lineární závislost, hodnota -1 značí dokonalou negativní lineární závislost a 0 znamená žádnou lineární závislost.

Výpočet se provádí podle vzorce:

Vzorec ověřuje, jestli s rostoucím počtem hodin studia roste počet získaných bodů. Protože vidíme, že počet získaných bodů postupně roste, je koeficient vysoký. Do hry ale vstupuje i náhoda, např. někdo měl větší štěstí na otázky atd.

Níže máme jednoduchý příklad vstupních dat.

Hodiny studia 1 2 3 4 5 6 7 8
Skóre testu 0.87 7.47 4.23 6.54 11.56 14.52 12.63 21.53
  • Průměry: x = 4.5, y = 9.42
  • Po výpočtu dle vzorce výše získáme korelační koeficient 0.92. To ukazuje silnou pozitivní lineární závislost mezi počtem hodin studia a skóre testu.
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

data = pd.DataFrame({
    'Hodiny_studia': [1, 2, 3, 4, 5, 6, 7, 8],
    'Skore_testu': [0.87, 7.47, 4.23, 6.54, 11.56, 14.52, 12.63, 21.53]
})

data.corr()

Kendallovo Tau

Kendallovo Tau měří sílu a směr monotónní závislosti mezi dvěma veličinami. Hodnota koeficientu se pohybuje od -1 do +1 a jeho význam je stejný, koeficient má ale jiný způsob výpočtu. Kendallovo Tau se zaměřuje na pořadí hodnot. Porovnávají se všechny možné dvojice pozorování. Pár je označen jako:

  • konkordantní (shodný), pokud pořadí obou proměnných je stejné,
  • diskordantní (neshodný), pokud pořadí obou proměnných je opačné.

Obecný vzorec pro výpočet Kendallova Tau:

kde:

  • C je počet konkordantních párů,
  • D je počet diskordantních párů,
  • n je počet pozorování.

Uvažujme stejná data jako u Pearsonova koeficientu. Po výpočtu Kendallova Tau získáme 0.79. To ukazuje silnou pozitivní závislost mezi počtem hodin studia a skóre testu.

Příklad vyhodnocení dvou párů

Zvažme dvojici hodnot:

  • (1 hodina, skóre 0.87)
  • (3 hodiny, skóre 4.23)

Vyhodnocení:

  • Hodiny studia: 1 < 3
  • Skóre testu: 0.87 < 4.23

Pořadí je shodné, proto jde o konkordantní pár

Dále zvažme dvojici:

  • (1 hodina, skóre 0.87)
  • (2 hodiny, skóre 7.47)

Vyhodnocení:

  • Hodiny studia: 1 < 2
  • Skóre testu: 0.87 < 7.47

Opět pořadí souhlasí, jde tedy o konkordantní pár.

Dále zvažme dvojici:

  • (2 hodiny, skóre 7.47)
  • (3 hodiny, skóre 4.23)

Vyhodnocení:

  • Hodiny studia: 2 < 3
  • Skóre testu: 7.47 > 4.23

Pořadí je opačné, proto jde o diskordantní pár.

Stejným způsobem se vyhodnotí všechny páry a vloží se do vzorce.

from scipy.stats import kendalltau
import pandas as pd

data = pd.DataFrame({
    'Hodiny_studia': [1, 2, 3, 4, 5, 6, 7, 8],
    'Skore_testu': [0.87, 7.47, 4.23, 6.54, 11.56, 14.52, 12.63, 21.53]
})

kendalltau(data['Hodiny_studia'], data['Skore_testu'])