Kom igångKom igång gratis

Hypotestestning – skillnad i medelvärden

Vi vill testa hypotesen att det finns en skillnad i genomsnittliga donationer från A och B. I föregående övning lärde du dig att generera en permutation av data. Nu ska vi generera en nollfördelning av skillnaden i medelvärden och sedan beräkna p-värdet.

För nollfördelningen genererar vi först flera permuterade datamängder och lagrar skillnaden i medelvärden för varje fall. Sedan beräknar vi teststatistikan som skillnaden i medelvärden för den ursprungliga datamängden. Slutligen approximerar vi p-värdet genom att beräkna dubbla andelen fall där skillnaden är större än eller lika med det absoluta värdet av teststatistikan (tvåsidig hypotes). Ett p-värde under exempelvis 0,05 kan indikera statistisk signifikans.

Den här övningen är en del av kursen

Statistisk simulering i Python

Visa kurs

Övningsinstruktioner

  • Generera flera permutationer av donations_A och donations_B och tilldela resultatet till perm.
  • Sätt samples till skillnaden i medelvärden för permuted_A_datasets och permuted_B_datasets. Vi sätter axis=1 för att beräkna ett medelvärde per datamängd i stället för ett totalt medelvärde.
  • Sätt test_stat till skillnaden i medelvärden för donations_A och donations_B.
  • Beräkna p-värdet p_val som dubbla andelen värden i samples som är större än eller lika med det absoluta värdet av test_stat.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Generate permutations equal to the number of repetitions
perm = np.array([np.random.____(len(____) + len(____)) for i in range(reps)])
permuted_A_datasets = data[perm[:, :len(donations_A)]]
permuted_B_datasets = data[perm[:, len(donations_A):]]

# Calculate the difference in means for each of the datasets
samples = np.mean(____, axis=1) - np.mean(____, axis=1)

# Calculate the test statistic and p-value
test_stat = ____
p_val = 2*np.sum(____ >= np.abs(____))/reps
print("p-value = {}".format(p_val))
Redigera och kör kod