Problém mnohonásobného porovnávání
Problém mnohonásobného porovnávání nastává, když výzkumník opakovaně testuje různé proměnné nebo vzorky navzájem na statistickou významnost. Jen díky náhodě se čas od času dočkáme výsledku, který se jeví jako statisticky významný.
V tomto cvičení budeš pracovat s daty o platech zaměstnanců města Austin v Texasu. Porovnáš jejich platy s náhodně vygenerovanými daty a uvidíš, jak často tato náhodná data vypadají jako „významná" pro vysvětlení výše platů. Jakákoli taková „významnost" by samozřejmě byla falešná – náhodná čísla přece nic reálného nevysvětlují!
DataFrame se platy policistů (police_salaries_df) je již načtený, stejně jako balíčky pandas jako pd, NumPy jako np, Matplotlib jako plt a stats z SciPy.
Toto cvičení je součástí kurzu
Základy statistické inference v Pythonu
Pokyny k cvičení
- Ulož počet osob v datové sadě do proměnné
n_rows(každý řádek odpovídá jedné osobě) a inicializuj počítadlo významných výsledkůn_significantna nulu. - Napiš smyčku
for, která proběhne 1 000krát a pokaždé vygenerujen_rowsnáhodných čísel. - Vypočítej Pearsonovo R a příslušnou p-hodnotu mezi těmito náhodně vygenerovanými čísly a platy policistů.
- Pokud je p-hodnota významná na hladině 5 %, přičti k
n_significantjedničku pomocí operátoru+=.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)