Eine einzelne Permutation erzeugen
In den nächsten paar Übungen führen wir einen Signifikanztest mit Permutationstests durch. Wie im Video besprochen, wollen wir prüfen, ob es einen Unterschied bei den Spenden gibt, die durch die beiden Designs – A und B – erzeugt werden. Angenommen, du hast beide Versionen ein paar Tage lang laufen lassen und 500 Spenden mit A und 700 Spenden mit B gesammelt, gespeichert in den Variablen donations_A und donations_B.
Zuerst müssen wir eine Nullverteilung für die Differenz der Mittelwerte erzeugen. Das erreichen wir, indem wir mehrfach Permutationen des Datensatzes erzeugen und für jeden Fall die Differenz der Mittelwerte berechnen.
Erzeuge zunächst eine Permutation und berechne die Differenz der Mittelwerte für den permutierten Datensatz.
Diese Übung ist Teil des Kurses
Statistische Simulation in Python
Anleitung zur Übung
- Konkateniere die beiden Arrays
donations_Aunddonations_Bmitnp.concatenate()und weise das Ergebnisdatazu. - Erzeuge eine einzelne Permutation mit
np.random.permutation()und speichere sie inperm. - Berechne die Differenz der Mittelwerte von
permuted_Aundpermuted_Balsdiff_in_means.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))