11 – Lineare Regression (2)

Statistische Datenanalyse mit R

Autor

Clemens Brunner

Veröffentlicht

12. Juni 2023

Multiple lineare Regression

Die multiple lineare Regression ist eine Erweiterung der einfachen linearen Regression auf Situationen mit mehreren Prädiktoren. Das grundlegende Konzept bleibt aber unverändert, wir verwenden nach wie vor folgende allgemeine Modellgleichung:

\[y_i = \hat{y}_i + \varepsilon_i\]

Das Modell mit \(n\) Prädiktoren \(x_{1}\), \(x_{2}\), \(\ldots\), \(x_{n}\) wird nun wie folgt formuliert:

\[y_i = (b_0 + b_1 x_{1i} + b_2 x_{2i} + \ldots + b_n x_{ni}) + \varepsilon_i\]

Jeder Prädiktor erhält also ein eigenes Gewicht bzw. einen eigenen Regressionskoeffizienten. Die Koeffizienten werden mittels Least Squares wieder so berechnet, dass die entstehende “Gerade” (technisch spricht man hier von einer Hyperebene) den mittleren quadratischen Fehler minimiert.

Quadratsummen und Model Fit

Die Quadratsummen SST, SSM und SSR werden analog wie bei der einfachen Regression berechnet. Wieder kann man \(R^2\) berechnen, welches den Anteil der Varianz in der abhängigen Variable angibt, welche durch das Modell erklärt wird. Je höher dieser Wert ist, desto besser kann das Modell die Daten beschreiben. Im Gegensatz zur einfachen Regression kann man aus \(R^2\) nicht die Pearson-Korrelation zwischen den einzelnen Variablen berechnen, sondern die Korrelation zwischen den vorhergesagten Werten und den tatsächlich beobachteten Werten.

Je mehr Prädiktoren man hinzufügt, desto größer wird \(R^2\), d.h. man kann durch Erhöhen der Anzahl der Prädiktoren diesen Wert fast beliebig erhöhen. Dies liefert dann natürlich keine verlässliche Aussage mehr über die Modellqualität. Deswegen gibt es Kriterien, welche die Anzahl der Prädiktoren berücksichtigen, z.B. das Akaike Information Criterion (AIC) oder das Bayesian Information Criterion (BIC). Bei gegebenen Daten kann man so verschiedene Modelle vergleichen; jenes Modell mit dem kleinsten Wert von AIC (oder BIC) ist zu bevorzugen. Weiters kann anstelle von \(R^2\) auch das adjustierte Bestimmtheitsmaß verwendet werden, welches eine bessere Schätzung der vom Modell erklärten Varianz bei mehreren Prädiktoren liefert.

Überprüfen der Datenpunkte

Ein gegebenes Modell sollte man immer darauf überprüfen, wie gut es die gemessenen Daten tatsächlich beschreibt. Lineare Modelle können sehr sensitiv auf einzelne Datenpunkte reagieren, welche nicht zum generellen Trend der Daten passen. Einen tatsächlichen Einfluss auf das Modell üben solche Ausreißer aber nur aus, wenn sie weit weg vom Mittelwert der Prädiktoren liegen – man bezeichnet diesen potentiellen Einfluss jedes Datenpunkts als Leverage.

Kritisch sind also jene Punkte, welche einen potentiellen hohen Einfluss haben (hohe Leverage) und gleichzeitig nicht zum generellen Trend der Daten passen, also Ausreißer sind. Die folgende Grafik veranschaulicht die drei möglichen Situationen. Dabei sind die vier Ausgangsdatenpunkte schwarz dargestellt und die zugehörige Regressionsgerade ist schwarz strichliert. Der zusätzliche fünfte Datenpunkt ist rot dargestellt, und die Regressionsgerade durch alle fünf Datenpunkte ist ebenfalls rot. Durch einen einzigen zusätzlichen Datenpunkt ändert sich also das ursprüngliche Modell mehr oder weniger stark (von schwarz strichliert auf rot durchgezogen).

Je weniger Datenpunkte vorhanden sind, desto größer ist der Einfluss von Ausreißern auf das lineare Modell. Die folgende Grafik veranschaulicht die Auswirkung eines Ausreißers für drei verschiedene Stichprobengrößen. Man erkennt, dass ein Ausreißer das Modell nur wenig verändert, wenn sehr viele Datenpunkte vorhanden sind. Wenn es aber nur wenige Datenpunkte gibt, kann ein einziger Ausreißer das Modell stark verändern.

Ausreißer

Ein Ausreißer ist ein Datenpunkt, welcher sich von den restlichen Daten unterscheidet. Im Falle eines linearen Modells hat ein Ausreißer bei gegebenen \(x\)-Werten einen ungewöhnlichen \(y\)-Wert. Ausreißer erkennt man z.B. an deren Residuen – diese sind typischerweise (aber nicht immer) sehr groß. Es ist allerdings sinnvoll, wenn man sich standardisierte Residuen zu jedem Datenpunkt ansieht (d.h. Residuen geteilt durch ihre Standardabweichung1). Die Funktion rstandard() berechnet standardisierte Residuen.

Zur Beurteilung des Modells anhand standardisierter Residuen gibt es folgende Daumenregeln:

  • Standardisierte Residuen größer als 3 könnten Ausreißer sein und sollten gesondert behandelt werden.
  • Wenn mehr als 1% der Daten standardisierte Residuen größer als 2.5 haben, ist das ein Hinweis darauf, dass das Modell die Daten schlecht beschreibt.
  • Wenn mehr als 5% der Daten standardisierte Residuen größer als 2 haben, ist das ebenfalls ein Hinweis darauf, dass das Modell die Daten schlecht beschreibt.
Hinweis

Alternativ zu den standardisierten Residuen kann man auch studentisierte Residuen mittels Leave-One-Out berechnen. Dies bedeutet, dass bei der Berechnung der Standardabweichung das Modell ohne den betreffenden Datenpunkt verwendet wird (dieser Datenpunkt wird ausgelassen). Diese studentisierten Residuen werden so für jeden Datenpunkt berechnet. In R verwendet man die Funktion rstudent() dafür.

Datenpunkte mit hoher Leverage

