LoslegenKostenlos loslegen

RSS-Minima visualisieren

In dieser Übung berechnest und visualisierst du, wie sich die RSS für verschiedene Werte der Modellparameter verändert. Beginne damit, den Achsenabschnitt konstant zu halten, variiere aber die Steigung: Für jeden Steigungswert berechnest du die Modellwerte und die daraus resultierende RSS. Sobald du ein Array mit RSS-Werten hast, bestimmst du den minimalen RSS-Wert im Code und leitest aus diesem Minimum die Steigung ab, die zu dieser minimalen RSS geführt hat.

Verwende die vorab geladenen Datenarrays x_data, y_data und den leeren Container rss_list, um zu starten.

Diese Übung ist Teil des Kurses

Einführung in lineares Modellieren mit Python

Kurs anzeigen

Anleitung zur Übung

  • Für jeden Testwert a1 in a1_array nutzt du model() zur Vorhersage des Modellwerts und anschließend compute_rss() mit y_data, y_model; speichere die Ausgabe rss_value in rss_list.
  • Wandle rss_list in ein np.array() um und verwende np.min(), um den Minimalwert in rss_array zu finden.
  • Nutze np.where(), um den zugehörigen Testwert zu finden, und weise das Ergebnis best_a1 zu.
  • Verwende plot_rss_vs_parameters(), um visuell zu bestätigen, dass deine Werte mit der Abbildung übereinstimmen.

Interaktive Übung

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

# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
    y_model = model(x_data, a0=150, a1=____)
    rss_value = compute_rss(y_data, ____)
    rss_list.append(____)

# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____) 
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))

# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)
Code bearbeiten und ausführen