Zurück zur Startseite

Lineare Regression: OLS-Methode und Gradientenabstieg

Der Artikel zerlegt die lineare Regression von der Grundgleichung bis zu fortgeschrittenen Techniken: OLS, Gradientenabstieg, Regularisierung, Umgang mit Ausreißern. Python-Code und Qualitätsmetriken werden für die praktische Umsetzung bereitgestellt.

Lineare Regression von Grund auf bauen: Code und Metriken
Advertisement 728x90

Lineare Regression: Von Daten zum optimierten Modell

Lineare Regression modelliert lineare Beziehungen zwischen Prädiktoren und einer Zielvariable. Bei einfacher linearer Regression lautet die Gleichung y = b₀ + b₁ × x, wobei x der Prädiktor, y die Antwortvariable, b₀ der Achsenabschnitt und b₁ die Steigung ist. Die Koeffizienten bestimmen die Position der Geraden in der Ebene.

Daten in Tabellenform mit Merkmalen und einer Antwortvariable bilden die Grundlage. Beispiel: die Beziehung zwischen Wohnungspreis und Anzahl der Zimmer. Die Modellqualität hängt von der Repräsentativität der Stichprobe ab – das Prinzip „Garbage in, garbage out“ bestimmt das Ergebnis.

Modelle sind nützlich für Vorhersagen und zur Identifizierung von Mustern. Die Transformation tabellarischer Daten in einen analytischen Ausdruck ermöglicht die Extrapolation auf neue Beobachtungen.

Google AdInline article slot

Methode der kleinsten Quadrate

OLS (Ordinary Least Squares) minimiert die Summe der quadrierten Residuen: ∑(y_i - ŷ_i)². Analytische Lösung: b₁ = Cov(x, y) / Var(x), b₀ = ȳ - b₁ × x̄.

# Beispiel für Koeffizientenberechnung
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 5])
b1 = np.cov(x, y)[0,1] / np.var(x)
b0 = np.mean(y) - b1 * np.mean(x)
print(f'b0: {b0:.2f}, b1: {b1:.2f}')

Dieser Ansatz funktioniert für nicht-degenerierte Daten, erfordert aber im multivariaten Fall eine Matrixinversion (XᵀX)⁻¹.

Bewertung der Modellqualität

Visuell: Streudiagramm von Vorhersagen vs. tatsächliche Werte, Residuenplots. Metriken:

Google AdInline article slot
  • (Bestimmtheitsmaß): Anteil der erklärten Varianz, 0–1.
  • RMSE: √(MSE), in Einheiten der Antwortvariable.
  • MAE: mittlerer absoluter Fehler.
  • MAPE/SMAPE: prozentuale Fehler.

Residuenplots zeigen Heteroskedastizität oder Nichtlinearität.

Datenaufteilung und Validierung

Trainings-/Testaufteilung (80/20) verhindert Overfitting. Kreuzvalidierung (k-fold) mittelt Metriken über Folds.

def train_test_split(X, y, test_size=0.2):
    indices = np.arange(len(X))
    np.random.shuffle(indices)
    split = int(len(X) * (1 - test_size))
    return X[indices[:split]], X[indices[split:]], y[indices[:split]], y[indices[split:]]

Multivariate Regression

Erweiterung auf y = b₀ + b₁x₁ + ... + bₙxₙ. Matrixform: ŷ = Xβ, Lösung β = (XᵀX)⁻¹Xᵀy. Vorverarbeitung:

Google AdInline article slot
  • Normalisierung: (x - min)/(max - min).
  • Standardisierung: (x - μ)/σ.
  • One-Hot-Encoding kategorialer Merkmale.

Probabilistische Interpretation

Modell nimmt Normalverteilung der Fehler an: ε ~ N(0, σ²). Vorhersageintervall: *ŷ ± t SE √(1 + 1/n + (x - x̄)² / SXX)*. Maximum-Likelihood-Schätzung (MLE) optimiert die Log-Likelihood.

Umgang mit Ausreißern

Erkennungsmethoden:

  • Mahalanobis-Distanz: generalisierte Distanz im multivariaten Raum.
  • Cook's-Distanz: Einfluss einer Beobachtung auf Koeffizienten.
  • LOF (Local Outlier Factor): lokale Dichte.
  • RANSAC: Konsens zufälliger Teilmengen.

Entfernung oder robuste Regressoren (Huber-Verlust).

Gradientenabstieg und Regularisierung

Für große Daten: iterative Optimierung θ := θ - α ∇J(θ), wobei J die Kostenfunktion ist.

  • L1 (Lasso): |β|, Sparsity.
  • L2 (Ridge): β², Schrumpfung.

Hyperparameter λ wird per CV optimiert.

def gradient_descent(X, y, lr=0.01, epochs=1000):
    theta = np.zeros(X.shape[1])
    for _ in range(epochs):
        pred = X @ theta
        grad = X.T @ (pred - y) / len(y)
        theta -= lr * grad
    return theta

Wichtige Erkenntnisse

  • Lineare Regression ist ein grundlegendes Werkzeug für lineare Beziehungen, skalierbar für multivariate Aufgaben.
  • OLS bietet eine analytische Lösung; Gradientenabstieg ist für große Datensätze geeignet.
  • Metriken wie R² und RMSE bewerten die Qualität; Residuenplots diagnostizieren Probleme.
  • Regularisierung (L1/L2) bekämpft Overfitting und Multikollinearität.
  • Vorverarbeitung (Skalierung, Ausreißerentfernung) ist entscheidend für Stabilität.

— Editorial Team

Advertisement 728x90

Weiterlesen