Das p-Value visualisieren
In dieser Übung visualisierst du das p-Value – also die Wahrscheinlichkeit, dass der von uns geschätzte Effekt (oder die „Geschwindigkeit“) nur durch zufällige Schwankungen in der Stichprobe entstanden ist. Dein Ziel ist, dies als den Anteil der Punkte in der Verteilung der permutierten Teststatistik darzustellen, die rechts vom Mittelwert der Teststatistik ("effect size") aus den nicht permutierten Stichproben liegen.
Zum Start haben wir group_duration_short und group_duration_long sowie die Funktionen compute_test_statistic(), shuffle_and_split() und plot_test_statistic_effect() vorab geladen.
Diese Übung ist Teil des Kurses
Einführung in lineares Modellieren mit Python
Anleitung zur Übung
- Verwende
compute_test_statistic(), umtest_statistic_unshuffledausgroup_duration_shortundgroup_duration_longzu erhalten; verwende dannnp.mean(), um die effect size zu berechnen. - Nutze
shuffle_and_split(), umshuffle_half1undshuffle_half2zu erzeugen, und verwendecompute_test_statistic(), umtest_statistic_shuffledzu berechnen. - Erzeuge eine boolesche Maske
condition, bei der Werte vontest_statistic_shuffledgrößer oder gleicheffect_sizesind, und verwende diese Maske dann, um dasp_valuezu berechnen. - Gib das
p_valueaus und zeichne beide Teststatistiken mitplot_test_statistic_effect().
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Compute the test stat distribution and effect size for two population groups
test_statistic_unshuffled = compute_test_statistic(____, ____)
effect_size = np.mean(____)
# Randomize the two populations, and recompute the test stat distribution
shuffled_half1, ____ = shuffle_and_split(group_duration_short, ____)
test_statistic_shuffled = compute_test_statistic(shuffled_half1, ____)
# Compute the p-value as the proportion of shuffled test stat values >= the effect size
condition = ____ >= ____
p_value = len(test_statistic_shuffled[____]) / len(test_statistic_shuffled)
# Print p-value and overplot the shuffled and unshuffled test statistic distributions
print("The p-value is = {}".format(____))
fig = plot_test_stats_and_pvalue(test_statistic_unshuffled, test_statistic_shuffled)