LoslegenKostenlos loslegen

Testfehler schätzen

Jetzt, da dir posterior_predictive (in deinem Arbeitsbereich verfügbar) vorliegt, kannst du die Modellleistung auf neuen Daten auswerten. Dazu musst du über die Testbeobachtungen iterieren und für jede den Vorhersagefehler als Differenz zwischen der Vorhersageverteilung für diese Beobachtung und dem tatsächlichen, wahren Wert berechnen. So erhältst du die Verteilung des Modellfehlers, die du anschließend visualisieren kannst.

Du brauchst pymc3 und numpy, die bereits als pm bzw. np importiert sind. Die Testdaten bikes_test stehen dir ebenfalls im Arbeitsbereich zur Verfügung. Los geht’s!

Diese Übung ist Teil des Kurses

Bayesianische Datenanalyse in Python

Kurs anzeigen

Anleitung zur Übung

  • Initialisiere errors als leere Liste.
  • Berechne für jede Zeile in bikes_test den Vorhersagefehler als die Vorhersageziehungen für diese Zeile aus posterior_predictive minus dem einzelnen wahren Wert von num_bikes aus der Zeile.
  • Forme errors um, indem du sie in ein numpy-Array konvertierst und auf das Ergebnis die Methode .reshape() anwendest, und weise das Endergebnis error_distribution zu.
  • Plotte die Testfehlerverteilung mit der Funktion plot_posterior() von pymc3.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Initialize errors
errors = ____

# Iterate over rows of bikes_test to compute error per row
for index, test_example in bikes_test.iterrows():
    error = ____[____][:, ____] - ____[____]
    errors.append(error)

# Reshape errors
error_distribution = ____(____).____()

# Plot the error distribution
____
plt.show()
Code bearbeiten und ausführen