Testy parametryczne

Podstawy wnioskowania statystycznego w Pythonie

Paul Savala

Assistant Professor or Mathematics

ANOVA

  • ANOVA – porównuje średnie odpowiedzi w każdym czynniku
  • Odpowiedź – mierzona wartość liczbowa
  • Czynnik – wartość kategoryczna definiująca grupy

Tabela przedstawiająca finansowanie venture capital kilku firm w różnych segmentach rynku.

Podstawy wnioskowania statystycznego w Pythonie

ANOVA

investments_df.groupby('market')['funding_total_usd'].mean()
Market        Average funding
===========   ===============
Advertising      13806610
Analytics        14762930
Biotechnology    20838670
...              ...
  • Odpowiedź: finansowanie
  • Czynnik: rynek
  • ANOVA: porównanie średniego finansowania według rynku
Podstawy wnioskowania statystycznego w Pythonie

Założenia ANOVA

  • Odpowiedzi dla każdego czynnika mają rozkład normalny
    • Kwoty finansowania według rynku mają rozkład normalny
  • Odpowiedzi według czynnika mają równe wariancje populacji
    • Zmienność finansowania według rynku ma rozkład normalny
Podstawy wnioskowania statystycznego w Pythonie

Odpowiedź o rozkładzie normalnym

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

Histogram z całkowitym finansowaniem firm na osi x, częstością na osi y, jednym bardzo wysokim słupkiem blisko zera i kilkoma znacznie niższymi dalej.

Podstawy wnioskowania statystycznego w Pythonie

Transformacja logarytmiczna a normalność

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

health_log.plot(kind='hist')

Histogram z całkowitym finansowaniem firm na osi x, częstością na osi y, jednym bardzo wysokim słupkiem blisko zera i kilkoma znacznie niższymi dalej.

Podstawy wnioskowania statystycznego w Pythonie

Równość wariancji

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

Test Levene'a jednorodności wariancji

$H_0:$ Populacje mają równe wariancje

$H_a:$ Populacje mają różne wariancje

Podstawy wnioskowania statystycznego w Pythonie

Równość wariancji

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

Wniosek: Brak podstaw do odrzucenia hipotezy zerowej. Rynki mają równe wariancje finansowania.

Podstawy wnioskowania statystycznego w Pythonie

ANOVA w SciPy

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

print(p_value < 0.05)
True

Wniosek: Rynki różnią się finansowaniem w sposób statystycznie istotny.

Podstawy wnioskowania statystycznego w Pythonie

Wnioskowanie na podstawie ANOVA

  • $H_0:$ Wszystkie średnie są równe
  • $H_a:$ Co najmniej jedna średnia jest różna
  • Bez dalszej analizy nie można wskazać, która średnia się różni.
Podstawy wnioskowania statystycznego w Pythonie

Czas na ćwiczenia!

Podstawy wnioskowania statystycznego w Pythonie

Preparing Video For Download...