LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Verwende compute_test_statistic(), um test_statistic_unshuffled aus group_duration_short und group_duration_long zu erhalten; verwende dann np.mean(), um die effect size zu berechnen.
  • Nutze shuffle_and_split(), um shuffle_half1 und shuffle_half2 zu erzeugen, und verwende compute_test_statistic(), um test_statistic_shuffled zu berechnen.
  • Erzeuge eine boolesche Maske condition, bei der Werte von test_statistic_shuffled größer oder gleich effect_size sind, und verwende diese Maske dann, um das p_value zu berechnen.
  • Gib das p_value aus und zeichne beide Teststatistiken mit plot_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)
Code bearbeiten und ausführen