Bootstrap-Hypothesentest
Der Permutationstest hat eine ziemlich restriktive Hypothese: dass die Bout-Längen von Heterozygoten und Wildtyp identisch verteilt sind. Verwende jetzt einen Bootstrap-Hypothesentest, um die Hypothese zu prüfen, dass die Mittelwerte gleich sind, ohne Annahmen über die Verteilungen zu machen.
Diese Übung ist Teil des Kurses
Fallstudien zum statistischen Denken
Anleitung zur Übung
- Erstelle ein Array
bout_lengths_concat, das alle Bout-Längen sowohl für Wildtyp (bout_lengths_wt) als auch für Heterozygot (bout_lengths_het) enthält, und zwar mitnp.concatenate(). - Berechne den Mittelwert aller Bout-Längen aus diesem zusammengeführten Array (
bout_lengths_concat) und speichere das Ergebnis in der Variablenmean_bout_length. - Verschiebe beide Datensätze so, dass sie denselben Mittelwert haben, nämlich
mean_bout_length. Speichere die verschobenen Arrays in den Variablenwt_shiftedundhet_shifted. - Verwende
dcst.draw_bs_reps(), um 10.000 Bootstrap-Replikate des Mittelwerts für jeden der verschobenen Datensätze zu ziehen. Speichere die jeweiligen Replikate inbs_reps_wtundbs_reps_het. - Subtrahiere
bs_reps_wtvonbs_reps_het, um die Bootstrap-Replikate der Differenz der Mittelwerte zu erhalten. Speichere die Ergebnisse in der Variablenbs_reps. - Berechne den p-Wert, wobei „mindestens so extrem wie“ bedeutet, dass die Differenz der Mittelwerte unter der Nullhypothese größer oder gleich der experimentell beobachteten ist. Die Variable
diff_means_expaus der letzten Übung ist bereits in deinem Namensraum.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Concatenate arrays: bout_lengths_concat
bout_lengths_concat = ____((____, ____))
# Compute mean of all bout_lengths: mean_bout_length
mean_bout_length = ____
# Generate shifted arrays
wt_shifted = ____ - np.mean(____) + ____
het_shifted = ____ - ____ + ____
# Compute 10,000 bootstrap replicates from shifted arrays
bs_reps_wt = ____
bs_reps_het = ____
# Get replicates of difference of means: bs_replicates
bs_reps = ____ - ____
# Compute and print p-value: p
p = ____(____ >= ____) / len(____)
print('p-value =', p)