Scheve data analyseren met een permutationtest
Permutationtests zijn handig in situaties die niet voldoen aan de aannames van de hypothesetoetsen die je al kent. In deze oefening schrijf je zelf een permutationtest met het statsmodels-pakket.
Je wilt het gemiddelde aantal fundingrondes vergelijken tussen bedrijven in de analytics-sector en alle andere venture-gefunde bedrijven. Een t-toets lijkt misschien verleidelijk, maar je weet zeker dat het aantal fundingrondes niet normaal verdeeld is. De meeste bedrijven hebben namelijk maar één ronde, en het aantal bedrijven met twee of meer rondes neemt snel af.
Het volgende is voor je ingeladen:
analytics_df- Gegevens over alle analytics-bedrijvennon_analytics_df- Gegevens over alle andere niet-analytics-bedrijven
Deze oefening maakt deel uit van de cursus
Basis van inferentie in Python
Oefeninstructies
- Definieer een statistiekfunctie die, gegeven twee steekproeven
fundings_group_1enfundings_group_2, het verschil in gemiddeld aantalfunding_roundsteruggeeft. - Voer een permutationtest uit met de kolom
funding_roundsuit elk gegevensset, de door jou gedefinieerde statistiekfunctie en 100 hersamples. - Print de resulterende p-waarde van je permutationtest.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Write a "statistic" function which calculates the difference in means
def statistic(funding_group_1, funding_group_2):
return ____(fundings_group_1) - ____(funding_group_2)
# Conduct a permutation test using 100 resamples
perm_result = stats.permutation_test((____['funding_rounds'], ____['funding_rounds']),
statistic=____,
n_resamples=____,
vectorized=____)
# Print the p-value
____(____.pvalue)