Archiv der Kategorie: Regression

Kategorien als Einflussgrößen

Die bisherigen Artikel zur linearen Regression haben sich mit einem Beispiel beschäftigt, in dem wir die Ringgröße für eine Freundin möglichst genau schätzen wollen, um ihr unbemerkt einen (passenden!) Ring zu kaufen.

Zuerst haben wir die Ringgröße anhand ihrer Körpergröße geschätzt (eine einfache lineare Regression). Danach haben wir zusätzlich ihr Gewicht und ihr Alter verwendet, um mit drei Einflussgrößen eine genauere, sicherere Schätzung zu bekommen (die multiple lineare Regression).

Alle diese Variablen waren verhältnisskaliert, also Zahlen, die in diesem Fall von 0 bis unendlich gehen können. Es gibt aber nun noch andere Variablentypen, z.B. nominalskalierte Variablen, wie etwa der Beruf einer Person. Was wäre zum Beispiel, wenn unsere Freundin Handwerkerin ist, und wir wissen, dass Handwerker tendenziell kräftigere, größere Finger haben als Büroarbeiter?

Diese Information ist sicher hilfreich für uns, und wir möchten sie in unserer Regression berücksichtigen.

Wie behandelt man eine ja/nein-Kovariable?

Denken wir nochmal kurz zürück an das Beispiel aus dem Artikel zur einfachen linearen Regression: Wir haben eine EInflussgröße \(x\), die Körpergröße, die stetig und intervallskaliert ist. Die Zielgröße \(y\), die Ringgröße, sagen wir nun vorher durch eine Gerade:

Diese Gerade wird durch zwei Parameter, \(a\) und \(b\) beschrieben:

\[ y = a + b \cdot x \]

In unserem Beispiel haben wir die Parameter bestimmt als \(a = 2.8457\) und \(b = 0.2836\), die „fertige“ Regressionsgerade, die man auch in dem Bild oben sieht, lautet also

\[y = 2.8457 + 0.2836 \cdot x\]

Wie würde aber nun ein Regressionsmodell aussehen, das nur aus einer ja/nein-Kovariable besteht – z.B. die Kovariable „Handwerker“? Für dieses kurze Gedankenexperiment ignorieren wir die Körpergröße also.

Wir verwenden dieselbe Gleichung für das Modell, \( y = a + b \cdot x \), aber die Kovariable \(x\) kann nur die Werte „ja“ und „nein“ annehmen. Wir müssen die zwei Werte natürlich in zwei Zahlen kodieren. Die Wahl die das spätere Rechnen am einfachsten macht, ist die 0 für „nein“, und die 1 für „ja“. Für eine Person wäre also \(x=1\) wenn sie einen Handwerkerberuf hat, und \(x=0\), wenn nicht.

Diese Wahl hat einen schönen Vorteil: Die Gleichung wird sehr einfach. Wenn nämlich \(x=0\) ist, dann wird aus der Regressionsgleichung nur noch \(y = a\), weil ja der zweite Teil \(b\cdot x = 0\) (da \(x=0\) ist). Schauen wir uns mal eine „fertige“ Regression mit fiktiven Werten als Beispiel an:

\[y = 48.5 + 1.5 \cdot x \]

Was bedeutet das nun, wenn die Kovariable \(x\) für die Frage „Handwerker?“ steht? Die Variable kann nur zwei Werte annehmen, entweder 0 oder 1. Das heißt auch, dass die Vorhersage für \(y\) nur zwei Werte annehmen kann: Für Nichthandwerker, also z.B. Büroangestellte, ist ja \(x=0\), also wird die Vorhersage für die Ringgröße \(y = 48.5 + 0 \cdot 1.5 = 48.5\) sein. Und für Handwerker prognostizieren wir \(y = 48.5 + 1 \cdot 1.5 = 50\), also einen Ring der Größe 50.

Dieses Modell ist auch sehr einfach zu interpretieren: Die Vorhersage für Nichthandwerker liest man direkt aus dem Intercept, also \(a\), ab: 48.5cm. Und der Parameter \(b\) sagt uns, wieviel größer (oder evtl. kleiner) die Vorhersage für Handwerker wird: 1.5cm.

Das ist dann auch schon fast das ganze Geheimnis hinter kategorialen Kovariablen.

Stetige und kategoriale Einflussgrößen gemischt

Wir haben ja schon ein Regressionsmodell mit mehreren Einflussgrößen gesehen, die multiple Regression. Wir können die eben betrachtete kategoriale Einflussgröße nun genauso wie eine stetige Einflussgröße zusätzlich in das Modell aufnehmen.

Nennen wir die Einflussgröße für die Frage „Handwerker?“ \(x_1\), und die bereits bekannte EInflussgröße für die Körpergröße \(x_2\). Dann haben wir das folgende Regressionsmodell:

