Zacznij terazZacznij za darmo

Problem wielokrotnych porównań

Problem wielokrotnych porównań pojawia się, gdy badacz wielokrotnie sprawdza różne zmienne lub próbki pod kątem istotności statystycznej. Czysto przypadkowo możemy od czasu do czasu natrafić na wynik uznawany za statystycznie istotny.

W tym ćwiczeniu będziesz pracować z danymi dotyczącymi wynagrodzeń pracowników Urzędu Miasta Austin w Teksasie. Porównasz te wynagrodzenia z losowo wygenerowanymi danymi i zobaczysz, jak często takie losowe dane okazują się „istotne" w wyjaśnianiu zarobków pracowników. Oczywiście każda taka „istotność" byłaby pozorna – liczby losowe raczej niczego nie wyjaśniają!

Ramka danych z wynagrodzeniami funkcjonariuszy policji (police_salaries_df) jest już wczytana, podobnie jak pakiety: pandas jako pd, NumPy jako np, Matplotlib jako plt oraz stats z SciPy.

To ćwiczenie jest częścią kursu

Podstawy wnioskowania statystycznego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zapisz liczbę osób w zbiorze danych w zmiennej n_rows (każdy wiersz to jedna osoba) i zainicjuj liczbę istotnych wyników, n_significant, wartością zero.
  • Napisz pętlę for, która wykona się 1000 razy i za każdym razem wygeneruje n_rows liczb losowych.
  • Oblicz współczynnik R Pearsona oraz odpowiadającą mu p-wartość między wygenerowanymi liczbami a wynagrodzeniami funkcjonariuszy policji.
  • Jeśli p-wartość jest istotna na poziomie 5%, dodaj jeden do n_significant za pomocą operatora +=.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Compute number of rows and initialize n_significant
n_rows = ____
n_significant = ____

# For loop which generates n_rows random numbers 1000 times
for i in ____:
  random_nums = np.random.uniform(size=____)
  # Compute correlation between random_nums and police salaries
  r, p_value = stats.____(____, random_nums)
  # If the p-value is significant at 5%, increment n_significant
  if ____ < ____:
    ____ += 1
    
print(n_significant)
Edytuj i uruchom kod