Datenpunkte, die weit vom Mittelwert der Prädiktorvariablen entfernt sind, können ein lineares Modell potentiell stark beeinflussen. Ein Maß für den potentiellen Einfluss ist die sogenannte Leverage \(h_i\) (wird auch als Hat-Wert bezeichnet). Die Leverage beschreibt den Einfluss eines Messpunktes \(y_i\) auf alle vom Modell vorhergesagten Werte. Für \(n\) Messpunkte gilt:

\[\frac{1}{n} \leq h_i \leq 1\]

Der durchschnittliche Wert für ein Modell mit \(k\) Prädiktoren ist: \[\frac{k + 1}{n}\]

In R kann man die Funktion hatvalues() benutzen, um die Leverage für jeden Datenpunkt zu berechnen.

Datenpunkte mit großem Einfluss

Tatsächlichen Einfluss auf ein Modell haben Datenpunkte, die gleichzeitig Ausreißer sind und hohe Leverage haben.

Man kann solche Datenpunkte erkennen, indem man einmal ein Modell mit allen Daten und ein zweites Modell mit allen Daten außer den zu untersuchenden Datenpunkt rechnet (Leave-One-Out). Wenn der untersuchte Datenpunkt keinen großen Einfluss auf das Modell ausübt, dann sind die beiden Modelle sehr ähnlich. Folgende konkrete Maße kann man hier für jeden Datenpunkt berechnen:

  • DFBeta (dfbeta()) beschreibt den Unterschied zwischen den Regressionskoeffizienten, welche aus einem Modell mit allen Daten und einem Modell ohne den jeweiligen Messpunkt berechnet wurden. Der Nachteil ist, dass man hier nicht einen einzigen Wert bekommt, den man leicht beurteilen könnte, sondern einen Wert für jeden Regressionskoeffizienten.
  • Cook’s Distanz (cooks.distance()) berechnet aus den Unterschieden der einzelnen Koeffizienten einen Wert.
  • Angepasste vorhergesagte Werte (dffits()) beschreiben den Unterschied zwischen den vorhergesagten Werten, welche durch die zwei verschiedenen Modelle berechnet wurden (dieses Maß ist auch als DFFit bekannt).

Modellannahmen

Um mit einem linearen Regressionsmodell Vorhersagen auf ungesehene Daten machen zu können, müssen folgende Annahmen erfüllt sein:

  • Die abhängige Variable muss intervallskaliert sein.

  • Die unabhängigen Variablen (Prädiktoren) müssen intervallskaliert (oder nominalskaliert in zwei Kategorien) sein.

  • Die Prädiktoren müssen Varianzen ungleich 0 haben.

  • Es darf keine Multikollinearität bestehen, d.h. zwei oder mehrere Prädiktoren dürfen nicht linear voneinander abhängig sein. Dies kann z.B. mit der VIF-Statistik (Variance Inflation Factor) überprüft werden.

  • Homoskedastizität, d.h. die Varianz der Residuen muss konstant über die Werte der Prädiktoren sein (Varianzhomogenität).

  • Die Residuen müssen normalverteilt sein.

    Wichtig

    Diese Voraussetzung der Normalverteilung gilt für die Residuen und nicht für die Prädiktoren!

  • Die Residuen müssen unabhängig voneinander sein (kann z.B. mit dem Durbin-Watson-Test überprüft werden).

  • Die Beziehung zwischen unabhängigen Variablen und abhängiger Variable muss linear sein.

Beispiel

Im folgenden Beispiel sehen wir uns wieder die Anzahl der Verkäufe von Musikalben in Abhängigkeit der Höhe des Werbebudgets an. Zusätzlich gibt es jetzt aber zwei weitere Prädiktoren, nämlich die Anzahl an Airplay-Stunden im größten nationalen Radiosender und die Attraktivität der Bandmitglieder. Wir beginnen mit dem Laden der Daten sales2.dat:

library(readr)
album2 = read_tsv("sales2.dat")

Berechnen wir nun ein lineares Regressionsmodell. Als Vergleichsmodell führen wir zuerst eine einfache Regression mit dem einzigen Prädiktor Werbebudget durch:

model1 = lm(sales ~ adverts, data=album2)

Zusätzliche Faktoren kann man nun in einem zweiten Modell einfach durch den +-Operator hinzufügen:

model2 = lm(sales ~ adverts + airplay + attract, data=album2)

Anschließend können wir uns die zusammengefassten Ergebnisse der beiden Modelle anzeigen lassen:

summary(model1)

Call:
lm(formula = sales ~ adverts, data = album2)

Residuals:
     Min       1Q   Median       3Q      Max 
-152.949  -43.796   -0.393   37.040  211.866 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 1.341e+02  7.537e+00  17.799   <2e-16 ***
adverts     9.612e-02  9.632e-03   9.979   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 65.99 on 198 degrees of freedom
Multiple R-squared:  0.3346,    Adjusted R-squared:  0.3313 
F-statistic: 99.59 on 1 and 198 DF,  p-value: < 2.2e-16
summary(model2)

Call:
lm(formula = sales ~ adverts + airplay + attract, data = album2)

Residuals:
     Min       1Q   Median       3Q      Max 
-121.324  -28.336   -0.451   28.967  144.132 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -26.612958  17.350001  -1.534    0.127    
adverts       0.084885   0.006923  12.261  < 2e-16 ***
airplay       3.367425   0.277771  12.123  < 2e-16 ***
attract      11.086335   2.437849   4.548 9.49e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 47.09 on 196 degrees of freedom
Multiple R-squared:  0.6647,    Adjusted R-squared:  0.6595 
F-statistic: 129.5 on 3 and 196 DF,  p-value: < 2.2e-16

Da das erste Modell identisch mit jenem aus der vorigen Einheit ist, kennen wir die Ergebnisse bereits. Wenden wir uns daher dem zweiten Modell zu. \(R^2\) ist hier 0.6647, das heißt das Modell kann nun 66% der Varianz erklären. Im Vergleich zum ersten Modell mit nur einem Prädiktor ist das eine Steigerung um 33%, d.h. die beiden Prädiktoren Airplay und Attraktivität können zusätzliche Varianz im Ausmaß von 33% erklären.

Die Regressionskoeffizienten werden ebenfalls in der Ausgabe dargestellt. Wir können daher das lineare Modell wie folgt schreiben:

