3. Regression
2
Motivation§ Regressionsanalysen modellieren den Zusammenhang
zwischen einem oder mehreren unabhängigen Merkmalen (z.B. Gewicht und PS) und einemabhängigen Merkmal (z.B. Verbrauch)
§ Intuition: Wie lässt sich das abhängige Merkmal durchdie unabhängigen Merkmale erklären?
§ Hierzu wird ein Modell angenommen, wie die Merkmale zusammenhängen und dessen Parameter anhandvon verfügbaren Daten bestimmt
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
3
Beispiel§ Beispiel: Technische Daten von Autos
§ Wie können wir den Verbrauch eines Autos anhandsonstiger Merkmale (z.B. Gewicht und PS) erklären?
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
Model Gew. Beschl. Zyl. Hubr. PS Jahr Herk. Verbr.audi 100 ls 1102 14.5 4 1.8 90 70 Europa 9.8
bmw 320i 1179 12.8 4 2.0 110 77 Europa 10.9
fiat 128 956 15.5 4 1.5 75 74 Europa 9.8
fiat strada custom 966 14.7 4 1.5 69 79 Europa 6.3
fiat x1.9 907 16.0 4 1.3 67 74 Europa 7.6
mercedes-benz 280s 1733 16.7 6 2.8 120 76 Europa 14.3
opel manta 979 15.5 4 1.9 75 73 Europa 9.8
4
Arten von Merkmalen§ Merkmale lassen sich hinsichtlich ihres Skalenniveaus
unterscheiden, d.h. welche mathematischen Operationen sinnvoll auf ihren Werten anwendbar sind
§ nominal (z.B. Geschlecht, Herkunft)keine Ordnung, Gleichheit überprüfbar, Häufigkeiten
§ ordinal (z.B. Güteklasse, Schulnote)Ordnung definiert, vergleichbar, Häufigkeiten
§ metrisch (z.B. Alter, PS, Hubraum)vergleichbar, Häufigkeiten, Mittelwert, etc.
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
5
Daten§ Es stehen n Datenpunkte zur Verfügung
§ Jeder Datenpunkt (xi, yi) setzt sich zusammen aus
§ xi als Wert eines unabhängigen Merkmals
§ yi als Wert des abhängigen Merkmals
§ Wir definieren die Mittelwerte der Merkmale x und y als
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
(x1, y1), . . . , (xn, yn)
x = 1n
nÿ
i=1xi y = 1
n
nÿ
i=1yi
6
Korrelationskoeffizient nach Pearson§ Wir können Paare von Merkmalen daraufhin untersuchen,
ob eine Beziehung zwischen ihren Werten besteht
§ Korrelationskoeffizient nach Pearson
nimmt einen Wert in [-1,1] an
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
cor(x, y) =
nqi=1
(xi ≠ x)(yi ≠ y)
Ûnq
i=1(xi ≠ x)
2
Ûnq
i=1(yi ≠ y)
2
7
Korrelationskoeffizient nach Pearson§ Für die Werte des Korrelationskoeffizienten gilt
§ ein Wert kleiner 0 zeigt eine negative Korrelation an
§ ein Wert um 0 zeigt keine Korrelation an
§ ein Wert größer 0 zeigt eine positive Korrelation an
§ Der Wert 1 (-1) wird angenommen, wenn zwischen denMerkmalen ein perfekter positiver (negativer)linearer Zusammenhang besteht
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
8
Korrelationskoeffizient nach Pearson
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
5 10 15 20 25
1015
2025
X
Y
-0,46
1 2 3 4 5 6 7
510
1520
25
X
Y
0,86
3 4 5 6 7 8
12
34
56
7
X
Y 0,95
0.0 0.2 0.4 0.6 0.8 1.0
510
1520
25
X
Y -0,01
9
Korrelation und Kausalität§ Korrelation zwischen zwei Merkmalen bedeutet nicht,
dass eine Kausalität, d.h. Wirkzusammenhang,zwischen den beiden besteht
§ Beispiele:
§ Zahl der Fernseher und Einkommen eines Haushalts
§ PS eines PKWs und Schuhgröße des Halters
§ Verkauf von Weihnachtsschmuck und Selbstmordrate
§ Korrelation des Tages: http://www.correlated.org
§ Spurious Correlations: http://www.tylervigen.com/
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
10
Inhalt§ 3.1 Einfache lineare Regression
§ 3.2 Multiple lineare Regression
§ 3.3 Merkmalstransformation
§ 3.4 Regularisierung
§ 3.5 Validierung
§ 3.6 Faktorenanalyse
§ 3.7 Kodierung nominaler und ordinaler Merkmale
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
11
3.1 Einfache lineare Regression§ Einfache lineare Regression nimmt an, dass das
Merkmal y linear vom Merkmal x abhängt
§ Das Modell hat somit zwei Parameter β0 und β1 und entspricht einer Geraden im zweidimensionalen Raum
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
yi = —0 + —1xi
12
0 1 2 3 4 5
68
1012
1416
x
y
Einfache lineare Regression
§ Achsenabschnitt β0
(intercept)
§ Steigung β1
(slope)
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
y = 6 + 2x
—0 = 6
—1 = 2
13
Residuen und Quadratischer Fehler§ Abweichung zwischen Beobachtung und Vorhersage
bezeichnet man als Residuum (Plural: Residuen)
§ Quadratischer Fehler misst den Verlust (loss) beiVerwendung der Vorhersage anstatt der Beobachtung
§ Richtung der Abweichung spielt keine Rolle§ Größere Abweichungen verhältnismäßig stärker bestraft
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
(yi ≠ yi)2
(yi ≠ yi)
14
Mittlerer quadratischer Fehler§ Mittlerer quadratischer Fehler (mean squared error)
über alle beobachteten Datenpunkte (xi, yi)
§ Wie können wir zu einer Menge von n Datenpunkten
eine Gerade mit β0 und β1 bestimmen, so dassder mittlere quadratische Fehler minimal ist?
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1n
nÿ
i=1(yi ≠ yi)2 = 1
n
nÿ
i=1(yi ≠ —0 ≠ —1xi)2
(x1, y1), . . . , (xn, yn)
15
Optimale Regressionsgerade§ Formuliert als Optimierungsproblem
§ Bestimmen der optimalen Parameter durch partielles Ableiten und Lösen des Gleichungssystems
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
arg min—0,—1
MSE(—0, —1) = arg min—0,—1
A1n
nÿ
i=1(yi ≠ —0 ≠ —1xi)2
B
ˆ MSEˆ—0
= ≠ 2n
nÿ
i=1(yi ≠ —0 ≠ —1xi) = 0
ˆ MSEˆ—1
= ≠ 2n
nÿ
i=1(yi ≠ —0 ≠ —1xi) xi = 0
16
Optimale Regressionsgerade§ Optimale Parameter haben geschlossene Form
(Herleitung vgl. Tafelanschrift)
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
—
ú0 = 1
n
nÿ
i=1yi ≠ —
ú1
1n
nÿ
i=1xi
—
ú1 =
n
nqi=1
xiyi ≠3
nqi=1
xi
4 3nq
i=1yi
4
n
nqi=1
x
2i ≠
3nq
i=1xi
42
17
Bestimmtheitsmaߧ Bestimmtheitsmaß R2 misst inwiefern die beobachtete
Streuung des abhängigen Merkmals durch die Vorhersagen unseres Modells erklärt werden
§ Für den Wert des Bestimmtheitsmaßes gilt
mit einem Wert nahe 0 (1) als Anzeichen füreine schlechte (gute) Anpassung an die Daten
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
0 Æ R2 Æ 1
R2 =
nqi=1
(yi ≠ y)2
nqi=1
(yi ≠ y)2= 1 ≠
nqi=1
(yi ≠ yi)2
nqi=1
(yi ≠ y)2
18
3.2 Multiple lineare Regression§ Daten stehen in Form von n Beobachtungen zur Verfügung
§ Jeder Datenpunkt (x(i,1), …, x(i,m), yi) besteht aus
§ x(i,j) als Werte unabhängiger Merkmale x(,j)
§ yi als Wert des abhängigen Merkmals y
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
(x(1,1), . . . , x(1,m), y1), . . . , (x(n,1), . . . , x(n,m), yn)
19
Multiple lineare Regression§ Multiple lineare Regression nimmt an, dass sich das
abhängige Merkmal y als lineare Kombination der unabhängigen Merkmale x(,j) erklären lässt
§ Das Modell hat somit m+1 Parameter βj und entsprichteiner Hyperebene im (m+1)-dimensionalen Raum
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
yi = —0 + —1x(i,1) + —2x(i,2) + . . . + —mx(i,m)
20
Multiple lineare Regression§ Matrixschreibweise in Anbetracht der vielen Parameter
§ Parametervektor β ((m + 1) × 1)
§ Datenmatrix X (n × (m + 1))
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
— =
S
WU—0...
—m
T
XV
X =
S
WU1 x(1,1) . . . x(1,m)...1 x(n,1) . . . x(n,m)
T
XV
21
Multiple lineare Regression§ Beobachtungsvektor y (n × 1)
§ Vorhersagevektor ŷ (n × 1) lässt sich berechnen als
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
y =
S
WUy0...
yn
T
XV
y =
S
WUy0...
yn
T
XV = X— =
S
WU1 x(1,1) . . . x(1,m)...1 x(n,1) . . . x(n,m)
T
XV
S
WU—0...
—m
T
XV
22
Optimale Regressionshyperebene§ Formuliert als Optimierungsproblem
§ Vorgehensweise zur Lösung analog zum einfachen Fall, d.h. bestimme partielle Ableitungen undlöse das lineare Gleichungssystem
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
arg min—
(y ≠ X—)T (y ≠ X—)
ˆ MSEˆ—0
= 0 . . .ˆ MSEˆ—m
= 0
23
Optimale Regressionshyperebene§ Lineares Gleichungssystem hat eine eindeutige Lösung,
d.h. eindeutig bester Parametervektor β* existiert, wenn
§ es mindestens so viele Datenpunkte wie Parameter gibt,d.h. n ≥ m (besser: n >> m)
§ unabhängige Merkmale voneinander linear unabhängigsind, d.h. kein Merkmal lässt sich als Linearkombinationanderer Merkmale darstellen
§ Stochastisches Gradientenverfahren als alternativer, in der Praxis gängiger, Ansatz zum Bestimmen eines optimalen Parametervektors β* (vgl. Kapitel 7)
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
24
A.1 R§ R als umfangreiche und quelloffene Softwareplattform
zum Analysieren und Visualisieren von Daten
§ entwickelt seit 1993§ eigene Programmiersprache§ für alle gängigen Betriebssysteme frei verfügbar
§ viel Funktionalität (z.B. lineare Regression) bereits integriert
§ zusätzliche Funktionalität (z.B. Assoziationsregeln)lässt sich in Form von Bibliotheken nachrüsten
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
25
Ressourcen§ The R Project for Statistical Computing
https://www.r-project.org
§ The Comprehensive R Archive Networkhttps://cran.r-project.org
§ Quick-Rhttp://www.statmethods.net
§ An Introduction to Statisticshttp://www.r-tutor.com
§ DataCamphttps://www.datacamp.com
§ plot.lyhttps://plot.ly/feed/
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
26
Skalare, Vektoren, Matrizen und Frames§ Skalare sind einzelne Werte
§ Vektoren sind eindimensionale Arrays eines Typs
und werden mittels der Funktion c() angelegt
§ Typen werden automatisch angepasst, so dass
einen Vektor von Zeichenketten erzeugtEntscheidungsunterstützende Systeme / Kapitel 3: Regression
1 v <- c(1 ,2 ,3)
1 a <- 42
1 w <- c("a", 42, 5.5)
27
Skalare, Vektoren, Matrizen und Frames§ Matrizen sind zweidimensionale Arrays eines Typs
und werden mittels der matrix() Funktion angelegt
§ Frames beinhalten benannte Spalten beliebiger Typen
(vergleichbar zu Tabelle in einer relationalen Datenbank)
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1 A <- matrix (c(1 ,0,0,1), nrow =2, ncol =2)
1 name <- c("paul", "john", " ringo", " george ")
2 yob <- c(1942 , 1940 , 1940 , 1943)
3 beatles <- data. frame(name , yob)
28
Skalare, Vektoren, Matrizen und Frames§ Die Funktion summary() berechnet sinnvolle Statistiken
über die Spalten eines Frames
§ Extrahieren einer Spalte eines Frames
§ Die Funktion help() liefert Hilfe zu einem Befehl
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1 summary ( beatles )
1 name yob
2 george :1 Min. :1940
3 john :1 1st Qu .:1940
4 paul :1 Median :1941
5 ringo :1 Mean :1941
6 3rd Qu .:1942
7 Max. :1943
1 beatles $yob 1 1942 1940 1940 1943
29
Importieren von Daten§ Import von Daten aus kommaseparierter Datei in Frame:
importiert unsere Autodaten von der Webseitein einem Frame namens autos
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1 autos <- read. table(" autos.csv", header =TRUE , sep=",")
30
Plotten der Daten§ Plotten der Merkmale Gewicht und Verbrauch
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1000 1500 2000
510
1520
25
Gewicht [kg]
Ver
brau
ch [l
/100
km]
1 plot(autos $Gewicht ,autos$Verbrauch ,
2 xlab=" Gewicht [kg]",ylab=" Verbrauch [l/100 km]")
31
Plotten der Daten§ Plotten der Merkmale PS und Verbrauch
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
50 100 150 200
510
1520
25
PS
Ver
brau
ch [l
/100
km]
1 plot(autos $PS ,autos $Verbrauch ,
2 xlab="PS",ylab=" Verbrauch [l/100 km]")
32
Matrixplots§ Matrixplot der Merkmale PS, Gewicht und Verbrauch
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
PS
1000 1500 2000
50100
150
200
1000
1500
2000
Gewicht
50 100 150 200 5 10 15 20 25
510
1520
25
Verbrauch
1 pairs (˜ autos $PS+ autos$ Gewicht +autos$Verbrauch ,
2 labels =c("PS"," Gewicht "," Verbrauch "))
33
Einfache lineare Regression mit R§ Einfache lineare Regression mit Gewicht und Verbrauch
liefert die optimalen Parameter
§ Plotten der Regressionsgeraden im vorherigen Plot
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1 fit <- lm(autos $ Verbrauch ˜autos $ Gewicht )
1 Coefficients :
2 ( Intercept ) autos $ Gewicht
3 -0.905585 0.008999
—0 —1
1 abline (fit ,col="red")
34
Einfache lineare Regression mit R§ Bestimmtheitsmaß lässt sich bestimmen mittels
§ Vektor der Residuen
§ MSE
§ R2 = 0,78 MSE = 3,32
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1000 1500 2000
510
1520
25
Gewicht [kg]
Ver
brau
ch [l
/100
km]
1 summary (fit)$r. squared
1 fit$ residuals
1 mean(fit$ residuals ˆ2)
35
Multiple lineare Regression mit R§ Multiple lineare Regression mit Gewicht und PS als
unabhängige Merkmale und Verbrauchals abhängiges Merkmal
§ R2 = 0,82 MSE = 2,83
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1 fit <- lm(autos $ Verbrauch ˜autos $ Gewicht +autos$PS)
500 1000 1500 2000 2500
510
1520
2530
0
50
100
150
200
250
Gewicht
PS
Verbrauch
36
Multiple lineare Regression mit R
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
1 # Paket scatterplot3d muss vorab installiert werden
2 library ( scatterplot3d )
3 plot <- scatterplot3d (autos $Gewicht ,autos$PS ,autos $Verbrauch ,
4 xlab=" Gewicht ", ylab="PS", zlab=" Verbrauch ")
5 fit <- lm(autos $ Verbrauch ˜autos $ Gewicht +autos$PS)
6 plot$ plane3d (fit ,col="red")
500 1000 1500 2000 2500
510
1520
2530
0
50
100
150
200
250
Gewicht
PS
Verbrauch
37
Zusammenfassung§ Regressionsanalysen modellieren Zusammenhang
zwischen (un)abhängigen Merkmalen
§ Korrelationskoeffizient als Maß des Zusammenhangszwischen zwei Merkmalen (aber: keine Kausalität)
§ Lineare Regression nimmt linearen Zusammenhang anund bestimmt Parameter einer Hyperebene, welchedie beobachteten Daten möglichst gut annähert
Entscheidungsunterstützende Systeme / Kapitel 3: Regression
38
Literatur[1] L. Fahrmeir, R. Künstler, I. Pigeot und G. Tutz:
Statistik – Der Weg zur Datenanalyse,Springer 2012
[2] R. Kabacoff: R In Action,Manning 2015 [Kapitel 8]
[3] N. Zumel und J. Mount: Practical Data Science with R,Manning 2014
Entscheidungsunterstützende Systeme / Kapitel 3: Regression