Analiza skośnych danych za pomocą testu permutacyjnego
Testy permutacyjne sprawdzają się w sytuacjach, które nie spełniają założeń znanych ci testów hipotez. W tym ćwiczeniu zaimplementujesz test permutacyjny przy użyciu pakietu statsmodels.
Chcesz porównać średnią liczbę rund finansowania między firmami z branży analitycznej a wszystkimi pozostałymi spółkami finansowanymi przez venture capital. Choć możesz mieć ochotę sięgnąć po test t, liczba rund finansowania z pewnością nie ma rozkładu normalnego. Większość firm przeszła tylko jedną rundę, a liczba firm z dwiema rundami lub więcej gwałtownie maleje.
Następujące obiekty zostały już wczytane:
analytics_df– dane dotyczące wszystkich firm analitycznychnon_analytics_df– dane dotyczące wszystkich pozostałych firm spoza branży analitycznej
To ćwiczenie jest częścią kursu
Podstawy wnioskowania statystycznego w Pythonie
Instrukcje do ćwiczenia
- Zdefiniuj funkcję statystyki, która dla dwóch próbek
fundings_group_1ifundings_group_2zwraca różnicę średniej liczbyfunding_rounds. - Przeprowadź test permutacyjny, używając kolumny
funding_roundsz każdego zbioru danych, zdefiniowanej funkcji statystyki oraz 100 prób losowania. - Wyświetl wartość p uzyskaną w wyniku testu permutacyjnego.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)