\[y = b_0 + b_1 x_1 + b_2 x_2 + b_3 x_3 = -26.613 + 0.085 \cdot x_1 + 3.367 \cdot x_2 + 11.086 \cdot x_3\]

Hier stehen \(b_0\) für den Intercept (d.h. jener Wert von \(y\), wenn alle Prädiktoren 0 sind), \(b_1\) für das Werbebudget adverts, \(b_2\) für die Airplay-Stunden airplay und \(b_3\) für die Attraktivität attract.

Die Regressionskoeffizienten geben Auskunft, um wie viel sich die abhängige Variable ändert, wenn man einen Prädiktor um eine Einheit erhöht und dabei alle anderen Prädiktoren konstant hält. Dies bedeutet im Beispiel:

  • Wenn adverts um eine Einheit erhöht wird, dann erhöht sich sales um 0.085 Einheiten. D.h. wenn man 1000 EUR mehr für Werbung ausgibt, verkauft man um 85 Alben mehr.
  • Wenn airplay um eine Einheit erhöht wird, dann erhöht sich sales um 3.37 Einheiten. D.h. wenn man das Album um eine Stunde mehr im Radio spielt, verkauft man um 3367 Alben mehr.
  • Wenn attract um eine Einheit erhöht wird, dann erhöht sich sales um 11.086 Einheiten (d.h. 11086 zusätzliche Alben).

Für jeden Regressionskoeffizienten wird ein \(t\)-Test gerechnet, welcher angibt, ob sich der Koeffizient signifikant von 0 unterscheidet (d.h. ob er signifikant zum Modell beiträgt). Die Größe der \(t\)-Statistik lässt auf den Einfluss der Koeffizienten schließen, d.h. adverts und airplay haben einen ähnlich großen Einfluss auf das Modell, wo hingegen attract einen geringeren Einfluss hat.

Oft ist es hilfreich, nicht nur die Regressionskoeffizienten zu analysieren, sondern auch die standardisierten Regressionskoeffizienten. Diese kann man berechnen, in dem man zuerst alle Variablen standardisiert und danach das lineare Modell berechnet. Standardisierte Variablen haben einen Mittelwert von 0 und eine Standardabweichung von 1. Man könnte die Standardisierung daher relativ einfach selbst vornehmen, in dem man für jede Variable zuerst deren Mittelwert subtrahiert und danach durch deren Standardabweichung dividiert.

Tipp

Die Funktion scale() kann verwendet werden, um die Spalten eine Data Frames zu standardisieren. Diese liefert aber immer eine Matrix zurück, d.h. wenn man ein Data Frame bzw. Tibble standardisieren möchte, muss man danach noch as.data.frame() bzw. tibble::as_tibble() anwenden.

Alternativ kann man dazu auch nachträglich die Funktion lm.beta() aus dem lm.beta-Paket benutzen:

library(lm.beta)
lm.beta(model2)

Call:
lm(formula = sales ~ adverts + airplay + attract, data = album2)

Standardized Coefficients::
(Intercept)     adverts     airplay     attract 
         NA   0.5108462   0.5119881   0.1916834 

Die standardisierten Regressionskoeffizienten werden üblicherweise mit \(\beta_i\) bezeichnet. Da alle Variablen nun in Standardabweichungen gemessen werden, kann man diese direkt miteinander vergleichen. Man sieht im Beispiel also:

  • Wenn adverts um eine Standardabweichung erhöht wird (485655 EUR), dann erhöht sich sales um 0.511 Standardabweichungen (41240 Alben).
  • Wenn airplay um eine Standardabweichung erhöht wird (12.270), dann erhöht sich sales um 0.512 Standardabweichungen (41320 Alben).
  • Wenn attract um eine Standardabweichung erhöht wird (1.395), dann erhöht sich sales um 0.192 Standardabweichungen (15490 Alben).

Konfidenzintervalle für die (nicht standardisierten) Regressionskoeffizienten erhält man mit der Funktion confint() (standardmäßig werden 95%-Intervalle berechnet):

confint(model2)
                   2.5 %      97.5 %
(Intercept) -60.82960967  7.60369295
adverts       0.07123166  0.09853799
airplay       2.81962186  3.91522848
attract       6.27855218 15.89411823

Zwei (oder mehrere) Modelle können mit der \(F\)-Statistik verglichen werden. Der \(F\)-Wert, der bei der zusammenfassenden Beschreibung eines Modells angezeigt wird, vergleicht das Modell standardmäßig mit dem einfachsten Mittelwertmodell. Möchte man das Modell mit einem anderen Modell vergleichen, ist zu beachten, dass model2 eine Erweiterung von model1 sein muss, d.h. model2 muss alle Terme von model1 beinhalten plus eventuelle zusätzliche Faktoren. In R gibt man hier folgenden Befehl ein:

anova(model1, model2)
Analysis of Variance Table

Model 1: sales ~ adverts
Model 2: sales ~ adverts + airplay + attract
  Res.Df    RSS Df Sum of Sq      F    Pr(>F)    
1    198 862264                                  
2    196 434575  2    427690 96.447 < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Der \(F\)-Wert beträgt also 96.447 und ist signifikant, d.h. das zweite Modell ist signifikant besser als das erste.

Datenpunkte mit großem Einfluss

Um die diversen Ausreißerstatistiken für jeden einzelnen Wert übersichtlich beurteilen zu können, kann man die Werte mit folgenden Funktionen berechnen:

  • resid(): Residuen
  • rstandard(): Standardisierte Residuen
  • rstudent(): Studentisierte Residuen (berechnet mit Leave-One-Out)
  • hatvalues(): Leverage
  • dfbeta(): Unterschied der Regressionskoeffizienten mittels Leave-One-Out
  • cooks.distance(): Cook’s Distanz
  • dffits(): Unterschied im vorhergesagtem Wert mittels Leave-One-Out

Sehr praktisch ist die Funktion influence.measures(), welche mehrere Ausreißerstatistiken für jeden Datenpunkt übersichtlich aufbereitet ausgibt.

influence.measures(model2)
Influence measures of
     lm(formula = sales ~ adverts + airplay + attract, data = album2) :

       dfb.1_  dfb.advr  dfb.arpl  dfb.attr    dffit cov.r   cook.d     hat inf
