Parametrické testy

Základy statistické inference v Pythonu

Paul Savala

Assistant Professor or Mathematics

ANOVA

  • ANOVA – porovnává průměrnou odezvu v každém faktoru
  • Odezva – číselně měřená hodnota
  • Faktor – kategorická hodnota definující skupiny

Tabulka zobrazující financování rizikovým kapitálem od několika společností v různých trzích.

Základy statistické inference v Pythonu

ANOVA

investments_df.groupby('market')['funding_total_usd'].mean()
Market        Average funding
===========   ===============
Advertising      13806610
Analytics        14762930
Biotechnology    20838670
...              ...
  • Odezva: financování
  • Faktor: trh
  • ANOVA: porovnání průměrného financování podle trhu
Základy statistické inference v Pythonu

Předpoklady ANOVA

  • Odezvy pro každý faktor jsou normálně rozděleny
    • Výše financování podle trhu jsou normálně rozděleny
  • Odezvy podle faktoru mají stejný populační rozptyl
    • Variabilita financování podle trhu je normálně rozdělena
Základy statistické inference v Pythonu

Normálně rozdělená odezva

health_df = investments_df[investments_df['market'] == 'Health and Wellness']
health_df['funding_total_usd'].plot(kind='hist')

Histogram s celkovým financováním na ose x, četností na ose y, jedním velmi vysokým sloupcem poblíž nuly a několika výrazně nižšími sloupci dále.

Základy statistické inference v Pythonu

Logaritmická transformace a normalita

health_log = np.log(health_df['funding_total_usd'])

health_log.plot(kind='hist')

Histogram s celkovým financováním na ose x, četností na ose y, jedním velmi vysokým sloupcem poblíž nuly a několika výrazně nižšími sloupci dále.

Základy statistické inference v Pythonu

Rovnost rozptylů

investments_df['log_funding'] = np.log(investments_df['funding_total_usd'])

investments_df.groupby('market')['log_funding'].std()
Advertising            2.254390
Analytics              2.152852
Biotechnology          1.946059
...                    ...

Levenův test rovnosti rozptylů

$H_0:$ Populace mají stejný rozptyl

$H_a:$ Populace mají různé rozptyly

Základy statistické inference v Pythonu

Rovnost rozptylů

from scipy import stats

health_df = investments_df[investments_df['market'] == 'Health and Wellness']
analytics_df = investments_df[investments_df['market'] == 'Analytics']

s, p_value = stats.levene(health_df['log_funding'], analytics_df['log_funding'])
print(p_value < 0.05)
False

Závěr: Nulová hypotéza nebyla zamítnuta. Trhy mají stejný rozptyl financování.

Základy statistické inference v Pythonu

ANOVA v SciPy

s, p_value = stats.f_oneway(health_df['log_funding'], 
                            analytics_df['log_funding'])

print(p_value < 0.05)
True

Závěr: Trhy se statisticky významně liší ve financování.

Základy statistické inference v Pythonu

Závěry z testu ANOVA

  • $H_0:$ Všechny střední hodnoty jsou stejné
  • $H_a:$ Alespoň jedna střední hodnota se liší
  • Bez další analýzy nelze určit která se liší.
Základy statistické inference v Pythonu

Pojďme si procvičit!

Základy statistické inference v Pythonu

Preparing Video For Download...