2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple...
Transcript of 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple...
![Page 1: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/1.jpg)
2. Regression
![Page 2: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/2.jpg)
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 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
Data Science / Kapitel 2: Regression
![Page 3: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/3.jpg)
3
Motivation§ Beispiel: Vorhersage des Verbrauchs (mpg)
eines Autos basierend auf seiner Leistung (hp)
(und später weiteren Merkmalen)
§ Daten: Auto MPG Datensatz aus UCI ML Repository
https://archive.ics.uci.edu/ml/datasets/auto+mpg
§ 398 Autos (392 mit vollständigen Merkmalen)
§ 8 Merkmale (Verbrauch, Zylinder, Gewicht, etc.)
Data Science / Kapitel 2: Regression
![Page 4: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/4.jpg)
4
Motivation
Data Science / Kapitel 2: Regression
![Page 5: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/5.jpg)
5
Inhalt§ 2.1 Einfache lineare Regression
§ 2.2 Multiple lineare Regression
§ 2.3 Nominale und ordinale Merkmale
§ 2.4 Gradientenabstiegsverfahren
§ 2.5 Polynomiale Regression
§ 2.6 Merkmalstransformation
§ 2.7 Evaluation
§ 2.8 Regularisierung
Data Science / Kapitel 2: Regression
![Page 6: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/6.jpg)
6
2.1 Einfache lineare Regression§ Einfache lineare Regression betrachtet Datenpunkte
und nimmt an, dass das das metrische Merkmal ylinear vom metrischen Merkmal x abhängt
§ Das angenommene Modell hat somit die Form
y = w0 + w1 x Modell
Parameter
AbhängigesMerkmal
UnabhängigesMerkmal
(x1, y1), . . . , (xn, yn)
Data Science / Kapitel 2: Regression
![Page 7: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/7.jpg)
7
Einfache lineare Regression§ Verschiedene Werte der Parameter w0 und w1
entsprechen verschiedenen Geraden
§ Wir benötigen ein Gütekriterium, um zu bestimmen,
welche Gerade die beste ist
w0 = 0 w1 = 0.2
w0 = 35 w1 = -0.1
Data Science / Kapitel 2: Regression
![Page 8: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/8.jpg)
8
Mittelwert, Varianz und Standardabweichung§ Wir definieren den Mittelwert unserer Merkmale als
§ Die Varianz unserer Merkmale ist definiert als
§ Die Werte σx und σy heißen Standardabweichungder Merkmale x und y
x = 1n
nÿ
i=1xi y = 1
n
nÿ
i=1yi
‡ 2x = 1
n
nÿ
i=1(xi ≠ x)2 ‡ 2
y = 1n
nÿ
i=1(yi ≠ y)2
Data Science / Kapitel 2: Regression
![Page 9: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/9.jpg)
9
Kovarianz§ Kovarianz covx,y misst inwiefern die beiden Merkmale x
und y zusammenhängen, d.h. sich in die gleiche Richtung
bzw. entgegengesetzte Richtungen ändern
§ Große Kovarianz deutet auf einen Zusammenhang hin
§ ein positiver Wert zeigt an, dass sich die beiden Merkmale
in die gleiche Richtung ändern
§ ein negativer Wert zeigt an, dass sich die beiden Merkmale
in entgegengesetzte Richtungen ändern
covx,y = 1n
nÿ
i=1(xi ≠ x)(yi ≠ y)
Data Science / Kapitel 2: Regression
![Page 10: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/10.jpg)
10
Korrelationskoeffizient nach Pearson§ Pearsons Korrelationskoeffizient misst inwiefern ein
linearer Zusammenhang zwischen zwei Merkmalen xund y besteht
§ Pearsons Korrelationskoeffizient nimmt Werte in [-1,+1] an
§ Wert -1 zeigt negative lineare Korrelation an
§ Wert 0 zeigt keine lineare Korrelation an
§ Wert 1 zeigt positive lineare Korrelation an
corx,y =
nqi=1
(xi ≠ x)(yi ≠ y)Û
nqi=1
(xi ≠ x)Û
nqi=1
(yi ≠ y)= covx,y
‡x‡y
Data Science / Kapitel 2: Regression
![Page 11: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/11.jpg)
11
Korrelationskoeffizient nach Pearson
corhp,mpg ¥ ≠0.7784
Data Science / Kapitel 2: Regression
![Page 12: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/12.jpg)
12
Anscombes Quartett
§ Alle vier Datensätze haben den gleichen Mittelwert, die
gleiche Varianz, den gleichen Korrelationskoeffizientensowie die gleiche optimale Regressionsgerade
Data Science / Kapitel 2: Regression
![Page 13: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/13.jpg)
13
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
§ Leistung 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/
Data Science / Kapitel 2: Regression
![Page 14: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/14.jpg)
14
Straffunktion und Residuen§ Straffunktion (loss function) misst wie gut unser Modell,
für eine bestimmte Wahl von Parameterwerten, unsere
Daten beschreibt (d.h. wie viel wir verlieren, wenn
wir unser Modell statt der Daten verwenden)
§ Residuum (residual) des Datenpunkts (xi, yi) misst wie weit
der beobachte Wert yi von der Vorhersage abweicht
(yi ≠ yi) = (yi ≠ (w0 + w1 xi)) = (yi ≠ w0 ≠ w1 xi)
Data Science / Kapitel 2: Regression
![Page 15: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/15.jpg)
15
Residuen
Data Science / Kapitel 2: Regression
![Page 16: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/16.jpg)
16
Quadratischer Fehler§ Einfache lineare Regression (ordinary least squares)
verwendet die Summe der quadrierten Residuen(sum of squared errors – SSE) als Straffunktion
§ Zum Bestimmen der optimalen Parameter w0* und w1
*
müssen wir folgendes Optimierungsproblem lösen
L(w0, w1) =nÿ
i=1(yi ≠ w0 ≠ w1 xi)2
arg minw0,w1
nÿ
i=1(yi ≠ w0 ≠ w1 xi)2
Data Science / Kapitel 2: Regression
![Page 17: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/17.jpg)
17
Plotten der Straffunktion§ Straffunktion für unsere Beispieldaten sieht wie folgt aus
Data Science / Kapitel 2: Regression
![Page 18: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/18.jpg)
18
Analytische Bestimmung optimaler Parameter§ Optimale Parameterwerte lassen sich im Fall der
einfachen linearen Regression analytisch bestimmen
1) Bestimme partielle Ableitungen der Straffunktion
nach den Parametern w0 und w1
2) Bestimme gemeinsame Nullstelle durch Lösen
des linearen Gleichungssystems
ˆL
ˆ w0= ≠2
nÿ
i=1(yi ≠ w0 ≠ w1 xi)
ˆL
ˆ w1= ≠2
nÿ
i=1(yi ≠ w0 ≠ w1 xi) xi
ˆL
ˆ w0= 0 ˆL
ˆ w1= 0
Data Science / Kapitel 2: Regression
![Page 19: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/19.jpg)
19
Analytische Bestimmung optimaler Parameter§ Geschlossene Lösungen für optimale Parameterwerte
wú0 = 1
n
nÿ
i=1yi ≠ wú
11n
nÿ
i=1xi
wú1 =
nnq
i=1xiyi ≠
3nq
i=1xi
4 3nq
i=1yi
4
nnq
i=1x2
i ≠3
nqi=1
xi
42
Data Science / Kapitel 2: Regression
![Page 20: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/20.jpg)
20
Analytische Bestimmung optimaler Parameter§ Optimale Parameter für unsere Beispieldaten
wú0 = 39.9359 wú
1 = ≠0.1578
Data Science / Kapitel 2: Regression
![Page 21: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/21.jpg)
21
Bestimmtheitsmaߧ Bestimmtheitsmaß (R2 coefficient of determination) misst
wie gut die bestimmte Regressionsgerade die Datenannähert, d.h. wie gut sie die in den Daten
beobachtete Variation erklärt
R2 = 1 ≠
nqi=1
(yi ≠ yi)2
nqi=1
(yi ≠ y)2
Data Science / Kapitel 2: Regression
![Page 22: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/22.jpg)
22
Einfache lineare Regression in Pythonimport numpy as npimport pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltfrom sklearn import linear_model, metrics
# Autodaten einlesencars = pd.read_csv('../data/auto-mpg/auto-mpg.data', header=None, sep='\s+')
# Verbrauchswerte extrahiereny = cars.iloc[:,0].values
# Leistungswerte extrahierenX = cars.iloc[:,[3]].values
# Plot erstelleng = sns.regplot(x=X, y=y, fit_reg=False)
# Einfache lineare Regressionreg = linear_model.LinearRegression()reg.fit(X,y)plt.plot(X, reg.predict(X), color='red')
# Plot beschriftenplt.xlabel('Leistung [hp]')plt.ylabel('Verbrauch [mpg]')
# Plot anzeigenplt.show()
Data Science / Kapitel 2: Regression
![Page 23: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/23.jpg)
23
Einfache lineare Regression in Python
§ Vollständiges Jupyter-Notebook unter:
http://swl.htwsaar.de/.../2017-vl-ds-kap2-regression.html
http://swl.htwsaar.de/.../2017-vl-ds-kap2-regression.ipynb
# Koeffizienten und Bestimmtheitsmaß ausgebenprint('Parameter:')print('w0: %f'%reg.intercept_)print('w1: %f'%reg.coef_[0]) print('Bestimmtheitsmaß')print('R2: %f'%metrics.r2_score(y,reg.predict(X)))
Data Science / Kapitel 2: Regression
![Page 24: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/24.jpg)
24
Zusammenfassung§ Lineare Regression sagt ein abhängiges metrisches
Merkmal anhand eines unabhängigenmetrischen Merkmals voraus
§ Straffunktion betrachtet die Summe der quadrierten Residuen, d.h. Abweichungen zwischen dem
eigentlichen Wert und der Vorhersage
§ Optimale Parameter der Regressionsgerade
lassen sich analytisch bestimmen
Data Science / Kapitel 2: Regression
![Page 25: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/25.jpg)
25
Literatur[1] L. Fahrmeir, R. Künstler, I. Pigeot und G. Tutz:
Statistik – Der Weg zur Datenanalyse,
Springer, 2017 (Kapitel 12)
[2] S. Raschka: Machine Learning in Python,
mitp, 2017 (Kapitel 10)
Data Science / Kapitel 2: Regression
![Page 26: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/26.jpg)
26
2.2 Multiple lineare Regression§ Multiple lineare Regression betrachtet Datenpunkte
und nimmt an, dass sich das abhängige Merkmal yi als
Linearkombination der m unabhängigen
Merkmale x(i,1), …, x(m,1) erklären lässt
§ Das Modell hat somit (m + 1) Parameter und entspricht
einer Hyperebene im (m + 1)-dimensionalen Raum
yi = w0 + w1x(i,1) + w2x(i,2) + . . . + wmx(i,m)
(x(i,1), x(i,2), . . . , x(i,m), yi)
Data Science / Kapitel 2: Regression
![Page 27: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/27.jpg)
27
Multiple lineare Regression in Matrixschreibweise§ Oft ist es einfacher, bei vielen unabhängigen Merkmalen,
das Modell in Matrixschreibweise zu formulieren
§ Datenmatrix X (n × (m + 1))
mit einer zusätzlichen führenden Spalte gefüllt mit Einsen
X =
S
WU1 x(1,1) . . . x(1,m)...1 x(n,1) . . . x(n,m)
T
XV
Data Science / Kapitel 2: Regression
![Page 28: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/28.jpg)
28
Multiple lineare Regression in Matrixschreibweise§ Parametervektor w ((m + 1) × 1)
§ Beobachtungsvektor y (n × 1)
w =
S
WUw0...
wm
T
XV
y =
S
WUy1...
yn
T
XV
Data Science / Kapitel 2: Regression
![Page 29: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/29.jpg)
29
Multiple lineare Regression in Matrixschreibweise§ Vorhersagevektor ŷ (n × 1) lässt sich berechnen als
y = X w =
S
WU1 x(1,1) . . . x(1,m)...1 x(n,1) . . . x(n,m)
T
XV
S
WUw0...
wm
T
XV
Data Science / Kapitel 2: Regression
![Page 30: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/30.jpg)
30
Multiple lineare Regression in Matrixschreibweise§ Auch bei der multiplen linearen Regression kommt
der quadratische Fehler zum Einsatz
§ Die Straffunktion (loss function) lässt sich schreiben als
L(w) =nÿ
i=1
!yi ≠ w0 x(i,0) ≠ w1 x(i,1) ≠ . . . ≠ wm x(i,m)
"2
= (y ≠ X w)T (y ≠ X w)
Data Science / Kapitel 2: Regression
![Page 31: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/31.jpg)
31
Analytische Bestimmung optimaler Parameter§ Zum Bestimmen der optimalen Parameter müssen
wir folgendes Optimierungsproblem lösen
§ Vorgehensweise ist analog zum einfachen Fall,bedient sich jedoch der Vektoranalysis
arg minw
L(w) = (y ≠ X w)T (y ≠ X w)
Data Science / Kapitel 2: Regression
![Page 32: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/32.jpg)
32
Analytische Bestimmung optimaler Parameter§ Schritt 1: Vereinfachen der Straffunktion
§ (1) nach (2) nutzt aus, dass (Xw)T = wT XT
§ (3) nach (4) nutzt aus, dass yT Xw = (wT XT y)T = (wT XT y)
L(w) = (y ≠ X w)T (y ≠ X w) (1)= (yT ≠ wT XT ) (y ≠ X w) (2)= yT y ≠ yT X w ≠ wT XT y + wT XT X w (3)= yT y ≠ 2 wT XT y + wT XT X w (4)
Data Science / Kapitel 2: Regression
![Page 33: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/33.jpg)
33
Analytische Bestimmung optimaler Parameter§ Schritt 2: Bestimmen der Ableitung nach w
§ Hierbei wird ausgenutzt, dass gilt:
ˆwT XT yˆw = XT y
ˆL(w)ˆw = ≠2XT y + 2 XT X w
ˆwT XT X wˆw = 2 XT X w
Data Science / Kapitel 2: Regression
![Page 34: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/34.jpg)
34
Analytische Bestimmung optimaler Parameter§ Schritt 3: Bestimmen einer Nullstelle der Ableitung nach w
§ (3) nach (4) multipliziert beide Seiten von links
mit der inversen Matrix (XT X)-1
§ Die inverse Matrix (XTX)-1 existiert dann, wenn die
ursprüngliche Datenmatrix X vollen Spaltenrang hat,
d.h. alle Spaltenvektoren sind linear unabhängig
≠2XT y + 2 XT X w != 0 (1)… 2 XT X w = 2XT y (2)… XT X w = XT y (3)… w = (XT X)≠1 XT y (4)
Data Science / Kapitel 2: Regression
![Page 35: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/35.jpg)
35
Analytische Bestimmung optimaler Parameter§ Die inverse Matrix (XTX)-1 existiert nicht z.B.
für folgende Datenmatrizen
§ Allgemein existiert die inverse Matrix nicht, wenn
§ es mehr Merkmale als Datenpunkte gibt (d.h. m > n)
§ unabhängige Merkmale (d.h. Spaltenvektoren) existieren,
die linear abhängig voneinander sind
X =
S
U1 2 41 3 61 2 4
T
V X =
S
U1 2 1 9 51 3 3 0 21 2 3 4 7
T
V
Data Science / Kapitel 2: Regression
![Page 36: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/36.jpg)
36
Multiple lineare Regression in Pythonimport numpy as npimport pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfrom sklearn import linear_model, metrics
# Autodaten einlesencars = pd.read_csv('../data/auto-mpg/auto-mpg.data', header=None, sep='\s+')
# Verbrauchswerte extrahiereny = cars.iloc[:,0].values
# Leistungs- und Gewichtswerte extrahierenX = cars.iloc[:,[3,4]].values
# Plot erstellen#g = sns.regplot(x=X, y=y, fit_reg=False)
# Einfache lineare Regressionreg = linear_model.LinearRegression()reg.fit(X,y)
# Plot erstellenfig = plt.figure()ax = fig.add_subplot(111, projection='3d')
# Datenpunkte plottenfor i in range(0,len(y)):
ax.scatter(X[i,0], X[i,1], y[i], color='blue', marker='x')
Data Science / Kapitel 2: Regression
![Page 37: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/37.jpg)
37
Multiple lineare Regression in Python# Vorhersagewerte berechnenX0 = np.arange(min(X[:,0]), max(X[:,0]), 25) X1 = np.arange(min(X[:,1]), max(X[:,1]), 25) X0, X1 = np.meshgrid(X0, X1)Z = X0.copy() n = X0.shape[0] m = X0.shape[1] for i in range(0, n):
for j in range(0, m): Z[i,j] = reg.predict([[X0[i,j], X1[i,j]]])
# Hyperebene Plottenax.plot_surface(X0, X1, Z, color='red', linewidth=0, antialiased=False)
# Plot beschriftenax.set_xlabel('Leistung [hp]') ax.set_ylabel('Gewicht [lbs]') ax.set_zlabel('Verbrauch [mpg]')
# Plot anzeigenplt.show()
# Koeffizienten und Bestimmtheitsmaß ausgebenprint('Parameter:')print('w0: %f'%reg.intercept_)print('w1: %f'%reg.coef_[0]) print('w2: %f'%reg.coef_[1]) print('Bestimmtheitsmaß')print('R2: %f'%metrics.r2_score(y,reg.predict(X)))
Data Science / Kapitel 2: Regression
![Page 38: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/38.jpg)
38
Multiple lineare Regression in Python
§ Vollständiges Jupyter-Notebook unter:
http://swl.htwsaar.de/.../2017-vl-ds-kap2-regression.html
http://swl.htwsaar.de/.../2017-vl-ds-kap2-regression.ipynb
Data Science / Kapitel 2: Regression
![Page 39: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/39.jpg)
39
2.3 Nominale und ordinale Merkmale§ Wie lassen sich nominale und ordinale Merkmale so
kodieren, dass sie für lineare Regression und
andere Verfahren verwendbar sind?
§ Nominale Merkmale (z.B. Herkunft) werden in ein binäres Merkmal je in den Daten vorhandenem Wert kodiert
(one-hot encoding)
Herkunft
1312
Herkunft 1 Herkunft 2 Herkunft 3
1 0 00 0 11 0 00 1 0
Data Science / Kapitel 2: Regression
![Page 40: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/40.jpg)
40
Nominale und ordinale Merkmale§ Ordinale Merkmale (z.B. Energieeffizienzklasse) werden
auf ganze Zahlen abgebildet, so dass die Ordnungder ursprünglichen Werte erhalten bleibt
§ Hierbei wird implizit angenommen, dass die Abstände
zwischen benachbarten Werten gleich groß,
d.h. diese äquidistant sind
Energiee�zienzklasseACB
Energiee�zienzklasse021
Data Science / Kapitel 2: Regression
![Page 41: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/41.jpg)
41
Nominale und ordinale Merkmale in Pythonimport pandas as pd
# Autodaten einlesencars = pd.read_csv('../data/auto-mpg/auto-mpg.data', header=None, sep='\s+')
# Daten der ersten zehn Autos ausgebenprint(cars.head(n=10), "\n")
# Nominales Merkmal Herkunft kodierenorigin_one_hot = pd.get_dummies(cars[7], prefix='origin')
# Neue Merkmale mit ursprünglichen Daten konkatenierencars = pd.concat([cars, origin_one_hot], axis=1)
# Daten der ersten zehn Autos ausgebenprint(cars.head(n=10), "\n")
Data Science / Kapitel 2: Regression
![Page 42: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/42.jpg)
42
Nominale und ordinale Merkmale in Python
§ Vollständiges Jupyter-Notebook unter:
http://swl.htwsaar.de/.../2017-vl-ds-kap2-regression.html
http://swl.htwsaar.de/.../2017-vl-ds-kap2-regression.ipynb
import numpy as npimport pandas as pd
# Daten mit einem metrischen und einem ordinalen Merkmal erzeugendata = pd.DataFrame(np.matrix([[1.2,'A'], [2.1, 'B'], [1.7, 'C'], [3.2, 'A'], [4.2,'B']])) # Daten ausgebenprint(data,"\n")
# Ordnung der Werte angebenorder = ['A', 'B', 'C'] # Ordinales Merkmal kodierenencoded_feature = data[1].astype("category", ordered=True, categories=order).cat.codes
# Neues Merkmal mit urprünglichen Daten konkatenierendata = pd.concat([data, encoded_feature], axis=1)
# Daten ausgebenprint(data)
Data Science / Kapitel 2: Regression
![Page 43: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/43.jpg)
43
Zusammenfassung§ Multiple lineare Regression sagt ein abhängiges
metrisches Merkmal anhand mehrererunabhängiger metrischer Merkmale voraus
§ Optimale Parameter der Regressionshyperebene
lassen sich analytisch bestimmen
§ Nominale und ordinale Merkmale können so kodiert
werden, dass sie für lineare Regression
verwendbar sind
Data Science / Kapitel 2: Regression
![Page 44: 2. Regression - swl.htwsaar.de€¦ · 5 Inhalt § 2.1 Einfache lineare Regression § 2.2 Multiple lineare Regression § 2.3 Nominale und ordinale Merkmale § 2.4 Gradientenabstiegsverfahren](https://reader030.fdokument.com/reader030/viewer/2022040605/5eaaebad73923543812f966b/html5/thumbnails/44.jpg)
44
Literatur[1] L. Fahrmeir, R. Künstler, I. Pigeot und G. Tutz:
Statistik – Der Weg zur Datenanalyse,
Springer, 2017 (Kapitel 12)
[2] S. Raschka: Machine Learning in Python,
mitp, 2017 (Kapitel 10)
Data Science / Kapitel 2: Regression