1   -3.16e-01 -2.42e-01  0.157739  0.353292  0.48929 0.971 5.87e-02 0.04719   *
2    1.26e-02 -1.26e-01  0.009421 -0.018683 -0.21110 0.920 1.09e-02 0.00801   *
3   -3.81e-02  1.75e-01  0.046574 -0.005385  0.21418 0.997 1.14e-02 0.02070    
4   -2.58e-03  1.22e-02  0.003444  0.000129  0.01689 1.033 7.17e-05 0.01256    
5   -8.58e-03  1.09e-03 -0.014254  0.013554 -0.02020 1.048 1.03e-04 0.02607    
6    6.58e-02  2.24e-03 -0.020820 -0.051246  0.07411 1.027 1.38e-03 0.01421    
7   -1.45e-01 -1.00e-03 -0.005086  0.147724 -0.15389 1.117 5.94e-03 0.09104   *
8   -2.81e-02 -5.86e-03 -0.019167  0.045204  0.05366 1.040 7.23e-04 0.02092    
9    1.12e-02 -8.96e-03 -0.028957  0.014483  0.06154 1.016 9.49e-04 0.00691    
10  -1.26e-02 -1.56e-01  0.167721  0.006723  0.26896 0.944 1.78e-02 0.01541    
11   8.75e-03 -5.17e-02 -0.003237  0.001001 -0.05723 1.051 8.23e-04 0.03118    
12  -2.41e-01 -1.95e-02  0.000943  0.243196 -0.25743 1.069 1.66e-02 0.06410   *
13   8.59e-03  1.70e-02  0.008258 -0.021579 -0.03484 1.032 3.05e-04 0.01303    
14   1.29e-02 -2.35e-02  0.022549 -0.013673  0.03943 1.037 3.90e-04 0.01751    
15   2.05e-02 -4.65e-02 -0.031639  0.027607  0.12762 0.977 4.04e-03 0.00652    
16  -7.91e-02  3.38e-02 -0.004497  0.065656 -0.09386 1.024 2.21e-03 0.01504    
17  -1.29e-02 -2.08e-02 -0.010016  0.020810 -0.03286 1.049 2.71e-04 0.02803    
18  -9.64e-03 -1.50e-02  0.009564  0.012653  0.02659 1.036 1.78e-04 0.01527    
19  -1.73e-02  3.14e-02 -0.007284  0.017893  0.04320 1.039 4.69e-04 0.01930    
20   8.61e-02 -1.39e-01 -0.014776 -0.066685 -0.18790 1.007 8.80e-03 0.02051    
21   3.57e-03 -9.31e-03 -0.011585 -0.001884 -0.03346 1.024 2.81e-04 0.00655    
22   1.24e-02  1.64e-02  0.001698 -0.013572  0.03020 1.028 2.29e-04 0.00941    
23   1.55e-02 -2.22e-02  0.002822 -0.013787 -0.02865 1.068 2.06e-04 0.04482   *
24   1.72e-03 -4.69e-04 -0.008513 -0.001144 -0.01913 1.026 9.19e-05 0.00644    
25   2.36e-02  1.00e-02 -0.102957  0.008510 -0.11874 1.028 3.53e-03 0.02070    
26  -3.05e-02 -3.15e-02  0.038147  0.030725  0.07196 1.030 1.30e-03 0.01575    
27  -1.80e-01  3.25e-02  0.018116  0.155755 -0.18840 1.020 8.86e-03 0.02590    
28  -5.35e-03  1.80e-02  0.010007 -0.001654  0.02371 1.050 1.41e-04 0.02853    
29   3.14e-02  6.82e-02 -0.031088 -0.047175 -0.10295 1.027 2.66e-03 0.01774    
30   2.60e-02  1.35e-02 -0.039236 -0.007581  0.04967 1.038 6.20e-04 0.01949    
31   1.85e-02  8.55e-02 -0.133634  0.005857 -0.16928 1.028 7.16e-03 0.02759    
32   3.96e-02  5.81e-02  0.098406 -0.126250 -0.19909 0.977 9.82e-03 0.01387    
33  -1.49e-02  2.72e-02 -0.041884  0.021926 -0.05923 1.037 8.81e-04 0.01909    
34  -3.97e-03 -3.94e-03  0.016153 -0.004047 -0.01859 1.044 8.68e-05 0.02266    
35   3.04e-02  1.02e-01  0.064906 -0.069895  0.16442 1.003 6.74e-03 0.01601    
36  -8.74e-03  3.24e-02  0.022819  0.005440  0.08670 1.004 1.88e-03 0.00666    
37   6.83e-02 -8.27e-02  0.019384 -0.042493  0.12718 1.004 4.04e-03 0.01149    
38   2.29e-02  4.55e-02  0.016380 -0.054531 -0.08905 1.021 1.99e-03 0.01299    
39   4.83e-02 -6.37e-04 -0.024631 -0.052542 -0.09128 1.013 2.08e-03 0.00961    
40  -1.55e-02 -1.51e-03  0.008420  0.008903 -0.02331 1.027 1.36e-04 0.00752    
41   3.78e-03 -1.21e-02 -0.009467 -0.000679 -0.02647 1.027 1.76e-04 0.00812    
42  -3.58e-02 -9.83e-02  0.206271 -0.018746  0.23182 1.065 1.34e-02 0.05823   *
43  -1.04e-02  6.63e-02  0.000144 -0.001539  0.07067 1.068 1.25e-03 0.04593   *
44  -7.70e-04  2.14e-02 -0.007418  0.003410  0.03230 1.028 2.62e-04 0.00967    
45   1.29e-02  4.09e-02 -0.083959  0.000910 -0.11410 1.015 3.26e-03 0.01380    
46   5.46e-02 -2.30e-01 -0.077306  0.011464 -0.28216 0.978 1.97e-02 0.02380    
47   6.64e-02  1.96e-01  0.048288 -0.178574 -0.31469 0.915 2.41e-02 0.01568   *
48   1.05e-02 -4.39e-02 -0.004067  0.012615  0.06877 1.019 1.19e-03 0.00888    
49  -4.57e-03  1.34e-02  0.010421 -0.000924  0.02186 1.036 1.20e-04 0.01504    
50  -4.22e-02  9.52e-04  0.173808 -0.012978  0.21041 0.983 1.10e-02 0.01649    
51   1.51e-02  1.10e-02  0.026222 -0.023993  0.04854 1.027 5.91e-04 0.01033    
52   3.53e-01 -2.88e-02 -0.136669 -0.269650  0.36742 0.960 3.32e-02 0.02921    
53   4.81e-03 -4.32e-02 -0.123515  0.074557  0.15430 1.048 5.96e-03 0.03793    
54  -1.73e-02 -2.36e-03 -0.000888  0.024897  0.03786 1.027 3.60e-04 0.00895    
55   1.74e-01 -3.26e-01 -0.023068 -0.124349 -0.40736 0.925 4.04e-02 0.02610   *
56   5.12e-03 -4.60e-02  0.003598 -0.004287 -0.06477 1.023 1.05e-03 0.01035    
57   3.51e-02  2.42e-02 -0.050804 -0.012286  0.06839 1.034 1.17e-03 0.01791    
58  -2.19e-02  3.40e-02  0.073443 -0.001318  0.12487 0.996 3.89e-03 0.00938    
59  -4.05e-02  1.08e-02  0.005168  0.033754 -0.04241 1.048 4.52e-04 0.02713    
60  -4.52e-02 -5.95e-02  0.064342  0.022212 -0.10409 1.028 2.71e-03 0.01874    
61   8.19e-04 -1.54e-02  0.027926  0.020543  0.15562 0.937 5.95e-03 0.00535   *
62  -3.73e-02  5.94e-02  0.019305  0.021939  0.07937 1.043 1.58e-03 0.02597    
63   2.15e-02 -9.71e-03  0.027330 -0.041342 -0.06376 1.024 1.02e-03 0.01109    
64  -2.82e-02  3.43e-02  0.004978  0.012469 -0.04889 1.031 6.00e-04 0.01357    
65  -3.07e-02 -1.57e-02 -0.021028  0.052067  0.06276 1.040 9.89e-04 0.02206    
66  -2.83e-02  6.60e-02  0.051708 -0.029031 -0.12539 0.999 3.92e-03 0.01006    
67  -3.54e-02  2.17e-02  0.022872  0.013776 -0.05296 1.026 7.04e-04 0.01068    
68  -2.81e-03  2.11e-01 -0.147655 -0.017599 -0.30216 0.924 2.23e-02 0.01571   *
69   3.11e-02  9.69e-02  0.141662 -0.150488 -0.25404 0.966 1.59e-02 0.01775    
70  -2.21e-02 -6.36e-03  0.007563  0.028092  0.04557 1.026 5.21e-04 0.00931    
71   7.95e-02 -5.18e-02  0.010488 -0.064341  0.10080 1.027 2.55e-03 0.01786    
72  -4.36e-02 -2.80e-02  0.050914  0.034896  0.07541 1.060 1.43e-03 0.03995    
73  -3.40e-03  1.93e-02 -0.001904 -0.003926 -0.02579 1.032 1.67e-04 0.01174    
74   2.78e-04 -7.43e-05 -0.001700 -0.000493 -0.00534 1.026 7.16e-06 0.00573    
75  -9.23e-03  1.17e-01 -0.030460  0.006431  0.13429 1.028 4.51e-03 0.02289    
76   5.48e-02 -9.54e-02  0.085614 -0.055135  0.15795 1.007 6.22e-03 0.01654    
77  -5.40e-02  1.76e-02  0.001946  0.067477  0.10805 1.004 2.91e-03 0.00916    
78   2.45e-02 -6.93e-02 -0.039287  0.022734  0.10402 1.019 2.71e-03 0.01411    
79  -2.09e-02  3.82e-03 -0.139606  0.069215 -0.16783 1.016 7.03e-03 0.02138    
80   1.42e-02 -9.94e-03 -0.001071 -0.010067  0.01755 1.041 7.74e-05 0.01963    
81   9.96e-04  6.87e-03  0.015221 -0.011845 -0.02172 1.046 1.19e-04 0.02443    
82   1.10e-01 -1.77e-02 -0.075900 -0.067595  0.12366 1.058 3.84e-03 0.04249    
83   1.20e-01 -8.51e-02 -0.170752 -0.008363  0.22090 1.026 1.22e-02 0.03356    
84   1.38e-02 -2.80e-02  0.026471 -0.014942  0.04518 1.039 5.13e-04 0.01972    
85  -1.22e-01 -3.32e-02  0.103319  0.074608 -0.15847 1.024 6.28e-03 0.02372    
86  -4.29e-02  1.28e-01  0.098342 -0.006909  0.21451 0.966 1.14e-02 0.01344    
87   5.23e-02  2.06e-01  0.042815 -0.113375  0.24366 1.063 1.48e-02 0.05815   *
88  -2.07e-02 -7.81e-02 -0.032203  0.050616 -0.10072 1.074 2.55e-03 0.05328   *
89  -7.74e-03  2.43e-02  0.010067 -0.007857 -0.03730 1.029 3.49e-04 0.01098    
90   1.61e-02  2.94e-02  0.004568 -0.033691 -0.05588 1.029 7.84e-04 0.01262    
91  -5.37e-03 -8.31e-03 -0.003527  0.007220 -0.01557 1.031 6.09e-05 0.01021    
92  -1.78e-03  1.15e-01 -0.057331  0.011664  0.14045 1.029 4.94e-03 0.02397    
93  -2.28e-02  3.14e-02 -0.012093  0.024707  0.04441 1.061 4.95e-04 0.03899    
94   6.92e-02 -5.21e-02 -0.212508  0.058739  0.24501 1.015 1.49e-02 0.03148    
95  -3.17e-02  1.64e-02  0.023713  0.025282  0.05632 1.028 7.96e-04 0.01248    
96  -2.78e-02 -3.79e-02  0.004403  0.027559 -0.06543 1.022 1.07e-03 0.00982    
97   8.06e-02 -4.92e-02 -0.084344 -0.018812  0.12958 1.018 4.20e-03 0.01703    
98  -5.83e-03 -3.05e-03 -0.007200  0.007894 -0.01561 1.029 6.12e-05 0.00894    
99   8.85e-02 -1.11e-01 -0.279325  0.038921 -0.33721 0.990 2.81e-02 0.03428    
100  6.11e-02  1.45e-01 -0.299835  0.067664  0.35732 0.959 3.14e-02 0.02778    
101 -4.37e-02  7.04e-02 -0.046088  0.036563 -0.10779 1.020 2.91e-03 0.01500    
102  5.65e-02 -4.70e-02 -0.012821 -0.048374 -0.08237 1.045 1.70e-03 0.02827    
103  1.48e-02  7.81e-02  0.125243 -0.113185 -0.20118 1.005 1.01e-02 0.02151    
104 -1.08e-02  5.69e-03  0.002933  0.005915 -0.01598 1.028 6.42e-05 0.00790    
105  1.40e-02 -5.30e-02  0.156092 -0.060038  0.17773 1.041 7.90e-03 0.03631    
106  1.39e-02 -2.65e-02 -0.029883  0.013962  0.05786 1.025 8.40e-04 0.01075    
107 -1.26e-03  6.34e-05  0.004387 -0.001138 -0.00488 1.050 5.97e-06 0.02824    
108  1.25e-01 -8.62e-02 -0.128198 -0.028115  0.20283 0.992 1.02e-02 0.01779    
109  1.13e-02  3.15e-02 -0.003884 -0.023162 -0.04553 1.036 5.20e-04 0.01709    
110  2.99e-03 -9.75e-03 -0.003711  0.002983  0.01440 1.032 5.21e-05 0.01167    
111  4.76e-02 -6.60e-02  0.067924 -0.048939  0.12645 1.010 3.99e-03 0.01347    
112 -7.80e-03 -5.58e-03  0.007208  0.008468  0.01682 1.033 7.11e-05 0.01220    
113 -2.35e-01 -7.19e-03  0.082070  0.195385 -0.24220 1.045 1.47e-02 0.04709    
114  2.66e-03 -2.34e-03 -0.007962  0.002258  0.00937 1.052 2.20e-05 0.03012    
115  2.23e-04 -5.43e-04  0.000890 -0.000624 -0.00127 1.046 4.05e-07 0.02379    
116  7.97e-03  1.37e-02  0.028313 -0.027777 -0.04165 1.069 4.36e-04 0.04631   *
117 -1.24e-02  3.25e-03  0.039396 -0.013050 -0.05316 1.028 7.09e-04 0.01182    
118  1.82e-03  1.98e-04 -0.000498 -0.001478  0.00208 1.035 1.09e-06 0.01397    
119  4.22e-03 -5.44e-02 -0.312272  0.128968 -0.35302 1.001 3.08e-02 0.04009    
120 -2.41e-03 -7.02e-03 -0.006771  0.009197  0.01530 1.037 5.88e-05 0.01607    
121  9.33e-04  1.73e-03 -0.005990 -0.000649 -0.01174 1.028 3.46e-05 0.00705    
122  8.18e-02 -9.35e-03 -0.011522 -0.066988  0.09185 1.022 2.11e-03 0.01347    
123  9.50e-03 -1.69e-02 -0.021561  0.009092  0.03728 1.031 3.49e-04 0.01260    
124 -5.74e-02 -7.51e-03  0.235677 -0.024053  0.26237 0.997 1.71e-02 0.02696    
125 -1.02e-01  7.02e-02  0.134428  0.011323 -0.18024 1.026 8.12e-03 0.02788    
126 -1.68e-02 -9.47e-02 -0.002248  0.033586 -0.10949 1.040 3.01e-03 0.02692    
127 -1.36e-02 -6.77e-02  0.105225 -0.000936  0.14475 1.012 5.23e-03 0.01670    
128 -7.77e-03  7.88e-02 -0.014248  0.003901  0.09226 1.032 2.13e-03 0.01942    
129  1.30e-04  4.13e-03 -0.000137  0.003108  0.02172 1.024 1.19e-04 0.00533    
130  2.85e-02 -7.23e-03 -0.020753 -0.025406 -0.05111 1.027 6.56e-04 0.01109    
131  7.60e-02 -1.04e-02  0.038077 -0.082520  0.10634 1.021 2.83e-03 0.01509    
132  2.16e-03 -7.39e-03 -0.004958 -0.000300 -0.01457 1.029 5.33e-05 0.00867    
133  3.66e-04 -8.24e-03  0.016324  0.012010  0.09129 0.994 2.08e-03 0.00534    
134 -3.25e-03 -1.09e-02  0.016951 -0.004657 -0.02464 1.034 1.53e-04 0.01348    
135 -9.34e-03  2.25e-02  0.014838 -0.011282 -0.05087 1.021 6.49e-04 0.00741    
136 -1.28e-02  1.47e-02  0.000722  0.012566  0.02598 1.033 1.70e-04 0.01319    
137  7.80e-02 -4.58e-02 -0.010743 -0.055318  0.09254 1.029 2.15e-03 0.01796    
138 -1.41e-01  3.37e-02 -0.031591  0.147462 -0.15770 1.127 6.24e-03 0.09871   *
139  1.08e-03  1.05e-02 -0.009229  0.002497  0.01687 1.035 7.15e-05 0.01379    
140  9.24e-05 -1.78e-03  0.000106 -0.000654 -0.00517 1.027 6.72e-06 0.00583    
141  5.27e-02 -4.72e-02 -0.031523 -0.040181 -0.09674 1.022 2.34e-03 0.01425    
142  6.32e-03  6.36e-03 -0.000790 -0.005866  0.01322 1.029 4.39e-05 0.00850    
143 -1.04e-02 -1.49e-02  0.002184  0.017705  0.03001 1.031 2.26e-04 0.01184    
144 -1.11e-02 -2.57e-02  0.053137 -0.013211 -0.06695 1.035 1.13e-03 0.01896    
145 -2.34e-02  5.89e-02  0.039273 -0.024562 -0.10848 1.005 2.94e-03 0.00959    
146  7.79e-02  2.92e-02  0.084972 -0.145121 -0.17879 1.019 7.98e-03 0.02438    
147 -1.08e-02  1.81e-02  0.025799 -0.010021 -0.04087 1.033 4.19e-04 0.01465    
148 -4.14e-02  1.45e-01  0.078695 -0.008187  0.20400 0.990 1.03e-02 0.01745    
149 -3.38e-02 -3.23e-02 -0.059904  0.055814 -0.11380 1.007 3.23e-03 0.01066    
150  2.74e-03  1.27e-02 -0.030423 -0.009358 -0.09254 0.997 2.14e-03 0.00584    
151  9.66e-02 -3.49e-02 -0.065682 -0.051438  0.11554 1.034 3.34e-03 0.02372    
152 -1.37e-01  1.39e-01 -0.143011  0.152493 -0.26114 1.001 1.69e-02 0.02809    
153  1.08e-02 -4.31e-02 -0.007982  0.010878  0.05827 1.028 8.52e-04 0.01247    
154 -5.40e-03 -4.87e-02  0.056299 -0.000433  0.08047 1.040 1.63e-03 0.02411    
155  1.01e-02  1.24e-01  0.131336 -0.124390 -0.23484 1.003 1.37e-02 0.02529    
156 -1.24e-01 -2.18e-02  0.108623  0.057443 -0.19290 0.953 9.17e-03 0.00962    
157  3.44e-03 -1.59e-02 -0.005729 -0.001072 -0.02745 1.028 1.89e-04 0.00863    
158  1.16e-02  2.40e-02 -0.007368 -0.011078  0.03305 1.034 2.74e-04 0.01458    
159  7.36e-02  1.03e-03 -0.124567 -0.008452  0.14107 1.039 4.98e-03 0.03035    
160 -2.90e-02  1.84e-02 -0.021230  0.030998 -0.04581 1.039 5.27e-04 0.01999    
161 -5.79e-02  1.07e-02  0.000795  0.041824 -0.09080 1.002 2.06e-03 0.00663    
162 -7.26e-02  7.90e-02  0.035295  0.025457 -0.12046 1.015 3.63e-03 0.01466    
163 -2.70e-04  5.65e-02 -0.020592  0.015578  0.11768 0.986 3.44e-03 0.00683    
164  1.80e-01  2.90e-01 -0.400884 -0.117064 -0.54029 0.920 7.08e-02 0.03935   *
165 -4.30e-02 -1.06e-01  0.005805  0.088875  0.16433 1.000 6.73e-03 0.01530    
166  1.83e-02 -1.00e-01  0.010106  0.023524  0.14783 0.984 5.43e-03 0.00955    
167 -1.36e-01  3.87e-02  0.106300  0.055201 -0.20094 0.949 9.94e-03 0.00986    
168  1.88e-02  3.73e-02  0.009157 -0.042344 -0.07011 1.026 1.23e-03 0.01301    
169 -1.68e-01 -2.58e-01  0.257392  0.169684  0.46132 0.853 5.09e-02 0.02082   *
170  3.47e-02  3.93e-02 -0.037480 -0.020355  0.07260 1.026 1.32e-03 0.01342    
171 -3.76e-02 -1.85e-02  0.029661  0.041013  0.07692 1.021 1.48e-03 0.01101    
172 -8.76e-03 -4.09e-02  0.064870 -0.001562  0.08583 1.033 1.85e-03 0.01975    
173 -8.34e-04 -1.09e-02  0.008443 -0.002527 -0.01764 1.032 7.81e-05 0.01182    
174  3.10e-02 -6.87e-02 -0.063318  0.027601  0.11809 1.020 3.49e-03 0.01641    
175  5.08e-02 -1.09e-01  0.016771 -0.044737 -0.13408 1.035 4.50e-03 0.02662    
176 -7.34e-02  4.08e-02 -0.009538  0.051372 -0.11874 0.990 3.51e-03 0.00743    
177 -4.63e-02  4.60e-02 -0.118434  0.114010  0.19277 0.987 9.22e-03 0.01514    
178  3.09e-02 -1.26e-02 -0.007721 -0.034182 -0.05838 1.023 8.55e-04 0.00957    
179 -5.65e-02 -2.12e-02  0.046994  0.050514  0.08517 1.044 1.82e-03 0.02723    
180  3.27e-03  5.73e-03 -0.006343 -0.002787 -0.00979 1.052 2.41e-05 0.02966    
181  4.33e-02 -6.01e-03  0.001171 -0.042352  0.04508 1.124 5.11e-04 0.09260   *
182  3.25e-02  4.86e-02  0.047904 -0.085889 -0.13351 1.004 4.45e-03 0.01248    
183  8.87e-02  5.09e-02 -0.108397 -0.066751 -0.15256 1.054 5.83e-03 0.04232    
184 -7.16e-03 -3.44e-02 -0.002086  0.015372 -0.03822 1.104 3.67e-04 0.07582   *
185 -1.54e-02  1.47e-02  0.011049  0.010396  0.02841 1.037 2.03e-04 0.01645    
186  2.26e-02  1.58e-03 -0.012204 -0.012922  0.03390 1.025 2.89e-04 0.00750    
187  1.53e-02 -2.77e-02  0.020912 -0.014033  0.04238 1.036 4.51e-04 0.01713    
188  2.92e-03  7.08e-03 -0.012487  0.005095  0.02527 1.026 1.60e-04 0.00734    
189 -2.79e-02  2.45e-02  0.099888 -0.007776  0.13080 1.012 4.27e-03 0.01464    
190 -2.31e-03  1.19e-02 -0.000326 -0.002549 -0.01581 1.033 6.28e-05 0.01196    
191 -7.29e-02 -2.61e-02  0.072042  0.033489 -0.11989 1.004 3.59e-03 0.01068    
192 -3.98e-02  6.36e-02 -0.036081  0.031150 -0.09417 1.024 2.22e-03 0.01487    
193  9.35e-03 -2.76e-03 -0.003433 -0.010068 -0.01742 1.030 7.62e-05 0.00958    
194 -4.73e-03  4.22e-03  0.011991 -0.006051 -0.02565 1.026 1.65e-04 0.00695    
195  1.11e-03 -1.62e-05 -0.000258 -0.001204 -0.00153 1.040 5.86e-07 0.01837    
196  4.23e-04 -2.41e-02  0.008180 -0.005901 -0.04672 1.022 5.48e-04 0.00716    
197  1.04e-01  8.38e-02 -0.127903 -0.047769  0.20005 0.979 9.92e-03 0.01422    
198  2.02e-02  1.57e-02  0.025375 -0.028588  0.05704 1.023 8.16e-04 0.00930    
199 -2.78e-03  1.06e-02 -0.009404  0.005674  0.01544 1.062 5.99e-05 0.03885   *
200  1.66e-01 -4.64e-02  0.142132 -0.259070 -0.31985 0.954 2.51e-02 0.02254    