\[y = a + b_1 x_1 + b_2 x_2\]

Hierbei kann \(x_1\) nur die Werte 0 oder 1 annehmen, aber \(x_2\) als stetige Kovariable alle möglichen Körpergrößen.

Wenn wir nun Daten sammeln, und daraus die Parameter \(a, b_1, b_2\) schätzen wollen, kommt vielleicht das folgende fertige Modell dabei raus:

\[y = 0.16 + 0.28\cdot x_1 + 0.94\cdot x_2\]

Für eine Person mit \(x_1=168\text{cm}\) Körpergröße und einem Job als Handwerker (\(x_2=1\)) prognostizieren wir also eine Ringgröße von \(y=0.16+0.28\cdot 168 + 0.94\cdot 1 = 48.14\) – also sollte ein Ring der Größe 48 hoffentlich passen.

Einflussgrößen mit mehr als zwei Kategorien

Ein Problem gibt es noch: Wie gehen wir mit einer Einflussgröße vor, die nicht nur zwei mögliche Ausprägungen „ja/nein“, hat, sondern mehrere?

Ein Beispiel: Eine neue Einflussgröße „Sport“. Für die Ringgröße ist wohl wichtig, ob die Person Gewichte stemmt oder Marathon läuft. Wir haben also z.B. die Auswahlmöglichkeiten „kein Sport“, „Joggen“ „Klettern“, „Gewichtheben“.

Es wäre falsch, nun einfach eine Variable \(x_1\) anzulegen, die für diese Sportarten die Werte „kein Sport = 0“, „Joggen = 1“, „Klettern = 2“, und „Gewichtheben = 3“ annehmen kann. Das Problem ist, dass wir dann nur einen Parameter \(b_1\) erhalten, und z.B. der Unterschied zwischen „kein Sport“ und „joggen“ genauso groß sein muss wie der zwischen „Joggen“ und „Klettern“. Das kann man nachprüfen, indem man für Nichtsportler \(0\cdot b_1\) vergleicht mit \(1\cdot b_1\) für Jogger und \(2\cdot b_1\) für Kletterer. Falls sich aber die Ringgröße z.B. zwischen Joggern und Kletterern gar nicht unterscheidet, könnte unser Modell das gar nicht abbilden. Fachlich heißt das: Wir unterstellen einen linearen Zusammenhang, wo es gar keinen gibt.

WIe lösen wir dieses Problem nun am besten?

Wir müssen einen kleinen Umweg gehen, indem wir die eine Einflussgröße mit vier Kategorien aufteilen in drei separate Einflussgrößen mit jeweils zwei Kategorien „ja/nein“:

  • \(x_1\): Joggen, ja/nein?
  • \(x_2\): Klettern, ja/nein?
  • \(x_3\): Gewichtheben, ja/nein?

Für eine bestimmte Person ist dann höchstens eine dieser drei Einflussgrößen 1, alle anderen sind 0. Ein Gewichtheber hätte also \(x_1=0\), \(x_2 = 0\), und \(x_3=1\). Für den Fall „kein Sport“ brauchen wir keine extra Einflussgröße, denn diese Möglichkeit ergibt sich automatisch, wenn wir \(x_1=0\), \(x_2=0\), und \(x_3=0\) setzen – dann bleibt ja keine andere Möglichkeit übrig. (Es hat auch einen mathematischen Grund, warum wir das so lösen müssen – die Regression wäre nämlich sonst nicht eindeutig lösbar – aber darauf möchte ich hier nicht eingehen.)

Ein einfaches lineares Modell mit nur der Einflussgröße „Sport?“ sähe also so aus:

\[y = a + b_1 \cdot x_1 + b_2 \cdot x_2 + b_3\cdot x3\]

Es hätte vier Parameter. Man kann sich ausrechnen, dass in diesem Modell die vorhergesagte Ringgröße für jemanden der keinen Sport macht, genau \(a\) ist – denn alle anderen \(x_i\) sind ja Null.

Die Kontrolle, ob du diesen Teil verstanden hast, ist, dass du erklären kannst, warum unsere Vohrersage für einen Gewichtheber nun genau \(a+b_3\) ist. Ich hoffe, ich konnte das hier gut genug erklären – falls nicht, kannst du in den Kommentaren unten gerne nochmal nachfragen, ich passe den Artikel dann nochmal an.

Modellannahmen der linearen Regression

Behaltet im Kopf, was die lineare Regression macht. Sie zeichnet eine Gerade durch ein Streudiagramm. Das funktioniert in vielen Fällen gut, aber in anderen Fällen leiten die Ergebnisse zu Fehlschlüssen.

