Parametriska test

Grunderna i inferens med Python

Paul Savala

Assistant Professor or Mathematics

ANOVA

  • ANOVA – Jämför medelvärdet för varje faktor
  • Responsvariabel – Ett numeriskt mätvärde
  • Faktor – Ett kategoriskt värde som definierar grupper

En tabell med riskkapitalfinansiering från flera företag inom olika marknader.

Grunderna i inferens med Python

ANOVA

investments_df.groupby('market')['funding_total_usd'].mean()
Market        Average funding
===========   ===============
Advertising      13806610
Analytics        14762930
Biotechnology    20838670
...              ...
  • Responsvariabel: Finansiering
  • Faktor: Marknad
  • ANOVA: Jämför medelfinansiering per marknad
Grunderna i inferens med Python

Antaganden för ANOVA

  • Responsvärden för varje faktor är normalfördelade
    • Finansieringsbelopp per marknad är normalfördelade
  • Responsvärden per faktor har lika populationsvarians
    • Finansieringsvariationen per marknad är normalfördelad
Grunderna i inferens med Python

Normalfördelad responsvariabel

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

Ett histogram med total finansiering per företag på x-axeln, frekvens på y-axeln, ett mycket högt stapelvärde nära noll och flera betydligt lägre staplar därefter.

Grunderna i inferens med Python

Logaritmtransformationer och normalitet

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

health_log.plot(kind='hist')

Ett histogram med total finansiering per företag på x-axeln, frekvens på y-axeln, ett mycket högt stapelvärde nära noll och flera betydligt lägre staplar därefter.

Grunderna i inferens med Python

Lika varians

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

Levenes test för lika varians

$H_0:$ Populationerna har lika varians

$H_a:$ Populationerna har olika varianser

Grunderna i inferens med Python

Lika varians

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

Slutsats: Nullhypotesen förkastas inte. Marknaderna har lika varians i finansiering.

Grunderna i inferens med Python

ANOVA i SciPy

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

print(p_value < 0.05)
True

Slutsats: Marknaderna har statistiskt signifikant olika finansiering.

Grunderna i inferens med Python

Slutledning baserad på ANOVA

  • $H_0:$ Alla medelvärden är lika
  • $H_a:$ Minst ett medelvärde skiljer sig
  • Det går inte att avgöra vilket medelvärde som skiljer sig utan vidare analys.
Grunderna i inferens med Python

Nu kör vi en övning!

Grunderna i inferens med Python

Preparing Video For Download...