Generera en enskild permutation
I de närmaste övningarna kör vi ett signifikanstest med permutationstestning. Som diskuterades i videon vill vi undersöka om det finns någon skillnad i donationer genererade av de två designerna – A och B. Anta att du har kört båda versionerna i några dagar och samlat in 500 donationer för A och 700 för B, lagrade i variablerna donations_A och donations_B.
Först behöver vi generera en nolldistribution för skillnaden i medelvärden. Det gör vi genom att skapa flera permutationer av datamängden och beräkna skillnaden i medelvärde för varje fall.
Låt oss börja med att generera en permutation och beräkna skillnaden i medelvärden för den permuterade datamängden.
Den här övningen är en del av kursen
Statistisk simulering i Python
Övningsinstruktioner
- Konkatenera de två arrayerna
donations_Aochdonations_Bmednp.concatenate()och tilldela resultatet tilldata. - Skapa en enskild permutation med
np.random.permutation()och tilldela den tillperm. - Beräkna skillnaden i medelvärde mellan
permuted_Aochpermuted_Boch spara den somdiff_in_means.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Concatenate the two arrays donations_A and donations_B into data
len_A, len_B = len(donations_A), len(donations_B)
data = ____([donations_A, donations_B])
# Get a single permutation of the concatenated length
perm = ____(len(donations_A) + len(donations_B))
# Calculate the permutated datasets and difference in means
permuted_A = data[perm[:len(donations_A)]]
permuted_B = data[perm[len(donations_A):]]
diff_in_means = ____
print("Difference in the permuted mean values = {}.".format(diff_in_means))