3. Regression
Motivation Regressionsanalysen modellieren den Zusammenhang zwischen einem oder mehreren unabhängigen Merkmalen (z.b. Gewicht und PS) und einem abhängigen Merkmal (z.b. Verbrauch) Intuition: Wie lässt sich das abhängige Merkmal durch die unabhängigen Merkmale erklären? Hierzu wird ein Modell angenommen, wie die Merkmale zusammenhängen und dessen Parameter anhand von verfügbaren Daten bestimmt 2
Beispiel Beispiel: Technische Daten von Autos 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 Wie können wir den Verbrauch eines Autos anhand sonstiger Merkmale (z.b. Gewicht und PS) erklären? 3
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. 4
Daten Es stehen n Datenpunkte zur Verfügung (x 1,y 1 ),...,(x n,y n ) Jeder Datenpunkt (x i, y i ) setzt sich zusammen aus x i als Wert eines unabhängigen Merkmals y i als Wert des abhängigen Merkmals Wir definieren die Mittelwerte der Merkmale x und y als nÿ nÿ x = 1 n x i ȳ = 1 n y i 5
Korrelationskoeffizient nach Pearson Wir können Paare von Merkmalen daraufhin untersuchen, ob eine Beziehung zwischen ihren Werten besteht Korrelationskoeffizient nach Pearson nq (x i x)(y i ȳ) cor(x, y) = Û Û nq nq (x i x) 2 (y i ȳ) 2 nimmt einen Wert in [-1,1] an 6
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 den Merkmalen ein perfekter positiver (negativer) linearer Zusammenhang besteht 7
Korrelationskoeffizient nach Pearson 10 15 20 25 Y-0,46 5 10 15 20 25 Y0,86 5 10 15 20 25 X 1 2 3 4 5 6 7 X Y 1 2 3 4 5 6 7 0,95 Y 5 10 15 20 25-0,01 3 4 5 6 7 8 X 0.0 0.2 0.4 0.6 0.8 1.0 X 8
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/ 9
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 10
3.1 Einfache lineare Regression Einfache lineare Regression nimmt an, dass das Merkmal y linear vom Merkmal x abhängt ŷ i = 0 + 1 x i Das Modell hat somit zwei Parameter β 0 und β 1 und entspricht einer Geraden im zweidimensionalen Raum 11
Einfache lineare Regression ŷ =6+2x Achsenabschnitt β 0 (intercept) Steigung β 1 (slope) 0 =6 y 6 8 10 12 14 16 1 =2 0 1 2 3 4 5 x 12
Residuen und Quadratischer Fehler Abweichung zwischen Beobachtung und Vorhersage bezeichnet man als Residuum (Plural: Residuen) (y i ŷ i ) Quadratischer Fehler misst den Verlust (loss) bei Verwendung der Vorhersage anstatt der Beobachtung (y i ŷ i ) 2 Richtung der Abweichung spielt keine Rolle Größere Abweichungen verhältnismäßig stärker bestraft 13
Mittlerer quadratischer Fehler Mittlerer quadratischer Fehler (mean squared error) über alle beobachteten Datenpunkte (x i, y i ) 1 n nÿ (y i ŷ i ) 2 = 1 n nÿ (y i 0 1 x i ) 2 Wie können wir zu einer Menge von n Datenpunkten (x 1,y 1 ),...,(x n,y n ) eine Gerade mit β 0 und β 1 bestimmen, so dass der mittlere quadratische Fehler minimal ist? 14
Optimale Regressionsgerade Formuliert als Optimierungsproblem arg min 0, 1 MSE( 0, 1 ) = arg min 0, 1 A 1 n B nÿ (y i 0 1 x i ) 2 Bestimmen der optimalen Parameter durch partielles Ableiten und Lösen des Gleichungssystems ˆ MSE = 2 nÿ (y i 0 1 x i )=0 ˆ 0 n ˆ MSE ˆ 1 = 2 n nÿ (y i 0 1 x i ) x i =0 15
Optimale Regressionsgerade Optimale Parameter haben geschlossene Form ú 0 = 1 n nÿ y i 1 ú 1 n nÿ x i ú 1 = n n q x i y i 3 q n 43 q n x i 3 q n n n 4 x 2 i q 2 x i y i 4 (Herleitung vgl. Tafelanschrift) 16
Bestimmtheitsmaß Bestimmtheitsmaß R 2 misst inwiefern die beobachtete Streuung des abhängigen Merkmals durch die Vorhersagen unseres Modells erklärt werden nq nq (ŷ i ȳ) 2 (y i ŷ i ) 2 R 2 = nq (y i ȳ) 2 =1 Für den Wert des Bestimmtheitsmaßes gilt 0 Æ R 2 Æ 1 mit einem Wert nahe 0 (1) als Anzeichen für eine schlechte (gute) Anpassung an die Daten nq (y i ȳ) 2 17
3.2 Multiple lineare Regression Daten stehen in Form von n Beobachtungen zur Verfügung (x (1,1),...,x (1,m),y 1 ),...,(x (n,1),...,x (n,m),y n ) Jeder Datenpunkt (x (i,1),, x (i,m), y i ) besteht aus x (i,j) als Werte unabhängiger Merkmale x (,j) y i als Wert des abhängigen Merkmals y 18
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 ŷ i = 0 + 1 x (i,1) + 2 x (i,2) +...+ m x (i,m) Das Modell hat somit m+1 Parameter β j und entspricht einer Hyperebene im (m+1)-dimensionalen Raum 19
Multiple lineare Regression Matrixschreibweise in Anbetracht der vielen Parameter Parametervektor β ((m + 1) 1) = Datenmatrix X (n (m + 1)) X = S W U 0. m T X V S T 1 x (1,1)... x (1,m) W X U. V 1 x (n,1)... x (n,m) 20
Multiple lineare Regression Beobachtungsvektor y (n 1) S y = W U y 0. y n T X V Vorhersagevektor ŷ (n 1) lässt sich berechnen als S T S T S T ŷ 0 1 x (1,1)... x (1,m) 0 W X W X W X ŷ = U V = X = U V U V. ŷ n. 1 x (n,1)... x (n,m). m 21
Optimale Regressionshyperebene Formuliert als Optimierungsproblem arg min (y X ) T (y X ) Vorgehensweise zur Lösung analog zum einfachen Fall, d.h. bestimme partielle Ableitungen und löse das lineare Gleichungssystem ˆ MSE ˆ 0 =0... ˆ MSE ˆ m =0 22
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ängig sind, d.h. kein Merkmal lässt sich als Linearkombination anderer Merkmale darstellen Stochastisches Gradientenverfahren als alternativer, in der Praxis gängiger, Ansatz zum Bestimmen eines optimalen Parametervektors β* (vgl. Kapitel 7) 23
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 24
Ressourcen The R Project for Statistical Computing https://www.r-project.org The Comprehensive R Archive Network https://cran.r-project.org Quick-R http://www.statmethods.net An Introduction to Statistics http://www.r-tutor.com DataCamp https://www.datacamp.com plot.ly https://plot.ly/feed/ 25
Skalare, Vektoren, Matrizen und Frames Skalare sind einzelne Werte 1 a <- 42 Vektoren sind eindimensionale Arrays eines Typs 1 v <- c (1,2,3) und werden mittels der Funktion c() angelegt Typen werden automatisch angepasst, so dass 1 w <- c("a", 42, 5.5) einen Vektor von Zeichenketten erzeugt 26
Skalare, Vektoren, Matrizen und Frames Matrizen sind zweidimensionale Arrays eines Typs 1 A <- matrix(c(1,0,0,1), nrow=2, ncol=2) und werden mittels der matrix() Funktion angelegt Frames beinhalten benannte Spalten beliebiger Typen 1 name <- c(" paul", " john", " ringo", " george") 2 yob <- c (1942, 1940, 1940, 1943) 3 beatles <- data. frame(name, yob) (vergleichbar zu Tabelle in einer relationalen Datenbank) 27
Skalare, Vektoren, Matrizen und Frames Die Funktion summary() berechnet sinnvolle Statistiken über die Spalten eines Frames 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 Extrahieren einer Spalte eines Frames 1 beatles$ yob 1 1942 1940 1940 1943 Die Funktion help() liefert Hilfe zu einem Befehl 28
Importieren von Daten Import von Daten aus kommaseparierter Datei in Frame: 1 autos <- read. table(" autos. csv", header=true, sep=",") importiert unsere Autodaten von der Webseite in einem Frame namens autos 29
Plotten der Daten Plotten der Merkmale Gewicht und Verbrauch 1 plot(autos$ Gewicht,autos$ Verbrauch, 2 xlab=" Gewicht [kg]",ylab=" Verbrauch [l/ 100km]") Verbrauch [l/100km] 5 10 15 20 25 1000 1500 2000 Gewicht [kg] 30
Plotten der Daten Plotten der Merkmale PS und Verbrauch 1 plot(autos$ps,autos$ Verbrauch, 2 xlab="ps",ylab=" Verbrauch [l/ 100km]") Verbrauch [l/100km] 5 10 15 20 25 50 100 150 200 PS 31
Matrixplots Matrixplot der Merkmale PS, Gewicht und Verbrauch 1 pairs( autos$ps+autos$ Gewicht+autos$ Verbrauch, 2 labels=c("ps"," Gewicht"," Verbrauch")) 1000 1500 2000 PS 50 100 150 200 1000 1500 2000 Gewicht Verbrauch 5 10 15 20 25 50 100 150 200 5 10 15 20 25 32
Einfache lineare Regression mit R Einfache lineare Regression mit Gewicht und Verbrauch 1 fit <- lm(autos$ Verbrauch autos$ Gewicht) liefert die optimalen Parameter 1 Coefficients: 2 (Intercept) autos$ Gewicht 3-0.905585 0.008999 0 1 Plotten der Regressionsgeraden im vorherigen Plot 1 abline(fit,col=" red") 33
Einfache lineare Regression mit R Bestimmtheitsmaß lässt sich bestimmen mittels 1 summary(fit)$r.squared Vektor der Residuen MSE 1 fit$ residuals 1 mean(fit$ residualsˆ2) R 2 = 0,78 MSE = 3,32 Verbrauch [l/100km] 5 10 15 20 25 1000 1500 2000 Gewicht [kg] 34
Multiple lineare Regression mit R Multiple lineare Regression mit Gewicht und PS als unabhängige Merkmale und Verbrauch als abhängiges Merkmal 1 fit <- lm(autos$ Verbrauch autos$ Gewicht+autos$PS) R 2 = 0,82 MSE = 2,83 Verbrauch 5 10 15 20 25 30 500 1000 1500 2000 2500 0 50 100 150 200 250 PS Gewicht 35
Multiple lineare Regression mit R 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") Verbrauch 5 10 15 20 25 30 500 1000 1500 2000 2500 0 50 100 150 200 250 PS Gewicht 36
Zusammenfassung Regressionsanalysen modellieren Zusammenhang zwischen (un)abhängigen Merkmalen Korrelationskoeffizient als Maß des Zusammenhangs zwischen zwei Merkmalen (aber: keine Kausalität) Lineare Regression nimmt linearen Zusammenhang an und bestimmt Parameter einer Hyperebene, welche die beobachteten Daten möglichst gut annähert 37
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 38