Um festzustellen, welche Punkte standardisierte Residuen (betragsmäßig) größer als 3 haben (also entweder größer als 3 oder kleiner als −3 sind), kann man folgenden Befehl verwenden:

which(abs(rstandard(model2)) > 3)
169 
169 

Nur ein Datenpunkt (nämlich der 169.) ist hier also auffällig.

Modellannahmen

Mulitkollinearität kann mit der VIF-Statistik beurteilt werden; in R kann man dazu die Funktion vif() aus dem car-Paket verwenden.

library(car)
vif(model2)
 adverts  airplay  attract 
1.014593 1.042504 1.038455 

Der größte VIF-Wert sollte nicht größer als 10 sein. Der durchschnittliche VIF sollte nicht wesentlich größer als 1 sein, was man wie folgt überprüfen kann:

mean(vif(model2))
[1] 1.03185

Wenn man den plot()-Befehl auf das Modell anwendet, werden vier diagnostische Plots erstellt.

par(mfrow=c(2, 2), cex=0.75)
plot(model2)

Im Plot links oben sind die vorhergesagten Werte gegen die Residuen aufgetragen. Hier kann man die Linearitätsannahme (die rote Linie sollte immer ungefähr gleich Null sein) sowie die Homoskedastizitätsannahme (die Streuung der Datenpunkte sollte sich entlang der x-Achse nicht ändern) überprüfen. Der Plot links unten ist ähnlich, nur ist hier statt den (absoluten) Residuen die Wurzel aus dem Betrag der standardisierten Residuen aufgetragen. Auch hier lässt sich beurteilen, ob die Annahme der Varianzhomogenität erfüllt ist oder nicht. Im Plot rechts oben lässt sich die Normalverteilungsannahme der Residuen mit einem QQ-Plot überprüfen. Im Plot rechts unten sind Punkte mit großem Einfluss dargestellt (gemessen an der Leverage); Cook’s Distanz ist ebenfalls im Plot ersichtlich.

