Algorithmus für lineare Regression
Um lineare Regression wirklich zu verstehen, hilft es zu wissen, wie der Algorithmus funktioniert. Der Code für ols() umfasst Hunderte von Zeilen, weil er mit jeder Formel und jedem Datensatz funktionieren muss. Für eine einfache lineare Regression auf einem einzelnen Datensatz kannst du den Algorithmus jedoch in nur wenigen Zeilen Code implementieren.
Der Ablauf ist:
- Schreibe zuerst eine Funktion, die die Quadratsumme berechnet, mit dieser allgemeinen Syntax:
def function_name(args):
# some calculations with the args
return outcome
- Nutze anschließend die Minimierungsfunktion von
scipy, um die Koeffizienten zu finden, die diese Funktion minimieren.
Die erklärenden Werte (die Spalte n_convenience in taiwan_real_estate) sind als x_actual verfügbar.
Die Zielwerte (die Spalte price_twd_msq in taiwan_real_estate) sind als y_actual verfügbar.
minimize() ist ebenfalls geladen.
Diese Übung ist Teil des Kurses
<Kurs>Fortgeschrittene Regression mit statsmodels in Python</Kurs>Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Complete the function
def calc_sum_of_squares(coeffs):
# Unpack coeffs
____, ____ = ____
# Calculate predicted y-values
y_pred = ____ + ____ * ____
# Calculate differences between y_pred and y_actual
y_diff = ____ - ____
# Calculate sum of squares
sum_sq = ____
# Return sum of squares
return sum_sq
# Test the function with intercept 10 and slope 1
print(calc_sum_of_squares([10, 1]))