Prognosen mit linearer Regression

https://bildung.social/@oerinformatik/

https://oer-informatik.de/regression

lineare Regression, Regressionsgerade, Prognose, Methode der kleinsten Quadrate, Residuum, Bestimmtheitsmaß, Korrelationskoeffizient, Steigungsdreieck, Extrapolation, multiple Regression, Datenanalyse

tl/dr; (ca. 12 min Lesezeit): Mit einer linearen Regression beschreibst Du den Zusammenhang zwischen einer Einflussgröße und einer Zielgröße durch eine Gerade ŷ = β₀ + β₁·x und nutzt sie für Prognosen. Der Artikel zeigt, wann welches Regressionsverfahren passt, was Achsenabschnitt und Steigung im Sachzusammenhang bedeuten, wie Du die Koeffizienten mit der Methode der kleinsten Quadrate berechnest oder grafisch über ein Steigungsdreieck abliest, wie Du Prognosen in beide Richtungen rechnest und wie Du die Qualität eines Modells beurteilst und verbesserst [AI-Assisted]. (Zuletzt geändert am 27.10.2026)

Dieser Artikel gehört zu den Artikeln über Datenanalyse: Daten auswerten und visualisieren / Prognosen mit linearer Regression / Grundlagen des maschinellen Lernens / Übungsaufgaben: lineare Regression

Schon fit in diesem Thema? Nutze die Kann-Liste und die Leitfragen unter dem Artikel als Checkliste, ob Du die relevanten Kompetenzen bereits hast.

Dieser Artikel baut auf der Kann-Liste des Artikels Daten auswerten und visualisieren auf (Mittelwert, Standardabweichung, Diagramme).

Als Grundlagen kann ich nach Durchlesen des Artikels…

  • … abhängige und unabhängige Variable unterscheiden und begründet ein passendes Regressionsverfahren (einfache lineare, multiple lineare, logistische Regression) auswählen.

  • … die Bedeutung von Regressionskonstante β₀ und Regressionsgewicht β₁ im Sachzusammenhang mit Einheit erklären.

  • … Datenpunkte in ein Streudiagramm übertragen, eine Regressionsgerade aus β₀ und β₁ einzeichnen und β₀ und β₁ einer gezeichneten Geraden über ein Steigungsdreieck ermitteln.

  • … die Koeffizienten mit der Methode der kleinsten Quadrate aus einer Kalkulationstabelle berechnen.

  • … mit der Regressionsgeraden Prognosen berechnen und die Gleichung nach x umstellen, um einen Grenzwert für die Einflussgröße zu bestimmen.

Darüber hinaus kann ich als Expertenwissen…

  • … die Güte eines Modells mit Residuen, Bestimmtheitsmaß R² und Korrelationskoeffizient r beurteilen.

  • … Abweichungen zwischen Modellen und Messwerten erklären (nichtlinearer Verlauf, Sättigung, Ausreißer, Extrapolation) und begründete Verbesserungen vorschlagen.

  • … Korrelation von Kausalität unterscheiden und Regressionen mit Tabellenkalkulation oder Python berechnen.

Wozu Regression?

Viele Planungsfragen lauten: „Wenn sich A ändert, wie verändert sich dann B?“ – Wie lange antwortet der Server bei doppelter Last? Wie viele Bestellungen sind bei einem bestimmten Preis zu erwarten? Eine Regressionsanalyse beschreibt einen solchen Zusammenhang mit einer Gleichung, die aus vorhandenen Messwerten gewonnen wird, und nutzt sie für Prognosen.

Dabei unterscheidest Du zwei Arten von Größen:

  • Die unabhängige Variable x (Einflussgröße, Prädiktor, im maschinellen Lernen Feature) ist die Größe, die Du kennst oder festlegst.

  • Die abhängige Variable y (Zielgröße, Zielvariable) ist die Größe, die vorhergesagt werden soll.

Welches Verfahren passt, hängt von der Zielgröße und der Zahl der Einflussgrößen ab:

Regressionsverfahren im Überblick
Verfahren Zielgröße Einflussgrößen Beispiel
einfache lineare Regression Zahl (stetig) eine; Zusammenhang annähernd linear Antwortzeit abhängig von der Zahl gleichzeitiger Sitzungen
multiple lineare Regression Zahl (stetig) mehrere Antwortzeit abhängig von Sitzungen und Datenbankgröße
polynomiale Regression Zahl (stetig) eine oder mehrere; gekrümmter Verlauf Verbrauch, der mit der Geschwindigkeit überproportional steigt
logistische Regression zwei Klassen (ja/nein) eine oder mehrere Wird eine Bestellung storniert – ja oder nein?

Trotz ihres Namens ist die logistische Regression ein Klassifikationsverfahren: Sie liefert eine Wahrscheinlichkeit für eine von zwei Klassen. Für Prognosen von Mengen, Zeiten oder Beträgen ist sie ungeeignet. In englischsprachigen Beschreibungen erkennst Du das an Formulierungen wie binary classification (logistisch), continuous numerical data und straight line (linear) oder more than one independent variable (multipel).

Das Modell: eine Gerade durch die Punktwolke

Die einfache lineare Regression legt eine Gerade durch die Messwerte:

\hat{y} = \beta_0 + \beta_1 \cdot x

  • ŷ („y Dach“) ist der vom Modell vorhergesagte Wert, y der tatsächlich gemessene.

  • β₀ (Regressionskonstante, Achsenabschnitt) ist der vorhergesagte Wert für x = 0, also der Schnittpunkt mit der y-Achse. Er hat die Einheit der Zielgröße.

  • β₁ (Regressionsgewicht, Steigung) gibt an, um wie viel sich ŷ ändert, wenn x um eine Einheit steigt. Ein negatives β₁ bedeutet einen fallenden Zusammenhang. Die Einheit ist „Einheit von y je Einheit von x“.

Als Beispiel dient der Shop-Server eines Fahrradhändlers. Bei Lasttests wurde die mittlere Antwortzeit für verschiedene Zahlen gleichzeitiger Sitzungen gemessen:

Messwerte aus dem Lasttest
gleichzeitige Sitzungen x (in Hundert) 1 2 3 4 5 6
mittlere Antwortzeit y (in ms) 110 140 160 200 220 250
Streudiagramm der sechs Messwerte (Antwortzeit über Sitzungen in Hundert) mit der Regressionsgeraden ŷ = 82 + 28·x; die senkrechten Abstände zwischen Messpunkten und Gerade sind als Residuen markiert (mit KI erstellt)

Die Regressionsgerade lautet hier ŷ = 82 + 28·x (Berechnung im nächsten Abschnitt). Im Sachzusammenhang heißt das:

  • β₀ = 82 ms: Ohne Last (x = 0) würde der Server nach dem Modell in 82 ms antworten – die Grundlaufzeit für Verarbeitung und Netz. Ob dieser Wert sinnvoll ist, hängt davon ab, ob x = 0 im gemessenen Bereich liegt; hier liegt er knapp außerhalb.

  • β₁ = 28 ms je 100 Sitzungen: Je 100 weitere gleichzeitige Sitzungen verlängern die Antwortzeit um durchschnittlich 28 ms.

Kein Messpunkt liegt exakt auf der Geraden. Die senkrechte Abweichung eines Messwerts von der Geraden heißt Residuum ε = y − ŷ. Beim Messwert x = 3 sagt die Gerade 82 + 28 · 3 = 166 ms voraus, gemessen wurden 160 ms: ε = −6 ms.

Koeffizienten berechnen: die Methode der kleinsten Quadrate

Die „beste“ Gerade ist die, bei der die Summe der quadrierten Residuen (residual sum of squares, RSS) am kleinsten ist:

RSS = \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \rightarrow \text{Minimum}

Durch das Quadrieren heben sich positive und negative Abweichungen nicht auf, und große Abweichungen fallen stärker ins Gewicht. Aus dieser Bedingung folgen die Formeln:

\beta_1 = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2} \qquad \beta_0 = \bar{y} - \beta_1 \cdot \bar{x}

Die Gerade geht also immer durch den Schwerpunkt (x̄ | ȳ) der Punktwolke. Von Hand rechnest Du am besten mit einer Kalkulationstabelle:

Kalkulationstabelle zur Regression (x̄ = 21 / 6 = 3,5; ȳ = 1080 / 6 = 180)
i xᵢ yᵢ xᵢ − x̄ yᵢ − ȳ (xᵢ − x̄)(yᵢ − ȳ) (xᵢ − x̄)²
1 1 110 −2,5 −70 175 6,25
2 2 140 −1,5 −40 60 2,25
3 3 160 −0,5 −20 10 0,25
4 4 200 0,5 20 10 0,25
5 5 220 1,5 40 60 2,25
6 6 250 2,5 70 175 6,25
Σ 21 1080 490 17,5

Geg.: x̄ = 3,5; ȳ = 180 ms; Σ(xᵢ − x̄)(yᵢ − ȳ) = 490; Σ(xᵢ − x̄)² = 17,5

Ges.: β₁ und β₀

\beta_1 = \frac{490}{17{,}5}\ \frac{\text{ms}}{100\ \text{Sitzungen}} = \underline{\underline{28\ \frac{\text{ms}}{100\ \text{Sitzungen}}}}

\beta_0 = \bar{y} - \beta_1 \cdot \bar{x} = 180\ \text{ms} - 28\ \text{ms} \cdot 3{,}5 = \underline{\underline{82\ \text{ms}}}

Achte beim Rechnen auf das Vorzeichen: Ist die Summe der Produkte negativ, ist β₁ negativ, und β₀ = ȳ − β₁·x̄ wird (bei positivem x̄) größer als ȳ.

Grafisch arbeiten: Streudiagramm, Gerade, Steigungsdreieck

Bevor Du rechnest, lohnt sich ein Streudiagramm (x-Werte waagerecht, y-Werte senkrecht). Es zeigt sofort, ob der Zusammenhang überhaupt annähernd linear ist, ob es Ausreißer gibt und in welchem Bereich gemessen wurde. Achte auf beschriftete Achsen mit Einheiten und auf den Maßstab der Kästchen.

Gerade einzeichnen: Aus β₀ und β₁ bestimmst Du zwei Punkte, die möglichst weit auseinanderliegen, z. B. für x = 0 und für den größten x-Wert des Diagramms, und verbindest sie. Für ŷ = 82 + 28·x sind das (0 | 82) und (7 | 278).

Koeffizienten ablesen: Ist eine Gerade gegeben, gehst Du umgekehrt vor:

  1. Gerade bis zur y-Achse verlängern und β₀ am Schnittpunkt ablesen.

  2. Ein möglichst großes Steigungsdreieck einzeichnen, dessen Ecken auf gut ablesbaren Gitterpunkten liegen.

  3. Δx und Δy ablesen und β₁ = Δy / Δx berechnen – mit Einheit.

Regressionsgerade ŷ = 82 + 28·x mit markiertem Achsenabschnitt bei 82 ms und einem Steigungsdreieck von x = 0 bis x = 6 mit Δx = 6 und Δy = 168 (mit KI erstellt)

Ein großes Dreieck verringert den Ablesefehler. Kleine Abweichungen beim grafischen Ablesen sind normal; das Ergebnis muss aber zur Zeichnung passen.

Prognosen berechnen – in beide Richtungen

Vorwärts: Für einen gegebenen x-Wert setzt Du in die Gleichung ein. Bei 450 gleichzeitigen Sitzungen (x = 4,5): ŷ = 82 + 28 · 4,5 = 208 ms.

Rückwärts: Oft ist ein Grenzwert der Zielgröße gegeben, und gesucht ist die Einflussgröße. Dann stellst Du die Gleichung nach x um. Beispiel: Wie viele Sitzungen verkraftet der Server, wenn die Antwortzeit höchstens 300 ms betragen darf?