Die Annahme über die Unabhängigkeit der Residuen kann mit dem Durbin-Watson-Test dwt() überprüft werden.

dwt(model2)
 lag Autocorrelation D-W Statistic p-value
   1       0.0026951      1.949819   0.706
 Alternative hypothesis: rho != 0

In diesem Beispiel kann man davon ausgehen, dass die Residuen unabhängig sind, da aufgrund von \(p\approx 0.7\) die Nullhypothese nicht verworfen werden kann.

Übungen

Übung 1

Laden Sie die Daten aus der Datei sales2.dat wie in den Unterlagen gezeigt. Standardisieren Sie danach alle Variablen und berechnen Sie dann ein lineares Regressionsmodell. Vergleichen Sie die Regressionskoeffizienten mit den Ergebnissen der Funktion lm.beta(), welche auf ein Modell mit nicht standardisierten Daten angewendet werden kann.

Übung 2

Laden Sie den Datensatz aggression.dat, welcher (komplett erfundene) Daten über Aggressionen unter Kindern enthält. Es wurden 666 Kinder untersucht und folgende Variablen erhoben:

  • Erziehungsstil (hoher Wert entspricht schlechtem Stil)
  • Computerspielen (hoher Wert entspricht viel Computerspielen)
  • Fernsehen (hoher Wert entspricht viel Fernsehen)
  • Ernährung (hoher Wert entspricht gesunder Ernährung)
  • Aggressionen der Geschwister (hoher Wert entspricht hoher Aggression)

