KI‑Kompass
Kompass

Lineare und logistische Regression

Das einfachste Modell, das man vollständig versteht, und der Grund, warum es in der Praxis öfter gewinnt, als man erwartet.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Sie legen ein Lineal so durch eine Punktwolke, dass es möglichst nah an allen Punkten liegt. Mehr ist lineare Regression nicht. Die logistische Variante staucht das Ergebnis danach in den Bereich zwischen null und eins, damit eine Wahrscheinlichkeit daraus wird.

Wozu es gut ist

Preise schätzen, Bearbeitungsdauern vorhersagen, Ausfallwahrscheinlichkeiten berechnen, Kündigungsrisiken bewerten. Überall dort, wo die Antwort auch begründet werden muss.

Koeffizienten lesen

import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler

rng = np.random.default_rng(0)
n = 600
alter        = rng.normal(45, 12, n)
vertragsjahre = rng.normal(4, 2.5, n)
z = -0.03 * alter + 0.45 * vertragsjahre - 0.5
y = (rng.random(n) < 1 / (1 + np.exp(-z))).astype(int)

X = np.column_stack([alter, vertragsjahre])
Xs = StandardScaler().fit_transform(X)      # erst skalieren, dann vergleichen
m = LogisticRegression().fit(Xs, y)

for name, c in zip(["Alter", "Vertragsjahre"], m.coef_[0]):
    print(f"{name:14s} Koeffizient {c:+.3f}   Odds-Faktor {np.exp(c):.2f}")

Ein Odds-Faktor von 1,6 heißt: eine Standardabweichung mehr Vertragsjahre erhöht das Chancenverhältnis um 60 Prozent. Diese Aussage lässt sich einem Fachbereich vorlegen, und genau darin liegt der Wert.

  • Vor dem Vergleich von Koeffizienten immer standardisieren.
  • Kategoriale Merkmale als Dummy-Variablen aufnehmen, eine Kategorie weglassen.
  • Auf Multikollinearität prüfen: stark korrelierte Merkmale machen Koeffizienten instabil.
  • Residuen ansehen. Ein Muster darin heißt, dass ein Merkmal fehlt.

Die Formeln

Lineare Regression, geschlossene Lösung

β̂ = (XᵀX + λI)⁻¹ Xᵀ y

Die Koeffizienten ergeben sich direkt aus der Normalgleichung; der Ridge-Term macht die Inverse auch bei korrelierten Spalten berechenbar.

X
die Merkmalsmatrix, n Zeilen mal d Spalten
y
der Zielvektor
β
die gesuchten Koeffizienten
λ
Ridge-Parameter zur Stabilisierung

Logistische Regression

p = σ(β₀ + Σⱼ βⱼ xⱼ), σ(z) = 1 / (1 + e^(−z)) log( p / (1−p) ) = β₀ + Σⱼ βⱼ xⱼ

Die logarithmierte Chance ist linear in den Merkmalen; die logistische Funktion macht daraus eine Wahrscheinlichkeit.

σ
die logistische Funktion, staucht auf (0,1)
p
die vorhergesagte Wahrscheinlichkeit
βⱼ
der Koeffizient von Merkmal j

Durchgerechnet

Mit β₀ = −0,5, β₁ = 0,45 und x₁ = 3:

  • z = −0,5 + 0,45 × 3 = 0,85
  • p = 1/(1 + e^(−0,85)) = 1/(1 + 0,4274) = 0,7006
  • Odds: 0,7006 / 0,2994 = 2,34, und tatsächlich e^0,85 = 2,34

Steigt x₁ auf 4, wird z = 1,30, p = 0,7858 und die Odds 3,67: also genau der Faktor e^0,45 = 1,568 mehr. Der Koeffizient ist der Logarithmus dieses Faktors, was ihn direkt interpretierbar macht.

Aufwand

Die Normalgleichung kostet O(n d² + d³). Bei d = 50 und n = 10⁶ ist das in Sekunden erledigt; bei d = 10⁵ ist die Inverse nicht mehr praktikabel und man löst iterativ. Genau an dieser Grenze beginnt der Bereich, in dem Gradientenabstieg die einzige Option ist.

War diese Seite hilfreich?
Lineare und logistische Regression