Hier ist ein Beispiel: Es wurde auf einer Teststrecke für 100 Autos deren Geschwindigkeit gemessen, und dann der Bremsweg bei einer Vollbremsung. Wer sich noch an die Fahrschule erinnert, weiß, dass der Bremsweg annähernd so berechnet werden kann:

\[ x = \frac{v}{10} \cdot \frac{v}{10} \cdot \frac{1}{2} \]

Das ist eine quadratische Formel. Sie lässt sich kürzen zu \(x = v^2 / 200\). Misst man jetzt auf der Teststrecke 100 Autos, könnte das Ergebnis so aussehen:

 

Die Regressionsgerade im rechten Bild ist in dieser Situation keine gute Wahl. Der Grund ist, dass eine der Annahmen des linearen Modells verletzt wurden.

Es gibt verschiedene Möglichkeiten, die Annahmen zu formulieren, und die genaue Anzahl der Annahmen ist dann auch abhängig von der Formulierung. In meiner Darstellungsweise gibt es die folgenden vier wichtigen Annahmen:

1. Linearer Zusammenhang

Die erste Annahme wurde in unserem obigen Beispiel gleich verletzt: Für ein lineares Modell muss der Zusammenhang natürlich auch linear sein. Das erste Bild ist ein Beispiel dafür, das zweite und dritte ein Gegenbeispiel:

Mathematisch sieht die Annahme für einen linearen Zusammenhang einfach so aus:

\[ \mathbb{E}(y_i) = a + b \cdot x \]

Das ist die Formulierung für das lineare Modell. Ein mögliches Gegenbeispiel, im zweiten Bild, sähe z.B. so aus: \(\mathbb{E}(y_i) = a + \sin(x) / 10\)

2. Normalverteilung der Residuen

Die Residuen sind die Abstände zwischen einer Beobachtung und deren Vorhersage auf der Regressionsgeraden. Möchte man nun nicht nur eine „gute“ Gerade durch die Daten ziehen, sondern auch Eigenschaften dieser Geraden testen, dann müssen als Voraussetzung dafür die Fehlerterme einer Normalverteilung folgen. Das hat den Grund, dass dann ein einfacher Hypothesentest für die Parameter (also z.B. Steigung der Geraden = 0) durchgeführt werden kann.

Das linke Bild zeigt eine Regressionsgerade, um die die Fehlerterme mit einer „schönen“ Normalverteilung streuen. Das ist die Idealsituation.

Das zweite Bild, in der Mitte, sieht anders aus. Hier gibt es sehr große Ausreißer, die die Schätzung stark beeinflussen würden, und zu ungenauen Konfidenzintervallen und Testaussagen führen würden. (Wer es genau wissen möchte: Ich habe die Residuen in diesem Diagramm als \(t\)-Verteilung mit einem Freiheitsgrad simuliert)

Das dritte Bild ist ein weiteres Beispiel für eine „falsche“ Verteilung: Hier sind die Residuen in etwa in ganzzahligen Abständen zur Regressionsgerade. Das ist ein sehr realitätsfernes Beispiel, es wird wohl nie vorkommen, aber es veranschaulicht sehr schön, welche Situationen durch die Modellannahme der normalverteilten Residuen „nicht erlaubt“ sind.

In eine Formel verpackt sieht diese Annahme nun so aus:

\[ \begin{align*} y_i &= a + b\cdot x_i + \epsilon_i \\ \epsilon_i &\sim \mathcal{N}(0, \sigma^2) \end{align*} \]

Die zweite Zeile verlangt, dass die Residuen \(\epsilon\) normalverteilt sind. In dieser Formel steckt eigentlich auch schon die nächste Annahme mit drin:

3. Gleichbleibende Varianz der Residuen

Diese Annahme besagt, dass die Varianz der Residuen sich über die \(x\)-Achse nicht verändern soll. Das linke Bild zeigt wieder ein positives Beispiel, und das rechte Bild zeigt, wie es nicht aussehen soll:

Die gleichbleibende Varianz (man sagt auch Homoskedastizität dazu – mein absolutes Lieblingswort) steckt auch schon in der oberen Formel drin. Man verlangt nämlich, dass für jede Beobachtung \(i\) die Varianz gleich ist. Es ist also \(\epsilon_i \sim \mathcal{N}(0, \sigma^2)\), und nicht \(\epsilon_i \sim \mathcal{N}(0, \sigma_i^2)\). Der Unterschied ist sehr klein: Statt \(\sigma^2\) steht in der zweiten Formel \(\sigma_i^2\). Das tiefgestellte \(i\) bedeutet, dass die Varianz hier für jede Beobachtung \(i\) unterschiedlich ist. Im rechten Bild wäre also z.B. für die erste Beobachtung \(\sigma_1^2 = 0.6\), und für die letzte Beobachtung \(\sigma_{100}^2 = 12.4\). Das bedeutet: unterschiedliche Varianzen, und genau das ist im linearen Modell nicht erlaubt. Die Streuung muss für jede Beobachtung gleich groß sein.