Von früheren Studien weiß man, dass Erziehungsstil sowie Aggressionen der Geschwister signifikante Prädiktoren für das Aggressionslevel eines Kindes sind.

Stellen Sie zwei lineare Regressionsmodelle auf. Das erste soll nur die beiden Faktoren beinhalten, welche erwiesenermaßen einen Einfluss auf die Aggression haben. Das zweite Modell soll alle Faktoren beinhalten. Beantworten Sie anschließend folgende Punkte:

  1. Bestimmen Sie für beide Modelle das Bestimmtheitsmaß \(R^2\) und geben Sie die Tabelle der Regressionskoeffizienten aus.
  2. Interpretieren Sie für beide Modelle getrennt die einzelnen Koeffizienten hinsichtlich Relevanz (hier sind standardisierte Koeffizienten hilfreich) und Signifikanz.
  3. Vergleichen Sie beide Modelle miteinander. Ist das zweite Modell eine signifikante Verbesserung zum ersten?

Übung 3

Überprüfen Sie für das zweite Modell (mit allen Prädiktoren) aus der vorigen Übung folgende Voraussetzungen:

  • Sind die unabhängigen Variablen kollinear (VIF)?
  • Sind die Residuen unabhängig (Durbin-Watson-Test)?
  • Sind die Residuen normalverteilt (QQ-Plot)?
  • Sind die Abhängigkeiten linear und ist die Varianz homogen (Plot Residuen vs. vorhergesagte Werte)?
  • Gibt es Datenpunkte mit großem Einfluss auf das Modell (Plot Residuen vs. Leverage)?

