Angewandte Statistik
Julian Hinz — Universität Bielefeld
Session 2
Parametrische Regression
Wiederholung: Lineare Regression
Tutorien
197 Anmeldungen für 120 Plätze
kurzfristige Lösung: Live-Streaming per Zoom
wir versuchen noch zusätzlichen Termin einzurichten
Parametrische Regressionsanalyse
Parametrische Regressionsanalyse
(Wie) hängt bestimmte Zielgröße (\(Y\) ) von erklärenden Variablen (\(x_1,\ldots,x_p\) ) ab?
Flugzeit vs. Flugstrecke
Punkte im Mathetest vs. LSD-Konzentration im Blut
Beispiele
Wirtschaftliche Größe und Exporte
Mietpreis hängt ab von Wohnfläche, Baujahr, Ausstattung, Lage, etc.
WiWi-Note hängt ab von Abischnitt, Lernaufwand, etc.
Gebrauchtwagenpreis hängt ab von Kilometerstand, Marke, Motorleistung, etc.
…
Analyse von Abhängigkeiten zwischen Variablen
Wir wollen aus Daten ein Modell lernen (d.h. schätzen), welches den Einfluss der erklärenden Variablen (x_1, , x_p) auf die Zielgröße (Y) gut beschreibt: \[ Y = f(x_1, \ldots, x_p) + \text{zufälliger Fehler} \]
Wieso brauchen wir den Fehlerterm?
Ein “perfekter” Zusammenhang liegt bei realen Prozessen so gut wie nie vor.
Oftmals wird (Y) von weiteren, nicht beobachteten Variablen beeinflusst.
Im Idealfall erklärt (f) einen Großteil der Variabilität von (Y), so dass der Fehlerterm klein ist, was zu ziemlich genauen Vorhersagen führen kann.
Mietpreis (in Euro/Monat) vs. Wohnfläche (in qm) und Baujahr, für Bielefelder Mietwohnungen
Lineares Regressionsmodell
\[
\underbrace{Y_i}_{\text{Zielgröße}} = \; \underbrace{\beta_0 + \beta_1 x_{i1} + \ldots + \beta_p x_{ip}}_{\text{system. Effekt}}\;\; + \underbrace{\epsilon_i}_{\text{Fehler}}, \quad E(\epsilon_i) = 0, \quad i=1,\ldots,n.
\]
Hier: lineare Form des systematischen Teils \(f(x_{i1},\ldots,x_{ip})\)
Warum ist diese Formulierung so wichtig?
überraschend oft realistisch
relativ robust gegenüber einzelnen Ausreißern
sehr einfach umzusetzen und zu interpretieren
viel flexibler als es auf den ersten Blick scheint
Einfaches lineare Modell (\(p=1\) ) in Matrixnotation
Die Modellspezifikation
\[
Y_i = \beta_0 + \beta_1 x_{i1} + \epsilon_i, \quad i=1,\ldots,n,
\]
umfasst genau genommen \(n\) Gleichungen, eine für jeden Datenpunkt:
\[\begin{align*}
Y_1 &= \beta_0 + \beta_1 x_{11} + \epsilon_1 \\
Y_2 &= \beta_0 + \beta_1 x_{21} + \epsilon_2 \\
& \vdots \\
Y_n &= \beta_0 + \beta_1 x_{n1} + \epsilon_n \\
\end{align*}\]
Überführung in Matrixnotation
\[
\begin{align*}
Y_1 & = \beta_0 + \beta_1 x_{11} + \epsilon_1 \\
& \vdots \quad \quad \quad \quad \quad \quad \quad \rightsquigarrow \quad \quad \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \epsilon, \\[0.7em]
Y_n & = \beta_0 + \beta_1 x_{n1} + \epsilon_n \\
\end{align*}
\]
\[
\text{wobei} \quad \mathbf{Y} = \begin{pmatrix} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end{pmatrix}, \quad \mathbf{X}= \begin{pmatrix} 1 & x_{11} \\ 1 & x_{21} \\ \vdots & \vdots \\ 1 & x_{n1} \end{pmatrix} , \quad \boldsymbol{\beta}= \begin{pmatrix} \beta_0 \\ \beta_1 \end{pmatrix} ,\quad \epsilon= \begin{pmatrix} \epsilon_1 \\ \epsilon_2 \\ \vdots \\ \epsilon_n \end{pmatrix}
\]
Multiples lineares Modell (\(p\geq 1\) ) in Matrixnotation
Komplett analog für das multiple lineare Modell
\[
\begin{align*}
{Y_1} & = {\beta_0 + \beta_1 x_{11} + \ldots + \beta_p x_{1p}} + {\epsilon_1} \\
& \vdots \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \rightsquigarrow \quad \quad \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \epsilon, \\[0.7em]
{Y_n} & = {\beta_0 + \beta_1 x_{n1} + \ldots + \beta_p x_{np}} + {\epsilon_n} \\
\end{align*}
\]
\[
\text{wobei} \quad \mathbf{Y} = \begin{pmatrix} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end{pmatrix}, \quad \mathbf{X}= \begin{pmatrix} 1 & x_{11} & \ldots & x_{1p} \\ 1 & x_{21} & \ldots & x_{2p} \\ \vdots & \vdots \\ 1 & x_{n1} & \ldots & x_{np} \end{pmatrix} , \quad \boldsymbol{\beta}= \begin{pmatrix} \beta_0 \\ \beta_1 \\ \vdots \\ \beta_p \end{pmatrix} ,\quad \boldsymbol{\epsilon}= \begin{pmatrix} \epsilon_1 \\[0.2em] \epsilon_2 \\[0.2em] \vdots \\[0.2em] \epsilon_n \end{pmatrix}
\]
Schätzung der Regressionskoeffizienten
Schätzung der Regressionskoeffizienten
Schätzung der Regressionskoeffizienten
Schätzung der Regressionskoeffizienten
Als “Gesamtabstand” zwischen Modell und Datenpunkten definieren wir die Summe der quadrierten Fehler:
\[
S(\beta_0,\beta_1,\ldots,\beta_p) = \sum_{i=1}^n \epsilon_i^2 = \sum_{i=1}^n \bigl( y_i - (\beta_0 + \beta_1 x_{i1} + \ldots + \beta_p x_{ip}) \bigr)^2
\]
Der Kleinste-Quadrate-Schätzer (KQS),
\[
\widehat{\boldsymbol{\beta}} = (\widehat{\beta}_0,\widehat{\beta}_1,\ldots,\widehat{\beta}_p) = \underset{\beta_0,\beta_1,\ldots,\beta_p}{\operatorname{argmin}} \; S(\beta_0,\beta_1,\ldots,\beta_p),
\]
minimiert diesen Abstand.
KQS für das multiple lineare Regressionsmodell
Für das multiple lineare Regressionsmodell \[ {Y_i} = {\beta_0 + \beta_1 x_{i1} + \ldots + \beta_p x_{ip}} + {\epsilon_i}, \quad E(\epsilon_i) = 0, \quad i=1,\ldots,n, \]
in Matrixnotation \[ \mathbf{Y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\epsilon}, \]
ist der Kleinste-Quadrate-Schätzer gegeben durch \[ \hat{\boldsymbol{\beta}} = \begin{pmatrix} \hat{\beta}_0 \\ \hat{\beta}_1 \\ \vdots \\ \hat{\beta}_p \end{pmatrix} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{Y} \]
KQS in R für LSD-Beispiel
Mit Hilfe von lm
-Funktion:
library (data.table)
daten = fread ("../data/data2/LSD.txt" )
regression <- lm (Punkte ~ LSD,
data = daten)
print (regression)
Call:
lm(formula = Punkte ~ LSD, data = daten)
Coefficients:
(Intercept) LSD
89.124 -9.009
KQS in R für LSD-Beispiel
“zu Fuß” mit Matrix Algebra:
daten = fread ("../data/data2/LSD.txt" )
X = cbind (rep (1 , 7 ), daten$ LSD)
y = daten$ Punkte
beta = solve (t (X) %*% X) %*% t (X) %*% y
print (beta)
[,1]
[1,] 89.123874
[2,] -9.009466
KQS in R für LSD-Beispiel
“zu Fuß” mit Matrix Algebra:
p_load (ggplot2)
p_load (data.table)
# daten laden
data = fread ("../data/data2/LSD.txt" )
# plotten
ggplot (data, aes (x = LSD, y = Punkte)) +
theme_minimal () +
geom_point () +
scale_x_continuous ("LSD Konzentration" ) +
scale_y_continuous ("Punkte" )
KQS in R für LSD-Beispiel
“zu Fuß” mit Matrix Algebra:
p_load (ggplot2)
p_load (data.table)
# daten laden
data = fread ("../data/data2/LSD.txt" )
# plotten
ggplot (data, aes (x = LSD, y = Punkte)) +
theme_minimal () +
geom_point () +
geom_smooth (method = "lm" , color = "red" , se = FALSE ) +
scale_x_continuous ("LSD Konzentration" ) +
scale_y_continuous ("Punkte" )
KQS in R für LSD-Beispiel
“zu Fuß” mit Matrix Algebra:
p_load (ggplot2)
p_load (data.table)
# daten laden
data = fread ("../data/data2/LSD.txt" )
# regression manuell rechnen
X = cbind (rep (1 , 7 ), daten$ LSD)
y = daten$ Punkte
beta = solve (t (X) %*% X) %*% t (X) %*% y
# plotten
ggplot (data, aes (x = LSD, y = Punkte)) +
theme_minimal () +
geom_point () +
geom_abline (intercept = beta[1 ], slope = beta[2 ], color = "red" ) +
scale_x_continuous ("LSD Konzentration" ) +
scale_y_continuous ("Punkte" )
KQS in R für Mietspiegel-Beispiel
Mit Hilfe von - Funktion:
library (data.table)
# daten laden
daten = fread ("../data/data2/rents.csv" )
# lm funktion
regression = lm (rent ~ area + year,
data = daten)
summary (regression)
Call:
lm(formula = rent ~ area + year, data = daten)
Residuals:
Min 1Q Median 3Q Max
-386.54 -73.32 -3.15 69.16 1062.81
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.147e+03 1.459e+02 -14.71 <2e-16 ***
area 7.906e+00 9.265e-02 85.33 <2e-16 ***
year 1.086e+00 7.452e-02 14.58 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 126.1 on 3851 degrees of freedom
Multiple R-squared: 0.6792, Adjusted R-squared: 0.679
F-statistic: 4076 on 2 and 3851 DF, p-value: < 2.2e-16
library (data.table)
# daten laden
daten = fread ("../data/data2/rents.csv" )
# zu fuß
X = cbind (rep (1 ,3854 ), daten$ area, daten$ year)
y = daten$ rent
beta = solve (t (X) %*% X) %*% t (X) %*% y
print (beta)
[,1]
[1,] -2146.724893
[2,] 7.906339
[3,] 1.086172
Angepasstes Modell im Mietspiegel–Beispiel
\[
\text{Miete}_i = -2147 + 7.91 \cdot \text{Fläche}_i + 1.09 \cdot \text{Baujahr}_i + \epsilon_i
\]
Angepasstes Modell im Mietspiegel–Beispiel
\[
\text{Miete}_i = -2147 + 7.91 \cdot \text{Fläche}_i + 1.09 \cdot \text{Baujahr}_i + \epsilon_i
\]