4. Unabhängigkeit der Residuen

Mit Unabhängigkeit ist das Folgende gemeint: Wenn ich den Fehlerterm für eine bestimmte Beobachtung kenne, dann darf mir das keine Information über den Fehlerterm für die nächste Beobachtung liefern. Das ist zum Beispiel im folgenden Bild der Fall:

Hier ist natürlich gleichzeitig die Annahme des linearen Einflusses verletzt (Verletzungen von Modellannahmen kommen selten alleine). Aber zusätzlich sind die Residuen abhängig voneinander: am linken Ende der \(x\)-Achse sind alle Residuen negativ, d.h. alle Punkte liegen unter der Regressionsgeraden. Die Abhängigkeit in diesem Bild heißt dann etwa: Wenn ich weiß, dass für Beobachtung \(i=10\) ein positives Residuum gibt, dann kann ich dadurch Schlüsse über das Residuum für die nächste Beobachtung \(i=11\) ziehen – es ist nämlich wahrscheinlich auch positiv.

Multiple lineare Regression

In den bisherigen Artikeln zur Regression ging es nur um die einfache lineare Regression. Hier schauen wir uns nun die multiple lineare Regression an.

Das Wort „multipel“ bedeutet, dass wir nun nicht mehr eine, sondern mehrere Einflussgrößen haben. Wichtig: es gibt mehrere Einflussgrößen. Die Anzahl der Zielgrößen verändert sich nicht, es ist immer noch nur eine Zielgröße.

Beispiel

Wir können uns das Beispiel aus den Artikeln zur einfachen linearen Regression ansehen, und es etwas weiterführen. Dort haben wir versucht, mit Hilfe der Regression die Ringgröße \(y\) einer Freundin zu schätzen, gegeben man kennt ihre Körpergröße \(x\).

Wenn dir jetzt allerdings sehr viel daran liegt, eine möglicht exakte Schätzung zu erhalten, um nicht mit einem unpassenden Ring vor ihr zu stehen, kannst du noch mehr Daten sammeln. Beispielsweise zusätzlich zur Körpergröße noch das Gewicht und das Alter von den 10 Frauen, die du befragst.

Die Daten würden nun also um zwei Variablen größer werden, und zum Beispiel so aussehen:

Person \(i\) 1 2 3 4 5 6 7 8 9 10
Körpergröße \(x_1\) 156.3 158.9 160.8 179.6 156.6 165.1 165.9 156.7 167.8 160.8
Körpergewicht \(x_2\) 62 52 83 69 74 52 77 65 79 51
Alter \(x_3\) 24 34 26 51 43 33 22 21 19 34
Ringgröße \(y\) 47.1 46.8 49.3 53.2 47.7 49.0 50.6 47.1 51.7 47.8

Wir haben jetzt nicht mehr eine Einflussgröße \(x\), sondern drei Stück: \(x_1\), \(x_2\), und \(x_3\). Und jede dieser Einflussgrößen hat eine Ausprägung pro Person \(i\). Das heißt, dass nun zwei Zahlen unter dem \(x\) stehen: Eine für die Einflussgröße und eine für die Person. Zum Beispiel ist das Körpergewicht der vierten Person \(x_{2,4} = 69kg\).

Dadurch, dass man jetzt mehr Daten verfügbar hat, kann man eine genauere Schätzung bekommen. Die Regressionsgleichung würde jetzt lauten:

\[ y = a + b_1 x_1 + b_2 x_2 + b_3 x_3 \]

Mit der multiplen Regression kann ich nun Werte für die Parameter \(a\), \(b_1\), \(b_2\), und \(b_3\) erhalten, und mit Hilfe derer kann ich nun wieder eine Vorhersage treffen.

Anmerkung: Genauso wie in der einfachen linearen Regression können die Parameter in anderen Büchern/Skripten anders benannt sein (z.B. \(\beta_0\), \(\beta_1\) usw.). Sie bedeuten aber genau dasselbe.

Schätzung der Parameter

Die Parameterschätzung ist etwas aufwändiger, und von Hand praktisch nicht mehr durchführbar. Grob gesagt werden die drei Einflussgrößen \(x_1\), \(x_2\) und \(x_3\), die man ja als Vektoren ansehen kann, spaltenweise in eine Matrix \(X\) zusammengefasst. Mit Hilfe dieser Matrix und dem Vektor aller Zielgrößen \(y\) kann man dann den Vektor der Parameter (nennen wir ihn mal \(b\)) schätzen:

\[ b = (X^\top X)^{-1} X^\top y \]

Das wird, wie gesagt, etwas komplizierter, und ist auch mit dem Taschenrechner nicht mehr zu lösen. In einer Klausur wird das Berechnen der Parameter in einer multiplen Regression nicht abgefragt werden, weshalb ich die Details hier überspringe. Die Standardliteratur hilft hier aber weiter (ich empfehle die Springer-Bücher zur Regression oder Statistik).

Was aber durchaus Klausurstoff sein kann, ist die Interpretation der Parameter und die Vorhersage mit bereits gegebenen Parametern. Das schauen wir uns jetzt noch genauer an.

Interpretation der Parameter

Wie gesagt, die Berechnung bei der multiplen Regression ist zu kompliziert für Papier und Taschenrechner, daher lasse ich die Herleitung hier weg. Aber mit den Daten aus der obigen Tabelle erhalten wir per Computer gerundet die folgenden Parameter:

\(a=0.6\), \(b_1=0.28\), \(b_2=0.06\), und \(b_3=-0.02\).

Die Regressionsgerade sieht also so aus:

\[ y = 0.66 + 0.28 \cdot x_1 + 0.06 \cdot x_2 – 0.02 \cdot x_3 \]

Was bedeuten diese Parameter nun?

Der Wert \(b_1\), also 0.28, sagt aus, dass bei einer Person, die einen Zentimeter größer ist als eine andere, die Ringgröße im Durchschnitt um 0.28 größer ist. Da der Wert 0.28 größer als Null ist, sprechen wir hier von einem positiven Effekt: Eine größere Körpergröße führt zu einer größeren Ringgröße.

Andersherum ist es beim Alter. Der Wert von -0.02 sagt aus, dass eine Person, die ein Jahr älter ist, im Durchschnitt eine um 0.02 kleinere Ringgröße hat. Das ist ein negativer Effekt, denn der Wert \(b_3\) ist kleiner als Null.

Da wir bei einer Stichprobe aber immer mit zufälligen Daten arbeiten, ist der Parameter für quasi jede Einflussgröße nie exakt Null. Der Parameter für das Alter, die -0.02, sind z.B. so klein, dass sie eventuell schon zufällig auftreten. Die Vermutung liegt nahe, dass das Alter gar keinen Einfluss auf die Ringgröße hat (aber das Gewicht und die Körpergröße durchaus).

Um zu prüfen, ob eine Einflussgröße tatsächlich einen Einfluss hat, gibt statistische Software normalerweise einen \(p\)-Wert zusätzlich zu dem Parameterschätzer aus. Dieser \(p\)-Wert gehört zu der Hypothese, dass der jeweilige Effekt (z.B. vom Alter) gleich Null ist. Wenn der \(p\)-Wert klein genug ist (meist: kleiner als 0.05), dann geht man davon aus, dass die zugehörige Einflussgröße tatsächlich einen Effekt auf die Zielgröße hat, und man spricht von einem signifikanten Effekt.

In unserem Beispiel sind die \(p\)-Werte:
– Für \(b_1\) (Körpergröße): \(p=0.0000026\)
– Für \(b_2\) (Gewicht): \(p=0.00099\)
– Für \(b_3\) (Alter): \(p=0.112\)

Da nur die ersten beiden \(p\)-Werte kleiner als 0.05 sind, können wir hier schlußfolgern, dass sowohl die Körpergröße, als auch das Gewicht einen signifikanten Einfluss auf die Ringgröße haben, aber das Alter nicht.

(Das Berechnen der \(p\)-Werte ist wieder etwas komplizierter, und in einer Klausur wohl nicht gefragt werden, und wird daher hier übersprungen. Falls das jemand genauer wissen will, verweise ich wieder auf die Standardliteratur zur Regression.)

Vorhersage bei der multiplen linearen Regression

Bei der multiplen linearen Regression läuft die Vorhersage genauso ab wie bei der einfachen Regression, nur eben mit mehreren Einflussgrößen. Unsere Regressionsgleichung lautet:

\[ y = 0.66 + 0.28 \cdot x_1 + 0.06 \cdot x_2 – 0.02 \cdot x_3 \]

Das heißt, wenn unsere Freundin nun wie bisher 170cm groß ist, aber wir zusätzlich wissen, dass sie 68kg wiegt und 29 Jahre alt ist, dann können wir eine genauere Schätzung für die Ringgröße abgeben:

\[y = 0.66 + 0.28 \cdot 170 + 0.06 \cdot 68 – 0.02 \cdot 29 = 51.76 \]

