Öva på permutation
Är NBA-spelare tyngre än vuxna män i USA? Du ska nu beräkna 95-procentigt konfidensintervall för medelvärdesskillnaden (i kilogram) mellan NBA-spelare och vuxna amerikanska män. Du använder de två listor som finns tillgängliga.
Permutation lämpar sig väl för att testa skillnader, och det är därför den återsamplingsmetod du använder här!
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]
Observera att var och en av listorna ovan innehåller 13 vikter.
Följande har redan importerats: random, numpy as np, seaborn as sns och matplotlib.pyplot as plt.
Den här övningen är en del av kursen
Monte Carlo-simuleringar i Python
Övningsinstruktioner
- Definiera
all_weightssom en lista med värdena från bådenba_weightsochus_adult_weights. - Utför permutationen på
all_weightsmed hjälp avnp.random.permutation(). - Tilldela de första 13 permuterade samplen till
perm_nbaoch de resterande 13 tillperm_adult.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)