Niestandardowe estymatory
W poprzednim ćwiczeniu wykonałeś prostą metodę bootstrap, którą teraz zmodyfikujemy na potrzeby bardziej złożonych estymatorów.
Wyobraź sobie, że badasz stan zdrowia studentów. Dysponujesz danymi o wzroście i wadze 1000 osób i chcesz wyznaczyć medianę wzrostu oraz korelację między wzrostem a wagą – wraz z 95-procentowym przedziałem ufności dla obu tych wielkości. Skorzystamy z metody bootstrap.
Przeanalizuj ramkę danych pandas o nazwie df, zawierającą wzrost i wagę 1000 studentów. Na tej podstawie oblicz 95-procentowy przedział ufności zarówno dla mediany wzrostu, jak i dla korelacji między wzrostem a wagą.
To ćwiczenie jest częścią kursu
Symulacje statystyczne w Pythonie
Instrukcje do ćwiczenia
- Użyj metody
.sample()nadf, aby wygenerować próbkę danych z powtórzeniami, i przypisz ją dotmp_df. - Dla każdego wygenerowanego zbioru danych w
tmp_dfoblicz medianę wzrostu oraz korelację między wzrostem a wagą, korzystając z.median()i.corr(). - Dołącz mediany wzrostu do
height_medians, a wartości korelacji dohw_corr. - Na koniec oblicz 95-procentowe (
[2.5, 97.5]) przedziały ufności dla każdej z powyższych wielkości, używającnp.percentile().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Sample with replacement and calculate quantities of interest
sims, data_size, height_medians, hw_corr = 1000, df.shape[0], [], []
for i in range(sims):
tmp_df = ____(n=____, replace=____)
height_medians.append(____)
hw_corr.append(____)
# Calculate confidence intervals
height_median_ci = np.____
height_weight_corr_ci = np.____
print("Height Median CI = {} \nHeight Weight Correlation CI = {}".format( height_median_ci, height_weight_corr_ci))