Wir erwarten also in etwa eine Ringgröße von 51.76, und sollten daher einen Ring mit einer Größe kaufen, der so nah wie möglich daran liegt (also wahrscheinlich einen der Größe 52).

Einfache lineare Regression

In diesem Artikel wird nun – aufbauend auf das einführende Beispiel – beschrieben, wie man die Regressionsgerade für unsere Beispieldaten berechnet und einzeichnet. Zur Wiederholung:

Wir möchten die Ringgröße (\(y\)) unserer Freundin schätzen, um sie mit einem Ring zu überraschen. Wir wissen aber nur ihre Körpergröße (\(x\)). Um nun die Ringgröße zu schätzen, sammeln wir 20 Datenpunkte von Freunden und Bekannten, und notieren ihre Körpergröße und Ringgröße:

Person \(i\) 1 2 3 4 5 6 7 8 9 10
Körpergröße \(x\) 156.3 158.9 160.8 179.6 156.6 165.1 165.9 156.7 167.8 160.8
Ringgröße \(y\) 47.1 46.8 49.3 53.2 47.7 49.0 50.6 47.1 51.7 47.8

Wir nennen hier \(y\) die Zielgröße, da ihre Vorhersage unser Ziel ist. Die Körpergröße \(x\) wird allgemein auch Einflussgröße genannt. Es gibt aber noch unzählige andere Namen für die beiden Typen von Variablen. In anderen Quellen wird \(y\) auch häufig Zielvariable, Regressand, Outcome, erklärte Variable oder abhängige Variable (weil sie von \(x\) abhängig ist) genannt. Andere Namen für \(x\) sind Kovariable, Input, Regressor, erklärende Variable oder unabhängige Variable.

Diese Daten können wir nun in ein Streudiagramm einzeichnen, und erkennen sofort, dass größere Frauen tendenziell auch größere Ringe brauchen:

regression-motivation1

Die Regression ist nun eine statistische Methode, um die bestmögliche Gerade zu finden, die man durch diese Daten legen kann. Eine Gerade wird ja definiert durch zwei Parameter \(a\) und \(b\); man kann sie dann darstellen als

\[ y = a + b \cdot x \]

Manchmal sieht man übrigens statt \(a + b \cdot x\) auch \(\alpha + \beta \cdot x\) oder \(\beta_0 + \beta_1 \cdot x\), aber das sind nur andere Namen für dieselben Zahlen.

Berechnung der Parameter \(a\) und \(b\)

Wenn wir also die bestmögliche Gerade finden wollen, die wir durch diese Punktwolke an Daten legen können, ist das gleichbedeutend damit, dass wir die bestmöglichen Werte für \(a\) und \(b\) finden wollen. Und dafür wurden die folgenden beiden Formeln entdeckt:

\[ b = \frac{\sum_{i=1}^n (x_i – \bar{x}) \cdot (y_i – \bar{y})}{\sum_{i=1}^n (x_i – \bar{x})^2} \]

Die Formel für \(a\) ist einfacher, aber wir müssen vorher das Ergebnis für \(b\) berechnen und dort einsetzen:

\[ a = \bar{y} – b\cdot \bar{x} \]

Die Werte \(\bar{x}\) und \(\bar{y}\) sind jeweils die Mittelwerte der gemessenen Daten \(x\) und \(y\).

Eine kürzere Formel für die Berechnung von \(b\)

Die Formel für \(b\) ist recht chaotisch, aber es gibt eine Möglichkeit, sie kürzer darzustellen, während sie immernoch dasselbe Ergebnis liefert:

\[ b = r_{xy} \cdot \frac{s_y}{s_x} \]

Dabei ist \(r_{xy}\) die Pearson-Korrelation zwischen \(x\) und \(y\), und \(s_x\) und \(s_y\) jeweils die Standardabweichung von \(x\) bzw. \(y\). Diese Werte muss man natürlich auch erstmal ausrechnen, so dass diese kürzere Formel insgesamt wahrscheinlich mehr Rechenaufwand bedeutet – außer man hat diese Zwischenergebnisse schon z.B. in einer vorherigen Teilaufgabe der Klausur erhalten und kann sie einfach einsetzen.

Beispielaufgabe

Wir berechnen hier die Werte \(a\) und \(b\) für die obenstehende Tabelle von 10 Personen. Dazu brauchen wir die Mittelwerte von \(x\) und \(y\) als Zwischenergebnisse:

\[ \begin{align*} \bar{x} &= \frac{1}{10} \cdot (156.3+158.9+160.8+179.6+156.6+165.1+165.9+156.7+167.8+160.8) \\ &= \frac{1}{10} \cdot 1628.5 \\ &= 162.85 \end{align*} \]

Genauso erhält man dann auch

