Problema dei confronti multipli
Il problema dei confronti multipli si presenta quando un ricercatore verifica ripetutamente la significatività tra diverse variabili/campioni. Per puro caso, ci si aspetta di trovare occasionalmente un risultato statisticamente significativo.
In questo esercizio lavorerai con i dati sugli stipendi dei dipendenti della città di Austin, TX. Confronterai i loro stipendi con dati generati casualmente. Vedrai con quale frequenza questi dati casuali risultano "significativi" nello spiegare gli stipendi dei dipendenti. È chiaro che una tale "significatività" sarebbe spuriosa, perché i numeri casuali non sono molto utili per spiegare alcunché!
Per te è stato caricato un DataFrame con gli stipendi degli agenti di polizia (police_salaries_df), insieme ai pacchetti pandas come pd, NumPy come np, Matplotlib come plt e stats da SciPy.
Questo esercizio fa parte del corso
Fondamenti dell'inferenza in Python
Istruzioni dell'esercizio
- Memorizza il numero di persone nel dataset in
n_rows(ogni riga corrisponde a una persona) e inizializza a zero il numero di risultati significativi,n_significant. - Scrivi un ciclo
forche giri 1000 volte e generin_rowsnumeri casuali. - Calcola il coefficiente R di Pearson e il p-value associato tra questi numeri casuali e gli stipendi degli agenti di polizia.
- Se il p-value è significativo al 5%, aggiungi uno a
n_significantusando l'operatore+=.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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)