Hinweis: Sehen Sie sich die Hilfe zur Funktion plot.lm() an (damit können Sie ein lineares Modell plotten und die Grafiken aus den letzten drei Fragen erstellen; mit dem Argument which können Sie sich die gewünschte Grafik herauspicken).

Übung 4

Berechnen Sie für das zweite Modell aus dem vorigen Beispiel folgende diagnostische Statistiken für jeden Datenpunkt:

  1. Cook’s Distanz
  2. Residuen
  3. Standardisierte Residuen
  4. Studentisierte Residuen
  5. DFBeta
  6. DFFit
  7. Leverage

Finden Sie heraus, bei wie vielen Datenpunkten der Betrag der standardisierten Residuen größer als 3 ist (d.h. wie viele Datenpunkte haben standardisierte Residuen größer als 3 oder kleiner als −3). Wie viel Prozent der Daten haben standardisierte Residuen größer als 2 bzw. kleiner als −2?

Hinweise: Die Funktion nrow() gibt die Anzahl der Zeilen eines Data Frames zurück. Die Funktion abs() berechnet den Absolutbetrag einer Zahl.

Fußnoten

  1. Manchmal werden die standardisierten Residuen auch als studentisierte Residuen bezeichnet, da die Standardabweichung der Population im Allgemeinen nicht bekannt ist und durch die Standardabweichung der Stichprobe geschätzt wird.↩︎