\[ \bar{y} = 49.03 \]

Zum Berechnen von \(b\) könnte man nun sofort loslegen, alles in den Taschenrechner einzutippen. Das ist aber anfällig für Leichtsinnsfehler, und oft reicht auch der Platz im Taschenrechner nicht für diese große Formel aus. Ich schlage also vor, in mehreren Schritten vorzugehen:

Bestimmen der Werte \((x_i-\bar{x})\) und \((y_i-\bar{y})\)

Zuerst brauchen wir Zwischenergebnisse, wo wir von jedem Wert den zugehörigen Mittelwert abziehen. Aus der Tabelle

Person \(i\) 1 2 3 4 5 6 7 8 9 10
Körpergröße \(x\) 156.3 158.9 160.8 179.6 156.6 165.1 165.9 156.7 167.8 160.8
Ringgröße \(y\) 47.1 46.8 49.3 53.2 47.7 49.0 50.6 47.1 51.7 47.8

werden also die folgenden Werte berechnet:

Person \(i\) 1 2 3 4 5 6 7 8 9 10
\((x_i-\bar{x})\) -6.55 -3.95 -2.05 16.75 -6.25 2.25 3.05 -6.15 4.95 -2.05
\((y_i-\bar{y})\) -1.93 -2.23 0.27 4.17 -1.33 -0.03 1.57 -1.93 2.67 -1.23

Als Beispiel: Der erste Wert für \((x_i-\bar{x})\) ist einfach \(156.3 – 162.85 = – 6.55\).

Berechnen von \(b\)

Jetzt sind wir nicht weit vom Ergebnis entfernt. Wir brauchen im Zähler der Formel für \(b\) nun für jede Person \(i\) das Produkt der beiden Werte \((x_i-\bar{x})\) und \((y_i-\bar{y})\), für die erste Person also z.B. \((-6.55 \cdot -1.93) = 12.6415\).

Im Nenner der Formel für \(b\) brauchen wir das Quadrat der zweiten Zeile, also wir müssen \((x_i-\bar{x})^2\) berechnen.

Diese Werte berechnen wir nun für alle 10 Personen und können sie (ich runde auf zwei Nachkommastellen) in zwei neue Zeilen der Tabelle einfügen:

Person \(i\) 1 2 3 4 5 6 7 8 9 10
\((x_i-\bar{x})\) -6.55 -3.95 -2.05 16.75 -6.25 2.25 3.05 -6.15 4.95 -2.05
\((y_i-\bar{y})\) -1.93 -2.23 0.27 4.17 -1.33 -0.03 1.57 -1.93 2.67 -1.23
\((x_i-\bar{x}) \cdot (y_i-\bar{y})\) 12.64 8.81 -0.55 69.85 8.31 -0.07 4.79 11.87 13.22 2.52
\((x_i-\bar{x})^2\) 42.90 15.60 4.20 280.56 39.06 5.06 9.30 37.82 24.50 4.20

Und wenn man sich jetzt nochmal die Formel für \(b\) anschaut, sieht man dass wir soweit sind: der Zähler ist die Summe der Werte in der dritten Zeile, und der Nenner die Summe der Werte in der vierten Zeile. Die ergeben sich zu

\[ \sum_{i=1}^n (x_i-\bar{x}) \cdot (y_i-\bar{y}) = 131.39 \]

und

\[ \sum_{i=1}^n (x_i-\bar{x})^2 = 463.2 \]

Somit können wir also \(b\) berechnen:

\[ b =\frac{\sum_{i=1}^n (x_i – \bar{x}) \cdot (y_i – \bar{y})}{\sum_{i=1}^n (x_i – \bar{x})^2} = \frac{131.39}{463.2} = 0.2836 \]

Berechnen von \(a\)

Der Wert \(a\) ist nun mit diesem Ergebnis ganz einfach zu erhalten:

\[ a = \bar{y} – b\cdot \bar{x} = 49.03 – 0.2836 \cdot 162.85 = 2.8457 \]

Vorhersage bei der einfachen linearen Regression

Bisher haben wir gelernt, wie man die beiden Koeffizienten \(a\) und \(b\) berechnet. Jetzt möchten wir mit Hilfe der Parameter auch für neue Daten \(x\) vorhersagen, welchen Wert für \(y\) wir erwarten.

Das Ziel, das wir mit der Regression erreichen wollen, ist nämlich folgendes: Angenommen es kommt eine neue Person, von der wir nur die Körpergröße \(x=170\) wissen. Was ist dann der Erwartungswert der Ringgröße \(y\)? Wir suchen also \(\mathbb{E}(y|x)\), den bedingten Erwartungswert von \(y\), gegeben man kennt \(x\).