Geg.: β₀ = 82 ms; β₁ = 28 ms je 100 Sitzungen; ŷ = 300 ms

Ges.: x

\hat{y} = \beta_0 + \beta_1 \cdot x \quad | -\beta_0

\hat{y} - \beta_0 = \beta_1 \cdot x \quad | :\beta_1

x = \frac{\hat{y} - \beta_0}{\beta_1} = \frac{300\ \text{ms} - 82\ \text{ms}}{28\ \text{ms}} \cdot 100\ \text{Sitzungen} \approx \underline{\underline{778{,}571\ \text{Sitzungen}}}

Beim Runden zählt die Bedingung: „höchstens 300 ms“ verlangt, abzurunden – also höchstens 778 gleichzeitige Sitzungen. Bei 779 läge die Prognose schon über 300 ms. Umgekehrt wird bei „mindestens“-Bedingungen mit steigender Geraden aufgerundet. Bei einer fallenden Geraden (β₁ < 0) kehrt sich das um – prüfe das Ergebnis deshalb durch Einsetzen.

Interpolation und Extrapolation: Eine Prognose innerhalb des gemessenen Bereichs (hier 100 bis 600 Sitzungen) ist eine Interpolation und meist verlässlich. Die Prognose für 778 Sitzungen ist eine Extrapolation: Ob der Server sich jenseits von 600 Sitzungen noch linear verhält, zeigen die Daten nicht. Gerade bei Servern steigt die Antwortzeit nahe der Kapazitätsgrenze oft sprunghaft an. Extrapolierte Werte sind daher nur Anhaltspunkte, die Du durch weitere Messungen absichern solltest.

Wie gut ist das Modell?

Residuen ansehen: Kleine, unregelmäßig um 0 verteilte Residuen sprechen für ein passendes Modell. Liegen die Messwerte in einem Bereich systematisch über und in einem anderen unter der Geraden, ist der Zusammenhang nicht linear.

Bestimmtheitsmaß R²: Es gibt an, welcher Anteil der Streuung der Zielgröße durch das Modell erklärt wird:

R^2 = 1 - \frac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^2}

R² liegt zwischen 0 (Modell erklärt nichts) und 1 (alle Punkte auf der Geraden). Im Beispiel betragen die Residuen 0, 2, −6, 6, −2 und 0 ms; ihre Quadratsumme ist 80, die Quadratsumme der Abweichungen vom Mittelwert 13 800. Daraus folgt R² = 1 − 80 / 13 800 ≈ 0,994: Das Modell erklärt rund 99 % der Streuung im gemessenen Bereich.

Korrelationskoeffizient r: Bei der einfachen linearen Regression ist r = ±√R² mit dem Vorzeichen von β₁; er liegt zwischen −1 und +1 und beschreibt Stärke und Richtung des linearen Zusammenhangs (hier r ≈ 0,997).

Ein hohes R² allein garantiert noch keine guten Prognosen. Typische Ursachen für schlechte Vorhersagen sind:

  • Nichtlinearer Verlauf: Viele Größen wachsen nur in einem mittleren Bereich linear und erreichen dann eine Sättigung (z. B. eine Kapazitätsgrenze). Eine Gerade über alle Werte wird dadurch flacher: Sie überschätzt die kleinen Werte, unterschätzt den oberen Teil des linearen Bereichs und überschätzt die Werte in der Sättigung.

  • Ausreißer: Weil die Abweichungen quadriert werden, ziehen einzelne extreme Werte die Gerade stark zu sich.

  • Wenige Datenpunkte oder ein schmaler Messbereich.

  • Weitere Einflussgrößen: Hängt die Zielgröße noch von anderen Faktoren ab (Wochentag, Wetter, Datenbankgröße …), kann eine einzelne Einflussgröße die Werte nur grob erklären.

