IniziaInizia gratis

Esercizio sulle permutazioni

I giocatori NBA pesano più degli adulti statunitensi? Ora vuoi calcolare l’intervallo di confidenza al 95% della differenza media (in chilogrammi) tra i giocatori NBA e gli adulti negli Stati Uniti. Userai le due liste fornite.

La permutazione è ottima quando si testa una differenza, quindi qui userai proprio questo metodo di resampling!

nba_weights = [96.7, 101.1, 97.9, 98.1, 98.1, 100.3, 101.0, 98.0, 97.4, 100.5, 100.3, 100.2, 100.6]
us_adult_weights = [75.1, 100.1, 95.2, 81.0, 72.0, 63.5, 80.0, 97.1, 94.3, 80.3, 93.5, 85.8, 95.1]

Nota che ciascuna delle liste sopra contiene 13 pesi.

Sono già stati importati per te: random, numpy come np, seaborn come sns e matplotlib.pyplot come plt.

Questo esercizio fa parte del corso

Simulazioni Monte Carlo in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci all_weights come una lista che contenga i valori sia di nba_weights sia di us_adult_weights.
  • Esegui la permutazione su all_weights usando np.random.permutation().
  • Assegna i primi 13 campioni permutati a perm_nba e i restanti 13 a perm_adult.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define all_weights
all_weights = ____
simu_diff = []

for i in range(1000):
	# Perform the permutation on all_weights
    perm_sample = ____
    # Assign the permutated samples to perm_nba and perm_adult
    perm_nba, perm_adult = ____, ____
    perm_diff = np.mean(perm_nba) - np.mean(perm_adult)
    simu_diff.append(perm_diff)
mean_diff = np.mean(nba_weights) - np.mean(us_adult_weights) 
upper = np.quantile(simu_diff, 0.975)
lower = np.quantile(simu_diff, 0.025)
print(mean_diff, lower, upper)
Modifica ed esegui il codice