Bei der einfachen linearen Regression gibt es ja nur eine Einflussgröße \(x\). Die Regressionsgerade lautet also

\[ y = a + b\cdot x \]

Um eine Vorhersage für die Zielgröße \(y\) zu erhalten, müssen wir also einfach den zugehörigen Wert für \(x\) in die Gleichung einsetzen. Die Werte für \(a\) und \(b\) haben wir vorher schon berechnet.

Als Beispiel: Im Beispiel aus dem vorherigen Artikel haben wir die Werte \(a=2.8457\) und \(b=0.2836\) bestimmt. Welche Ringgröße ist nun bei deiner Freundin zu erwarten, wenn sie eine Körpergröße von \(x=\)170cm hat? Dafür berechnen wir:

\[ y = a + b\cdot x = 2.8457 + 0.2836 \cdot 170 = 51.06 \]

Ein Ring mit der Größe 51 sollte also gut bei ihr passen.

Es ist hier noch wichtig zu erwähnen, dass wir nur den Erwartungswert von \(y\) vorhersagen. Die Ringgröße wird also nicht exakt 51.06 sein, sondern es gibt immer einen kleinen Fehler, den man im linearen Modell \(\epsilon\) (sprich: Epsilon) nennt. In Wirklichkeit lautet die Regressionsgleichung also

\[ y = a + b \cdot x + \epsilon \]

wobei \(\epsilon\) einen zufälligen und unbekannten Fehler bezeichnet.

Dieser Fehler heißt meistens Residuum, aber man trifft ihn auch manchmal unter den Namen Fehlerterm oder Epsilon an.

Einzeichnen der Regressionsgerade

Wir haben also nun die letztendliche Regressionsgerade berechnen können:

\[ y = 2.8457 + 0.2836 \cdot x \]

Um die Gerade dann einzuzeichnen, reicht es, zwei Punkte zu bestimmen, indem wir irgendwelche \(x\)-Werte aussuchen, und die zugehörigen \(y\)-Werte bestimmen. Die \(x\)-Werte sollten sich im Rahmen der „normalen“ Werte der Daten bewegen. Mit Hilfe der Grafik können wir z.B. \(x=160\) und \(x=170\) aussuchen. Dann berechnen wir mit der Formel der Regressionsgeraden die zugehörigen \(y\)-Werte:

\[ 2.8457 + 0.2836 \cdot 160 = 48.22 \]

\[ 2.8457 + 0.2836 \cdot 170 = 51.06 \]

Die Punkte \((160, 48.22)\) und \((170, 51.06)\) können wir nun in das Streudiagramm einzeichnen, und eine Gerade durch die beiden Punkte ziehen:

regression-gerade

Und fertig! Puh.

Regression: Ein einführendes Beispiel

Idee der Regression

Das Ziel der Regression ist es, den Wert einer bestimmten Variablen anhand einer oder mehrerer bekannten Werte vorherzusagen.

Beispiel

Du möchtest deiner Freundin einen Verlobungsring kaufen, kennst aber ihre Ringgröße nicht. Es ist aber zu verdächtig, sie direkt zu fragen. Du weißt aber, dass kleinere Frauen tendenziell auch kleinere Ringgrößen haben, und nach ihrer Körpergröße kannst du sie ohne Bedenken fragen. Sie ist 172cm groß. Was nun?

Du befrägst deinen gesamten weiblichen Bekanntenkreis (10 Personen) nach Körpergröße und Ringgröße, und erhältst die folgenden Daten:

regression-motivation1

Deine Tante Emma ist zum Beispiel \(x=\)165cm groß und trägt Ringgröße \(y=\)49. Sie wird durch den Punkt ca. in der Mitte links repräsentiert.

Das sieht hilfreich aus. Da deine Freundin 170cm groß ist (\(x\)-Achse), hat sie wohl in etwa eine Ringgröße von 52 (\(y\)-Achse). Du kaufst ihr einen Ring in dieser Größe, er passt, sie sagt Ja, und ihr seid glücklich bis an euer Lebensende.

Was hier passiert ist, ist dass du in deinem Kopf eine Regression durchgeführt hast, um mit Hilfe einer bekannten Variablen – ihrer Körpergröße – eine unbekannte Variable, nämlich ihre Ringgröße vorherzusagen.

Die Regression in der Statistik ist nun ein mathematisches Werkzeug, um eine exakte Regel zu bauen, mit der man für jede Körpergröße eine „beste“ Vorhersage für die Ringgröße erhält. In diesem Beispiel würde man also die „beste“ Gerade bestimmen, die durch den oberen Graphen geht:

regression-motivation2

Wie man diese Gerade berechnet, interpretiert, und mit ihr Vorhersagen macht, sehen wir dann in den nächsten Abschnitten.