Messwerte, die bis x = 6 linear steigen und danach bei y = 80 in eine Sättigung übergehen; die Gerade über alle Werte verläuft flacher als die Gerade über den linearen Bereich bis x = 6 (mit KI erstellt)

Mögliche Verbesserungen – passend zur Ursache:

  • das Modell nur für den relevanten, linearen Bereich berechnen (Daten filtern) bzw. abschnittsweise je Bereich eine eigene Gerade bilden,

  • mehr und aktuellere Messwerte erheben, Ausreißer prüfen und Messfehler bereinigen,

  • weitere Einflussgrößen aufnehmen (multiple lineare Regression),

  • ein anderes Modell verwenden, z. B. eine polynomiale Regression oder ein Verfahren des maschinellen Lernens wie Entscheidungsbaum oder Random Forest,

  • das Modell an Daten prüfen, die nicht zum Berechnen verwendet wurden (Trainings- und Testdaten), und die Prognosen laufend mit den tatsächlichen Werten vergleichen.

Korrelation ist keine Kausalität: Eine Regression zeigt, dass zwei Größen gemeinsam variieren – nicht, dass die eine die andere verursacht. Beide können von einer dritten Größe abhängen. Für Entscheidungen brauchst Du deshalb zusätzlich eine fachliche Begründung des Zusammenhangs.

Werkzeuge: Tabellenkalkulation und Python

In der Praxis rechnest Du nicht von Hand. Tabellenkalkulationen bieten fertige Funktionen (deutsche Namen in Excel und LibreOffice Calc):

Regressionsfunktionen in der Tabellenkalkulation
Funktion Ergebnis
=STEIGUNG(Y_Werte; X_Werte) Regressionsgewicht β₁
=ACHSENABSCHNITT(Y_Werte; X_Werte) Regressionskonstante β₀
=BESTIMMTHEITSMASS(Y_Werte; X_Werte) Bestimmtheitsmaß R²
=KORREL(X_Werte; Y_Werte) Korrelationskoeffizient r
=TREND(Y_Werte; X_Werte; neues_x) Prognose für neue x-Werte

Im Diagramm lässt sich außerdem eine Trendlinie mit Gleichung und R² einblenden. In Python liefert z. B. NumPy die Koeffizienten:

import numpy as np

x = np.array([1, 2, 3, 4, 5, 6])
y = np.array([110, 140, 160, 200, 220, 250])
beta1, beta0 = np.polyfit(x, y, 1)      # Grad 1 = Gerade
print(round(beta0, 3), round(beta1, 3)) # 82.0 28.0
print(round(beta0 + beta1 * 4.5, 3))    # Prognose: 208.0

Für Modelle mit mehreren Einflussgrößen und Trainings-/Testaufteilung wird häufig die Bibliothek scikit-learn (LinearRegression) eingesetzt.

Typische Fehler

  • Logistische Regression für eine Zahlenprognose gewählt (sie klassifiziert in zwei Klassen).

  • x und y vertauscht: Die Zielgröße gehört auf die senkrechte Achse und ist y.

  • β₁ ohne Einheit oder ohne Sachbezug angegeben („β₁ ist die Steigung“ statt „je 100 Sitzungen 28 ms mehr“).

  • Vorzeichenfehler bei negativer Steigung, besonders in β₀ = ȳ − β₁·x̄.

  • Steigungsdreieck zu klein gezeichnet oder Δx und Δy in Kästchen statt in Achseneinheiten abgelesen.

  • Beim Umstellen falsch gerundet: Die Bedingung („höchstens“, „mindestens“) entscheidet, nicht die Rundungsregel.

  • Weit außerhalb des Messbereichs extrapoliert, ohne darauf hinzuweisen.

  • Aus einem hohen R² auf eine Ursache-Wirkungs-Beziehung geschlossen.

Leitfragen

  1. Wie wählst Du zwischen einfacher linearer, multipler linearer und logistischer Regression?

Entscheidend sind Zielgröße und Zahl der Einflussgrößen: Eine stetige Zahl mit einer Einflussgröße und annähernd linearem Zusammenhang spricht für die einfache lineare Regression, mehrere Einflussgrößen für die multiple lineare Regression. Hat die Zielgröße nur zwei Ausprägungen (ja/nein), ist die logistische Regression als Klassifikationsverfahren passend (siehe Abschnitt „Wozu Regression?“).

  1. Was bedeuten β₀ und β₁ im Sachzusammenhang, und welche Einheiten haben sie?

β₀ ist der vorhergesagte Wert der Zielgröße für x = 0 (Einheit der Zielgröße), β₁ die Änderung der Zielgröße je Einheit der Einflussgröße (Einheit von y je Einheit von x). Im Beispiel: 82 ms Grundlaufzeit und 28 ms mehr je 100 Sitzungen (siehe Abschnitt „Das Modell“).

  1. Wie berechnest Du β₁ und β₀ mit der Methode der kleinsten Quadrate?

Du bestimmst die Mittelwerte x̄ und ȳ, berechnest je Messwert die Abweichungen und bildest die Summen Σ(xᵢ − x̄)(yᵢ − ȳ) und Σ(xᵢ − x̄)². β₁ ist der Quotient dieser Summen, β₀ = ȳ − β₁·x̄. Die Gerade minimiert die Summe der quadrierten Residuen und geht durch den Schwerpunkt (x̄ | ȳ) (siehe Abschnitt „Koeffizienten berechnen“).

  1. Wie liest Du β₀ und β₁ aus einer gezeichneten Geraden ab?

Du verlängerst die Gerade bis zur y-Achse und liest dort β₀ ab. Dann zeichnest Du ein möglichst großes Steigungsdreieck mit Ecken auf Gitterpunkten, liest Δx und Δy in Achseneinheiten ab und berechnest β₁ = Δy / Δx (siehe Abschnitt „Grafisch arbeiten“).

  1. Wie bestimmst Du aus einem Grenzwert der Zielgröße den zulässigen Wert der Einflussgröße, und wie rundest Du?

Du stellst ŷ = β₀ + β₁·x nach x = (ŷ − β₀) / β₁ um und setzt den Grenzwert ein. Gerundet wird so, dass die Bedingung eingehalten bleibt – bei „höchstens 300 ms“ und steigender Geraden also ab. Eine Probe durch Einsetzen zeigt, ob die Rundungsrichtung stimmt (siehe Abschnitt „Prognosen berechnen“).

  1. Woran erkennst Du, ob ein Regressionsmodell gute Prognosen liefert, und wie verbesserst Du es?

Hinweise geben die Residuen (klein und unregelmäßig verteilt), das Bestimmtheitsmaß R² und der Korrelationskoeffizient r, aber auch der Messbereich: Extrapolationen sind unsicher. Schlechte Prognosen entstehen durch nichtlineare Verläufe wie Sättigung, Ausreißer, wenige Daten oder fehlende Einflussgrößen. Verbesserungen sind z. B. ein auf den relevanten Bereich beschränktes Modell, mehr Daten, eine multiple Regression oder ein anderes Modell (siehe Abschnitt „Wie gut ist das Modell?“).

  1. Warum beweist ein hohes Bestimmtheitsmaß keinen ursächlichen Zusammenhang?

R² misst nur, wie gut die Gerade die gemeinsame Veränderung zweier Größen beschreibt. Beide Größen können von einer dritten abhängen oder zufällig gleich verlaufen. Ob x die Zielgröße tatsächlich beeinflusst, muss fachlich begründet oder durch gezielte Versuche geprüft werden (siehe Abschnitt „Wie gut ist das Modell?“).


Hinweis zur Nachnutzung als Open Educational Resource (OER)

Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: “Prognosen mit linearer Regression” von oer-informatik.de (H. Stein), Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/regression veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/daten-ki/datenanalyse-ki. Erstellt mit KI-Assistenz; von mir umfassend redaktionell überarbeitet, geprüft und freigegeben. Stand: 27.10.2026.

[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: