---
fontsize: 8pt
format:
  beamer:
    include-in-header: ../ALM_Header.tex
bibliography: ../ALM_Referenzen.bib
---


```{r, include = F}
source("../ALM_Common.R")
```


# {.plain}
<!-- Vorlesungstitel -->
\center
```{r, echo = F, out.width = "20%"}
knitr::include_graphics("../OvGU_Logo.png")
```

\vspace{2mm}
\huge
Allgemeines Lineares Modell

\vspace{6mm}
\large
BSc Psychologie, SoSe 2024

\vspace{5mm}
Joram Soch


<!-- Sitzung 1: Regression -->
# {.plain}

\vfill
\center
\huge
\textcolor{black}{(1) Regression}
\vfill


<!-- Inhaltsverzeichnis -->
#

\setstretch{2.5}
\vfill
\large

Methode der kleinsten Quadrate

Anwendung/Praxis (1)

Einfache lineare Regression

Anwendung/Praxis (2)

Selbstkontrollfragen

\vfill


<!-- Abschnitt 1: Methode der kleinsten Quadrate -->
#

\setstretch{2.5}
\vfill
\large

**Methode der kleinsten Quadrate**

Anwendung/Praxis (1)

Einfache lineare Regression

Anwendung/Praxis (2)

Selbstkontrollfragen

\vfill


<!-- Anwendungsszenario -->
# Methode der kleinsten Quadrate

\large
Anwendungsszenario

```{r, echo = F, out.width = "80%"}
knitr::include_graphics("Abbildungen/beispielszenario.pdf")
```


<!-- Beispieldatensatz -->
# Methode der kleinsten Quadrate

Beispieldatensatz

\center
\footnotesize
$i = 1,...,20$ Patient:innen, $y_i$ Symptomreduktion bei Patient:in $i$, $x_i$ Anzahl Therapiestunden von Patient:in $i$

\setstretch{1}
```{r, echo = F}
library(MASS)                                         # Normalverteilungen
set.seed(0)                                           # Reproduzierbarkeit der Ergebnisse
n           = 20                                      # Anzahl Datenpunkte
p           = 3                                       # Anzahl Regressionskoeffizienten
x           = seq(1,n,len = n)                        # Kontrollvariable
X           = matrix(c(rep(1,n), x, x^2), ncol = 3)   # Designmatrix
beta        = matrix(c(.5,.2,.06), ncol = 1)          # wahre, aber unbekannte Regressionskoeffizientenwerte
mu          = X %*% beta                              # Erwartungswertparameter
sigsqr      = 10                                      # Varianzparameter
Sigma       = sigsqr*diag(n)                          # Kovarianzmatrixparameter
y           = as.matrix(mvrnorm(1,mu,Sigma))          # Datengeneration
D           = data.frame(y_i = y, x_i = x)            # Dataframe

# Datensicherung
fname       = "Daten/Regression_Simulation.csv"
write.csv(D, file = fname, row.names = FALSE)

# Tabelle
knitr::kable(D, "pipe")
```


<!-- Beispieldatensatz -->
# Methode der kleinsten Quadrate

Beispieldatensatz

```{r, echo = F, eval = F}
graphics.off()
dev.new()
par(
    family      = "sans",
    mfcol       = c(1,1),
    pty         = "s",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    font.main   = 1,
    cex         = 1,
    cex.main    = 1)
plot(x, y,
    pch         = 16,
    xlab        = "Anzahl Therapiestunden (x)",
    ylab        = "Symptomreduktion (y)",
    xlim        = c(0,21),
    ylim        = c(-10, 40))
legend("topleft", TeX("$(x_i,y_i)$"),
    lty         = 0,
    pch         = 16,
    col         = "black",
    bty         = "n",
    cex         = 1,
    x.intersp   = 1)
dev.copy2pdf(
    file        = "Abbildungen/beispieldatensatz.pdf",
    width       = 4,
    height      = 4)
```

```{r, echo = F, out.width = "60%"}
knitr::include_graphics("Abbildungen/beispieldatensatz.pdf")
```

\vspace{-4mm}
\center
\textcolor{darkblue}{Welcher funktionale Zusammenhang zwischen $x$ und $y$ liegt den Daten zugrunde?}


<!-- Definition: Gerade -->
# Methode der kleinsten Quadrate

\footnotesize
\begin{definition}[Gerade]

\justifying
Sei $\beta := (\beta_0,\beta_1)^\mathrm{T} \in \mathbb{R}^2$ ein zweidimensionaler Vektor reeller Zahlen. Dann ist eine Gerade durch folgende linear-affine Funktion gegeben:
\begin{equation}
f_\beta : \mathbb{R} \to \mathbb{R}, x \mapsto f_\beta(x) := \beta_0 + \beta_1 x \; .
\end{equation}

\end{definition}

Bemerkungen

* $\beta_0$ bestimmt den Schnittpunkt der Gerade mit der $y$-Achse.
* $\beta_0$ wird auch als \textit{Offset-Parameter} oder \textit{intercept} bezeichnet.
* $\beta_1$ gibt das Ausmaß der $y$-Einheitsdifferenz pro $x$-Einheitsdifferenz wieder.
* $\beta_1$ wird auch als \textit{Steigungsparameter} oder \textit{slope} bezeichnet.


<!-- Beispiele: Geraden -->
# Methode der kleinsten Quadrate

Linear-affine Funktionen: $f_\beta(x) := \beta_0 + \beta_1 x$
\vspace{1cm}

```{r, echo = F, eval = F}
# Ausgleichs- und weitere Geraden
X           = matrix(c(rep(1,n), x), ncol = 2)              # Designmatrix
beta_hat    = solve(t(X) %*% X) %*% t(X) %*% y              # OLS-Schätzer
beta_set    = matrix(c(5,.5, -20,3, beta_hat), nrow = 2)    # weitere Geraden

# Visualisierung
lab         = c(TeX("$\\beta_0 =   5.0, \\beta_1 = 0.5$"),  # Labels
                TeX("$\\beta_0 = -20.0, \\beta_1 = 3.0$"),
                TeX("$\\beta_0 =  -6.2, \\beta_1 = 1.7$"))
graphics.off()
dev.new()
par(
    family      = "sans",
    mfcol       = c(1,3),
    pty         = "s",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    font.main   = 1,
    cex         = 1,
    cex.main    = 1.2)
for(i in 1:3){
    plot(x, y,
        pch         = 16,
        xlab        = "Anzahl Therapiestunden (x)",
        ylab        = "Symptomreduktion (y)",
        xlim        = c(0,21),
        ylim        = c(-10, 40),
        main        = lab[i])
    abline(
        coef        = beta_set[,i],
        lty         = 1,
        col         = "black")
}
dev.copy2pdf(
    file        = "Abbildungen/ausgleichsgerade_1.pdf",
    width       = 12,
    height      = 4)
```

```{r, echo = F, out.width = "100%"}
knitr::include_graphics("Abbildungen/ausgleichsgerade_1.pdf")
```


<!-- Definition: Ausgleichsgerade -->
# Methode der kleinsten Quadrate

\footnotesize
\begin{definition}[Ausgleichsgerade]

\justifying
$\{(x_1,y_1),...,(x_n,y_n)\} \subset \mathbb{R}^2$ sei ein Datensatz. Weiterhin sei $q(\beta)$ die Summe der quadrierten vertikalen Abweichungen der $y_i$ von den Funktionswerten $f_{\beta}(x_i)$:
\begin{equation}
q : \mathbb{R}^2 \to \mathbb{R}_{\ge 0}, \beta \mapsto q(\beta)
:= \sum_{i=1}^n (y_i-f_\beta(x_i))^2
 = \sum_{i=1}^n (y_i- (\beta_0 + \beta_1 x_i))^2 \; .
\end{equation}

Dann heißt die Gerade $f_{\beta}$, für die die Funktion $q$ ihr Minimum annimt, die \textit{Ausgleichsgerade für den Datensatz} $\{(x_1,y_1),...,(x_n,y_n)\}$.

\end{definition}

Bemerkungen

* Wir nehmen hier ohne Beweis an, dass das Minimum von $q$ eindeutig ist.


<!-- Beispiel: Ausgleichsgerade -->
# Methode der kleinsten Quadrate

Funktion der quadrierten vertikalen Abweichungen:
\begin{equation}
q(\beta) := \sum_{i=1}^n (y_i - (\beta_0 + \beta_1x_i))^2
\end{equation}

```{r, echo = F, eval = F}
# q Funktionswerte
q1          = t(y - X %*% beta_set[,1]) %*% (y - X %*% beta_set[,1])  # weitere Gerade 1
q2          = t(y - X %*% beta_set[,2]) %*% (y - X %*% beta_set[,2])  # weitere Gerade 2
q3          = t(y - X %*% beta_set[,3]) %*% (y - X %*% beta_set[,3])  # Ausgleichsgerade

# Visualisierung
graphics.off()
dev.new()
par(
    family      = "sans",
    mfcol       = c(1,3),
    pty         = "s",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    font.main   = 1,
    cex         = 1,
    cex.main    = 1.2)
    lab         = c(TeX("$q(\\beta) = 1159$"),
                    TeX("$q(\\beta) = 1451$"),
                    TeX("$q(\\beta) = 250$"))
for(i in 1:3){
  plot(x, y,
      pch         = 16,
      xlab        = "Anzahl Therapiestunden (x)",
      ylab        = "Symptomreduktion (y)",
      xlim        = c(0,21),
      ylim        = c(-10, 40),
      main        = lab[i])
  abline(
      coef        = beta_set[,i],
      lty         = 1,
      col         = "black")
  arrows(
      x0          = x,
      y0          = y,
      x1          = x,
      y1          = X %*% beta_set[,i],
      length      = 0,
      col         = "orange")
}
dev.copy2pdf(
    file        = "Abbildungen/ausgleichsgerade_2.pdf",
    width       = 12,
    height      = 4)
```

```{r, echo = F, out.width = "100%"}
knitr::include_graphics("Abbildungen/ausgleichsgerade_2.pdf")
```

\center
\textcolor{orange}{\textbf{------}} $y_i - (\beta_0 + \beta_1 x_i)$ für $i = 1,...,n$

\vspace{2mm}
[\textcolor{darkblue}{Animation zur Ausgleichsgerade}](C:\Users\sochj\OvGUcloud\Lehre\2025_SS\B2_ALM\01_Regression\Abbildungen\ausgleichsgerade.gif)


<!-- Theorem: Ausgleichsgeradenparameter -->
# Methode der kleinsten Quadrate

\footnotesize
\begin{theorem}[Ausgleichsgeradenparameter]

\justifying
\normalfont
Für einen Datensatz $\{(x_1,y_1),...,(x_n,y_n)\} \subset \mathbb{R}^2$ hat die Ausgleichsgerade die Form
\begin{equation}
f_{\hat{\beta}} : \mathbb{R} \to \mathbb{R}, x \mapsto f_{\hat{\beta}}(x) := \hat{\beta}_0 + \hat{\beta}_1 x \; ,
\end{equation}

mit den Ausgleichsgeradenparametern
\begin{equation}
\hat{\beta}_1 = \frac{c_{xy}}{s_x^2}
\quad \mbox{ und } \quad
\hat{\beta}_0 = \bar{y} - \hat{\beta}_1\bar{x} \; ,
\end{equation}

wobei $c_{xy}$ die Stichprobenkovarianz der $(x_i,y_i)$-Werte, $s_x^2$ die Stichprobenvarianz der $x_i$-Werte und $\bar{x}$ und $\bar{y}$ die Stichprobenmitteln der $x_i$- bzw. $y_i$-Werte sind.

\end{theorem}

Bemerkungen

* \justifying Mit den Definitionen von $c_{xy}$ und $s_x^2$ gilt also:
\begin{equation}
\hat{\beta}_1 = \frac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^n (x_i - \bar{x})^2} \; .
\end{equation}
* Man spricht hier von der Stichprobenkovarianz $c_{xy}$, auch wenn die Werte 
$x_1,...,x_n$ oft nicht als Realisierungen einer Stichprobe $\xi_1,...,\xi_n$ 
verstanden werden, sondern als gegebene Zahlen.


<!-- Beweis -->
# Methode der kleinsten Quadrate

\small
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\setstretch{1.2}
\underline{Beweis}

Wir betrachten die Summe der quadrierten vertikalen Abweichungen der $y_i$ von den Funktionswerten $f(x_i)$ als Funktion von $\beta_0$ und $\beta_1$ und bestimmen Werte $\hat{\beta}_0$ und $\hat{\beta}_1$, für die diese Funktion ihr Minimum annimmt, die Summe der quadrierten vertikalen Abweichungen der $y_i$ von den Funktionswerten $f(x_i)$ also minimal ist. Wir betrachten also die Funktion
\begin{equation}
q : \mathbb{R}^2 \to \mathbb{R}, (\beta_0,\beta_1) \mapsto q(\beta_0,\beta_1)
:= \sum_{i=1}^n \left(y_i - (\beta_0 + \beta_1 x_i)\right)^2.
\end{equation}

Um das Minimum dieser Funktion zu bestimmen, berechnen wir zunächst die partiellen Ableitungen hinsichtlich $\beta_0$ und $\beta_1$ und setzen diese gleich 0. Es ergibt sich zunächst
\begin{align}
\begin{split}
\frac{\partial}{\partial \beta_0} q(\beta_0,\beta_1)
& = \frac{\partial}{\partial \beta_0}\left(\sum_{i=1}^n \left(y_i - (\beta_0 + \beta_1 x_i)\right)^2\right) \\
& = \sum_{i=1}^n \frac{\partial}{\partial \beta_0} \left(y_i - (\beta_0 + \beta_1 x_i)\right)^2 \\
& = \sum_{i=1}^n 2\left(y_i - (\beta_0 + \beta_1 x_i)\right)\frac{\partial}{\partial \beta_0}\left(y_i - \beta_0 - \beta_1 x_i \right) \\
& = -2\sum_{i=1}^n \left(y_i - \beta_0  - \beta_1 x_i\right)
\end{split}
\end{align}


<!-- Beweis -->
# Methode der kleinsten Quadrate

\small
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\setstretch{1.2}
\underline{Beweis (fortgeführt)}

Weiterhin ergibt sich
\vspace{-2mm}
\begin{align}
\begin{split}
\frac{\partial}{\partial \beta_1} q(\beta_0,\beta_1)
& = \frac{\partial}{\partial \beta_1}\left(\sum_{i=1}^n \left(y_i - (\beta_0 + \beta_1 x_i)\right)^2\right) \\
& = \sum_{i=1}^n \frac{\partial}{\partial \beta_1} \left(y_i - (\beta_0 + \beta_1 x_i)\right)^2 \\
& = \sum_{i=1}^n 2\left(y_i - (\beta_0 + \beta_1 x_i)\right)\frac{\partial}{\partial \beta_1}\left(y_i - \beta_0 - \beta_1 x_i \right) \\
& = -2\sum_{i=1}^n \left(y_i - \beta_0  - \beta_1 x_i\right)x_i
\end{split}
\end{align}

Nullsetzen beider partieller Ableitungen ergibt dann
\begin{align}
\begin{split}
\frac{\partial}{\partial \beta_0} q(\beta_0,\beta_1)         = 0  & \quad \mbox{ und } \quad
\frac{\partial}{\partial \beta_1} q(\beta_0,\beta_1)         = 0  \\
\Leftrightarrow
-2\sum_{i=1}^n \left(y_i - \beta_0  - \beta_1 x_i\right)     = 0  & \quad \mbox{ und } \quad
-2\sum_{i=1}^n \left(y_i - \beta_0  - \beta_1 x_i\right) x_i = 0  \\
\Leftrightarrow
\sum_{i=1}^n \left(y_i - \beta_0  - \beta_1 x_i\right)       = 0  & \quad \mbox{ und } \quad
\sum_{i=1}^n \left(y_i - \beta_0  - \beta_1 x_i\right) x_i   = 0
\end{split}
\end{align}


<!-- Beweis -->
# Methode der kleinsten Quadrate

\small
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\setstretch{1.2}
\underline{Beweis (fortgeführt)}

und weiter
\vspace{-2mm}
\begin{align}
\begin{split}
\sum_{i=1}^n y_i    - \sum_{i=1}^n \beta_0     - \beta_1 \sum_{i=1}^n x_i    = 0  & \quad \mbox{ und } \quad
\sum_{i=1}^n y_ix_i - \sum_{i=1}^n \beta_0x_i  - \beta_1 \sum_{i=1}^n x_i^2  = 0  \\
\Leftrightarrow
\beta_0 n + \beta_1 \sum_{i=1}^n x_i                   = \sum_{i=1}^n y_i         & \quad \mbox{ und } \quad
\beta_0\sum_{i=1}^n x_i  + \beta_1 \sum_{i=1}^n x_i^2  = \sum_{i=1}^n y_ix_i
\end{split}
\end{align}

Das sich hier ergebende Gleichungssystem
\begin{align}
\begin{split}
\beta_0 n                + \beta_1 \sum_{i=1}^n x_i    & = \sum_{i=1}^n y_i     \\
\beta_0 \sum_{i=1}^n x_i + \beta_1 \sum_{i=1}^n x_i^2  & = \sum_{i=1}^n y_ix_i
\end{split}
\end{align}

wird \textit{System der Normalengleichungen} genannt und beschreibt die notwendige Bedingung für ein Minimum von $q$. Auflösen dieses Gleichungssystems nach $\beta_0$ und $\beta_1$ liefert dann die Werte $\hat{\beta}_0$ und $\hat{\beta}_1$ des Theorems. 


<!-- Beweis -->
# Methode der kleinsten Quadrate

\small
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\setstretch{1.2}
\vspace{2mm}
\underline{Beweis (fortgeführt)}

Um dies zu sehen, halten wir zunächst fest, dass mit der ersten Gleichung des Systems der Normalengleichungen gilt
\begin{align}
                 n\hat{\beta}_0 + \hat{\beta}_1 \sum_{i=1}^n x_i = \sum_{i=1}^n y_i
\quad \Leftrightarrow \quad \hat{\beta}_0 + \hat{\beta}_1\bar{x} = \bar{y}
\quad \Leftrightarrow \quad \hat{\beta}_0                        = \bar{y} - \hat{\beta}_1\bar{x}
\end{align}

Einsetzen der Form von $\hat{\beta}_0$ in die zweite Gleichung des Systems der Normalengleichungen ergibt dann zunächst
\begin{align} \label{eq:hat_beta_1}
\begin{split}
\hat{\beta}_0 \sum_{i=1}^n x_i + \hat{\beta}_1 \sum_{i=1}^n x_i^2
& = \sum_{i=1}^n y_ix_i \\
\Leftrightarrow
\left(\bar{y} - \hat{\beta}_1\bar{x}\right) \sum_{i=1}^n x_i + \hat{\beta}_1 \sum_{i=1}^n x_i^2
& = \sum_{i=1}^n y_ix_i \\
\Leftrightarrow
\bar{y}\sum_{i=1}^n x_i - \hat{\beta}_1\bar{x}\sum_{i=1}^n x_i  + \hat{\beta}_1 \sum_{i=1}^n x_i^2
& = \sum_{i=1}^n y_ix_i \\
\Leftrightarrow
- \hat{\beta}_1\bar{x}\sum_{i=1}^n x_i  + \hat{\beta}_1 \sum_{i=1}^n x_i^2           
& = \sum_{i=1}^n y_ix_i - \bar{y}\sum_{i=1}^n x_i \\
\Leftrightarrow
\hat{\beta}_1 \left(\sum_{i=1}^n x_i^2  - \bar{x}\sum_{i=1}^n x_i\right)         
& = \sum_{i=1}^n y_ix_i - \bar{y}\sum_{i=1}^n x_i
\end{split}
\end{align}


<!-- Beweis -->
# Methode der kleinsten Quadrate

\small
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\setstretch{1.2}
\underline{Beweis (fortgeführt)}

Wir halten nun zunächst fest, dass gilt
\begin{align}
\begin{split}
    \sum_{i=1}^n x_i^2  - \bar{x}\sum_{i=1}^n x_i
& = \sum_{i=1}^n x_i^2 - 2\bar{x}\sum_{i=1}^n x_i + \bar{x}\sum_{i=1}^n x_i \\
& = \sum_{i=1}^n x_i^2 - 2\bar{x}\sum_{i=1}^n x_i + n\left(\frac{1}{n}\sum_{i=1}^n x_i\right)\bar{x} \\
& = \sum_{i=1}^n x_i^2 - 2\bar{x}\sum_{i=1}^n x_i + n\bar{x}^2 \\
& = \sum_{i=1}^n \left(x_i^2 - 2\bar{x} x_i + \bar{x}^2\right) \\
& = \sum_{i=1}^n \left(x_i - \bar{x}\right)^2 \\
\end{split}
\end{align}


<!-- Beweis -->
# Methode der kleinsten Quadrate

\small
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\setstretch{1.2}
\underline{Beweis (fortgeführt)}

Weiterhin halten wir zunächst fest, dass gilt
\begin{align}
\begin{split}
\sum_{i=1}^n y_ix_i - \bar{y}\sum_{i=1}^n x_i 
& = \sum_{i=1}^n y_ix_i - \bar{y}\sum_{i=1}^n x_i - n\bar{y}\bar{x} + n\bar{y}\bar{x} \\
& = \sum_{i=1}^n y_ix_i - \bar{y}\sum_{i=1}^n x_i - \sum_{i=1}^n y_i\bar{x}  + \sum_{i=1}^n\bar{y}\bar{x} \\
& = \sum_{i=1}^n y_ix_i - \sum_{i=1}^n y_i\bar{x} - \sum_{i=1}^n\bar{y} x_i  + \sum_{i=1}^n\bar{y}\bar{x} \\
& = \sum_{i=1}^n \left(y_ix_i -  y_i\bar{x} - \bar{y} x_i  + \bar{y}\bar{x}\right) \\
& = \sum_{i=1}^n \left(y_i-\bar{y}\right)\left(x_i-\bar{x}\right).
\end{split}
\end{align}


<!-- Beweis -->
# Methode der kleinsten Quadrate

\small
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\setstretch{1.2}
\underline{Beweis (fortgeführt)}

In der Fortsetzung von \eqref{eq:hat_beta_1} ergibt sich dann
\begin{align} 
\begin{split}
\hat{\beta}_1 \left(\sum_{i=1}^n x_i^2  - \bar{x}\sum_{i=1}^n x_i\right)         
& = \sum_{i=1}^n y_ix_i - \bar{y}\sum_{i=1}^n x_i \\
\Leftrightarrow
\hat{\beta}_1 \left(\sum_{i=1}^n \left(x_i - \bar{x}\right)^2\right)         
& = \sum_{i=1}^n \left(y_i-\bar{y}\right)\left(x_i-\bar{x}\right) \\
\Leftrightarrow
\hat{\beta}_1
& = \frac{\sum_{i=1}^n \left(y_i-\bar{y}\right)\left(x_i-\bar{x}\right)}{\sum_{i=1}^n \left(x_i - \bar{x}\right)^2} \\
\Leftrightarrow
\hat{\beta}_1
& = \frac{c_{xy}}{s_x^2}
\end{split}
\end{align}
$\hfill\Box$


<!-- Abschnitt 2: Methode der kleinsten Quadrate -->
#

\setstretch{2.5}
\vfill
\large

Methode der kleinsten Quadrate

**Anwendung/Praxis (1)**

Einfache lineare Regression

Anwendung/Praxis (2)

Selbstkontrollfragen

\vfill


<!-- Beispieldatensatz: Analyse -->
# Anwendung/Praxis (1)

Beispieldatensatz: Analyse
\vspace{1mm}
\setstretch{1.2}

\footnotesize
```{r, echo = T}
# Einlesen des Beispieldatensatzes
fname       = "Daten/Regression_Simulation.csv"
D           = read.table(fname, sep = ",", header = TRUE)

# Stichprobenstatistiken
x_bar       = mean(D$x_i)               # Stichprobenmittel der x_i-Werte
y_bar       = mean(D$y_i)               # Stichprobenmittel der y_i-Werte
s2x         = var(D$x_i)                # Stichprobenvarianz der x_i-Werte
cxy         = cov(D$x_i, D$y_i)         # Stichprobenkovarianz der (x_i,y_i)-Werte

# Ausgleichsgeradenparameter
beta_1_hat  = cxy/s2x                   # \hat{\beta}_1, Steigungsparameter
beta_0_hat  = y_bar - beta_1_hat*x_bar  # \hat{\beta}_0, Offset Parameter

# Ausgabe
cat(  "beta_0_hat:", beta_0_hat,
    "\nbeta_1_hat:", beta_1_hat)
```


<!-- Beispieldatensatz: Analyse -->
# Anwendung/Praxis (1)

Beispieldatensatz: Visualisierung
\vspace{1mm}
\setstretch{1.2}

```{r, echo = F, eval = F}
# Abbildungsparameter
graphics.off()
dev.new()
par(
    family      = "sans",
    mfcol       = c(1,1),
    pty         = "s",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    font.main   = 1,
    cex         = 1,
    cex.main    = 1)

# Datenwerte
plot(D$x_i, D$y_i,
    pch         = 16,
    xlab        = "Anzahl Therapiestunden (x)",
    ylab        = "Symptomreduktion (y)",
    xlim        = c(0,21),
    ylim        = c(-10,40),
    main        = TeX("$\\hat{\\beta}_0 =  -6.19, \\hat{\\beta}_1 = 1.66$"))

# Ausgleichsgerade
abline(
    coef        = c(beta_0_hat, beta_1_hat),
    lty         = 1,
    col         = "black")

# Legende
legend("topleft", c(TeX("$(x_i,y_i)$"), TeX("$f(x) = \\hat{\\beta}_0 + \\hat{\\beta}_1x$")),
    lty         = c(0,1),
    pch         = c(16,NA),
    bty         = "n")

# Speichern
dev.copy2pdf(
    file        = "Abbildungen/ausgleichsgerade_3.pdf",
    width       = 4,
    height      = 4)
```

\footnotesize
```{r, echo = T, eval = F}
# Datenwerte
plot(D$x_i, D$y_i,
    pch         = 16,
    xlab        = "Anzahl Therapiestunden (x)",
    ylab        = "Symptomreduktion (y)",
    xlim        = c(0,21),
    ylim        = c(-10,40),
    main        = TeX("$\\hat{\\beta}_0 = -6.19, \\hat{\\beta}_1 = 1.66$"))

# Ausgleichsgerade
abline(
    coef        = c(beta_0_hat, beta_1_hat),
    lty         = 1,
    col         = "black")

# Legende
legend("topleft", c(TeX("$(x_i,y_i)$"), TeX("$f(x) = \\hat{\\beta}_0 + \\hat{\\beta}_1x$")),
    lty        = c(0,1),
    pch        = c(16, NA),
    bty        = "n")
```


<!-- Beispieldatensatz: Visualisierung -->
# Anwendung/Praxis (1)

\vspace{2mm}
Beispieldatensatz: Visualisierung

\vspace{2mm}
```{r, echo = F, out.width = "70%"}
knitr::include_graphics("Abbildungen/ausgleichsgerade_3.pdf")
```


<!-- Grenzen der Ausgleichsgeraden-Methode -->
# Anwendung/Praxis (1)

\vspace{2mm}
Grenzen der Ausgleichsgeraden-Methode

```{r, echo = F, eval = F}
# Einlesen des Beispieldatensatzes
fname       = "Daten/Regression_Simulation.csv"
D           = read.table(fname, sep = ",", header = TRUE)

# Stichprobenstatistiken
x_bar       = mean(D$x_i)               # Stichprobenmittel der x_i-Werte
y_bar       = mean(D$y_i)               # Stichprobenmittel der y_i-Werte
s2x         = var(D$x_i)                # Stichprobenvarianz der x_i-Werte
cxy         = cov(D$x_i, D$y_i)         # Stichprobenkovarianz der (x_i,y_i)-Werte

# Ausgleichsgeradenparameter
beta_1_hat  = cxy/s2x                   # \hat{\beta}_1, Steigungsparameter
beta_0_hat  = y_bar - beta_1_hat*x_bar  # \hat{\beta}_0, Offset Parameter

# Abbildungsparameter
graphics.off()
dev.new()
par(
    family      = "sans",
    mfcol       = c(1,1),
    mar         = c(4,4,1,1),
    pty         = "s",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    font.main   = 1,
    cex         = 1,
    cex.main    = 1)

# Datenwerte
plot(D$x_i, D$y_i,
    pch         = 16,
    xlab        = "Anzahl Therapiestunden (x)",
    ylab        = "Symptomreduktion (y)",
    xlim        = c(-21,42),
    ylim        = c(-40,70))

# Ausgleichsgerade
abline(
    coef        = c(beta_0_hat, beta_1_hat),
    lty         = 1,
    col         = "black")

# Legende
legend("topleft", c(TeX("$(x_i,y_i)$"), TeX("$f(x) = \\hat{\\beta}_0 + \\hat{\\beta}_1x$")),
    lty         = c(0,1),
    pch         = c(16,NA),
    bty         = "n",
    y.intersp   = 3)

# Speichern
dev.copy2pdf(
    file        = "Abbildungen/ausgleichsgerade_4.pdf",
    width       = 4,
    height      = 4)
```

\vspace{2mm}
```{r, echo = F, out.width = "65%"}
knitr::include_graphics("Abbildungen/ausgleichsgerade_4.pdf")
```


<!-- Definition: Polynom -->
# Anwendung/Praxis (1)

\footnotesize
\vspace{2mm}
\begin{definition}[Polynom]

\justifying
Sei $\beta := (\beta_0,...,\beta_k)^\mathrm{T} \in \mathbb{R}^{k+1}$ ein $(k+1)$-dimensionaler Vektor reeller Zahlen. Dann ist ein Polynom $k$-ten Grades durch folgende Funktion gegeben:
\begin{equation}
f_\beta : \mathbb{R} \to \mathbb{R}, x \mapsto f_\beta(x) := \sum_{i=0}^k \beta_i \, x^i \; .
\end{equation}

\end{definition}

\vspace{2mm}
Bemerkungen

* Ein Polynom ist eine Summe ($\sum$) von Vielfachen ($\beta_i$) von Potenzen ($\; ^{i}$) einer Variablen ($x$).
* Die Parameter $\beta_0,...,\beta_k$ heißen \textit{Koeffizienten} oder \textit{Gewichte} des Polynoms.


<!-- Definition: Ausgleichspolynom -->
# Anwendung/Praxis (1)

\footnotesize
\vspace{2mm}
\begin{definition}[Ausgleichspolynom]

\justifying
$\{(x_1,y_1),...,(x_n,y_n)\} \subset \mathbb{R}^2$ sei ein Datensatz. Weiterhin sei $q(\beta)$ die Summe der quadrierten vertikalen Abweichungen der $y_i$ von den Funktionswerten $f_{\beta}(x_i)$:
\begin{equation}
q : \mathbb{R}^{k+1} \to \mathbb{R}_{\ge 0}, \beta \mapsto q(\beta)
:= \sum_{i=1}^n \left(y_i-f_\beta(x_i)\right)^2
 = \sum_{i=1}^n \left(y_i- \sum_{j=0}^k \beta_j \, x_i^j\right)^2
\end{equation}

Dann heißt das Polynom $k$-ten Grades $f_{\beta}$, für das die Funktion $q$ ihr Minimum annimt, das \textit{Ausgleichspolynom $k$-ten Grades} für den Datensatz $\{(x_1,y_1),...,(x_n,y_n)\}$.

\end{definition}

Bemerkungen

* \justifying Wir nehmen hier ohne Beweis an, dass das Minimum von $q$ eindeutig ist.
* Die Ausgleichsgerade ist das Ausgleichspolynom ersten Grades.
* Die Paramterwerte $\hat{\beta}_0,...,\hat{\beta}_k$, für die $q$ bei gegebenem Datensatz ihr Minimum annimmt, werden an späterer Stelle im Rahmen der Theorie des Allgemeinen Linearen Modells bestimmt werden.


<!-- Beispiel: Ausgleichspolynome -->
# Anwendung/Praxis (1)

Beispieldatensatz: Ausgleichspolynome ersten bis vierten Grades ($k=1,...,4$)

```{r, echo = F, eval = F}
# Daten und Modellparameter
library(pracma)                                                                  # Polynom-Tools
fname       = "Daten/Regression_Simulation.csv"                                  # Daten-Datei
D           = read.table(fname, sep = ",", header = TRUE)                        # Dataframe
y           = D$y_i                                                              # y_i Werte
x           = D$x_i                                                              # x_i Werte
n           = length(y)                                                          # Anzahl Datenpunkte
k_max       = 4                                                                  # maximaler Polynomgrad
beta_hat    = list()                                                             # Parameterschätzerlisteninitialisierung
q           = rep(NaN,k_max)                                                     # q-Funktionswertinitialisierung

# Iteration über Ausgleichspolynome
for(k in 1:k_max){
    X = matrix(rep(1,n), nrow = n)                                               # Design-Matrix-Initialisierung
    for(i in 1:k){
        X = cbind(X,x^i)                                                         # Polynomterme
    }
    beta_hat[[k]] = solve(t(X) %*% X) %*% t(X) %*% y                             # Parameterschätzer
    q[k]          = t(y - X %*% beta_hat[[k]]) %*% (y - X %*% beta_hat[[k]])     # q-Funktionswert
}

# Visualisierung
graphics.off()
dev.new()
par(
    family      = "sans",
    mfrow       = c(2,2),
    pty         = "s",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    font.main   = 1,
    cex         = 1,
    cex.main    = 1)

# Iterationen über Subplots
for(k in 1:k_max){

    # Datenwerte
    plot(D$x_i, D$y_i,
        pch         = 16,
        xlab        = "x",
        ylab        = "y",
        xlim        = c(0,21),
        ylim        = c(-10, 40),
        main        = sprintf("k = %1.0f, q = %3.1f", k, q[k]))

    # Ausgleichspolynom
    pol         = polyval(rev(as.vector(beta_hat[[k]])), D$x_i)
    print(pol)
    lines(D$x_i, pol)

}

# Speicherung
dev.copy2pdf(
    file        = "Abbildungen/ausgleichspolynom.pdf",
    width       = 7,
    height      = 7)
```

```{r, echo = F, out.width = "60%"}
knitr::include_graphics("Abbildungen/ausgleichspolynom.pdf")
```

\vspace{-4mm}
\footnotesize
\center
$\bullet \; (x_i, y_i)$ \quad $\;$ \textbf{---} $f_{\hat{\beta}}(x) = \sum_{j=0}^k \hat{\beta}_j \, x^j$


<!-- Abschnitt 3: Einfache lineare Regression -->
#

\setstretch{2.5}
\vfill
\large

Methode der kleinsten Quadrate

Anwendung/Praxis (1)

**Einfache lineare Regression**

Anwendung/Praxis (2)

Selbstkontrollfragen

\vfill


<!-- Motivation -->
# Einfache lineare Regression

Motivation

\small
\justifying
Eine Ausgleichsgerade erlaubt Aussagen über unbeobachtete $y$-Werte für gegebene $x$-Werte. Der Wert von $q(\hat{\beta})$ quantifiziert zudem die Güte der Ausgleichsgeradenpassung. Eine Ausgleichsgerade erlaubt allerdings nur implizite Aussagen über die mit der Anpassung verbundene Unsicherheit.

In der einfachen linearen Regression wird die Idee einer Ausgleichsgerade um eine probabilistische Komponente erweitert (normalverteilte Fehlervariable), um quantitative Aussagen über die mit einer Ausgleichsgeradenanpassung verbundene Unsicherheit machen zu können. Weiterhin erlaubt die einfache lineare Regression, einen Hypothesentest-basierten Zugang zur Einschätzung der angepassten Parameterwerte $\hat{\beta}_0$ und $\hat{\beta}_1$.

Wir betrachten hier zunächst nur das probabilistische Modell der einfachen linearen Regression sowie die auf ihm basierende Maximum-Likelihood-Schätzung der Parameter $\beta_0$ und $\beta_1$. Die Bewertung von Parameterschätzerunsicherheit sowie parameterzentrierte Hypothesentests behandeln wir an späterer Stelle in verallgemeinerter Form (siehe Einheiten (5)-(8) in *Allgemeines Lineares Modell*).


<!-- Definition: Modell der einfachen linearen Regression -->
# Einfache lineare Regression

\small
\vspace{1mm}
\begin{definition}[Modell der einfachen linearen Regression]


Für $i = 1,...,n$ sei
\begin{equation} \label{eq:slr}
y_i = \beta_0 + \beta_1x_i + \varepsilon_{i} \mbox{ mit } \varepsilon_{i} \sim N(0,\sigma^2)
\end{equation}

wobei
\begin{itemize}

\item $y_i$ beobachtbare Zufallsvariablen sind, die Werte einer abhängigen Variable modellieren,

\item $x_i \in \mathbb{R}$ fest vorgegebene sogenannte \textit{Prädiktorwerte} oder \textit{Regressorwerte} sind, die Werte einer unabhängigen Variable modellieren

\item $\beta_0,\beta_1 \in \mathbb{R}$ wahre, aber unbekannte \textit{Offset- und Steigungsparameterwerte} sind und

\item $\varepsilon_{i} \sim N(0,\sigma^2)$ unabhängig und identisch normalverteilte nicht-beobachtbare Zufallsvariablen mit wahrem, aber unbekanntem \textit{Varianzparameter} $\sigma^2>0$ sind, die Fehler- oder Störvariablen modellieren.

\end{itemize}

Dann heißt \eqref{eq:slr} \textit{Modell der einfachen linearen Regression}.

\end{definition}

\footnotesize
Bemerkung
\vspace{-1mm}

* Wir bezeichnen hier mit $y_i$ sowohl die Zufallsvariable, über deren Wahrscheinlichkeitsverteilung wir Aussagen machen können (vormals $\upsilon_i$), als auch eine konkrete Realisierung dieser Zufallsvariable, die Teil eines Datensatzes darstellt. Es wird also hier nicht zwischen der Zufallsvariable $\upsilon_i$ und ihrer Realisierung $y_i$ unterschieden.

* Das Modell der einfachen linearen Regression hat drei Parameter: $\beta_0,\beta_1 \in \mathbb{R}$ und $\sigma^2 \in \mathbb{R}_{>0}$.


<!-- Theorem: Datenverteilung der einfachen linearen Regression -->
# Einfache lineare Regression

\small
\begin{theorem}[Datenverteilung der einfachen linearen Regression]

\normalfont
\justifying
Das Modell der einfachen linearen Regression
\begin{equation}
y_i = \beta_0 + \beta_1x_i + \varepsilon_{i}
\quad \mbox{ mit } \quad
\varepsilon_i \sim N(0,\sigma^2)
\quad \mbox{ u.i.v. für } \quad
i = 1,...,n
\end{equation}

lässt sich äquivalent in der Datenverteilungsform
\begin{equation} \label{eq:slr_norm}
y_i \sim N\left(\mu_i,\sigma^2\right)
\quad \mbox{ u.v. mit } \quad
\mu_i := \beta_0 + \beta_1 x_i
\quad \mbox{ und } \quad
i = 1,...,n
\end{equation}
schreiben.

\end{theorem}

\footnotesize
Bemerkung

* Die Werte der abhängigen Variable werden im Modell der einfachen linearen Regression also durch unabhängige normalverteilte Zufallsvariablen mit im Allgemeinen unterschiedlichen Erwartungswertparametern modelliert.


<!-- Beweis -->
# Einfache lineare Regression

\small
\setlength{\abovedisplayskip}{3pt}
\setlength{\belowdisplayskip}{3pt}
\setstretch{1.2}
\underline{Beweis}

Wir zeigen die Äquivalenz für ein $i$. Die Unabhängigkeit der $y_i$ zeigen wir an späterer Stelle im Rahmen des Allgemeinen Linearen Modells. Die Äquivalenz beider Modellformen für ein $i$ folgt direkt aus der Transformation normalverteilter Zufallsvariablen durch linear-affine Funktionen. Speziell gilt im vorliegenden Fall für $\varepsilon_i \sim N(0,\sigma^2)$, dass
\begin{equation}
y_i = f(\varepsilon_i)
\mbox{ mit }
f : \mathbb{R} \to \mathbb{R}, \varepsilon_i \mapsto f(\varepsilon_i) := \varepsilon_i + (\beta_0 + \beta_1x_i)
\end{equation}

Mit dem Transformationstheorem für Wahrscheinlichkeitsdichtefunktionen bei linear-affinen Abbildungen (siehe Einheit (7) in \textit{Wahrscheinlichkeitstheorie und Frequentistische Inferenz}) folgt dann
\begin{align}
\begin{split}
p(y_i)
& = \frac{1}{|1|} p_{\varepsilon_i}\left(\frac{y_i - \beta_0 - \beta_1x_i}{1} \right) \\
& = N\left(y_i - \beta_0 - \beta_1x_i; 0, \sigma^2\right) \\
& = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{1}{2\sigma^2}(y_i - \beta_0 - \beta_1x_i - 0)^2 \right) \\
& = \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{1}{2\sigma^2}\left(y_i - (\beta_0 + \beta_1x_i\right))^2 \right) \\
& = N\left(y_i; \beta_0 + \beta_1x_i,\sigma^2\right)
\end{split}
\end{align}

Definiert man $\mu_i := \beta_0 + \beta_1x_i$ für $i = 1,...,n$, ergibt sich die Aussage des Theorems.
$\hfill\Box$


<!-- Visualisierung: Modell -->
# Einfache lineare Regression

Modell der einfachen linearen Regression
\setstretch{1.2}

```{r, echo = F, eval = F}
# deterministischer Modellteil
n           = 10                              # Anzahl Datenpunkte
x           = 1:n                             # Regressorwerte
beta_0      = 0                               # Offset-Parameter
beta_1      = 1                               # Steigungsparameter
sigsqr      = 1                               # Varianzparameter
mu          = beta_0 + beta_1*x               # Erwartungswertparameter

# Visualisierung
graphics.off()
dev.new()
par(
    family      = "sans",
    mfcol       = c(1,1),
    pty         = "m",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    xpd         = TRUE,
    font.main   = 1,
    cex         = 1,
    cex.main    = 1.2)

# deterministischer Modellteil
xlimits         = c(0,11)
ylimits         = c(-3,13)
plot(x, mu,
    type        = "b",
    lty         = 2,
    pch         = 16,
    xlab        = "x",
    ylab        = "y",
    xlim        = xlimits,
    ylim        = ylimits)

# probabilistischer Modellteil
w              = 3                            # WDF support width
res            = 1e3                          # WDF resolution
for(i in 1:length(x)){
    y    = seq(mu[i]-w,mu[i]+w, len = res)
    pdfy = -dnorm(y, mu[i], sigsqr)
    lines(-pdfy+mu[i],y      , col = "gray80")
    lines(-rep(0,res)+mu[i],y, col = "gray40")
}

# Regressorwerte
points(x, rep(ylimits[1], n),
    col = "blue",
    pch = 16)

# Speichern
dev.copy2pdf(
    file        = "Abbildungen/elr_1.pdf",
    width       = 6,
    height      = 4)
```

```{r, echo = F, out.width = "90%"}
knitr::include_graphics("Abbildungen/elr_1.pdf")
```

\vspace{-4mm}
\footnotesize
\center

\textcolor{blue}{$\bullet$} $x_i$
\quad \quad
$\bullet$ $\beta_0 + \beta_1x_i$ \mbox{ für } $\beta_0 := 0$, $\beta_1 := 1$
\quad \quad
\textcolor{gray}{\textbf{---}} $N(y_i; \beta_0 + \beta_1x_i, \sigma^2)$ \mbox{ für } $\sigma^2 := 1$.


<!-- Visualisierung: Realisierungen -->
# Einfache lineare Regression

Realisierung des Modells der einfachen linearen Regression
\setstretch{1.2}

```{r, echo = F, eval = F}
# deterministischer Modellteil
n           = 10                              # Anzahl Datenpunkte
x           = 1:n                             # Regressorwerte
beta_0      = 0                               # Offset-Parameter
beta_1      = 1                               # Slope-Parameter
sigsqr      = 1                               # Varianzparameter
mu          = beta_0 + beta_1*x               # Erwartungswertparameter

# Datenrealisierung
y           = rep(NaN,n)                      # Datenarray-Initialisierung
for(i in 1:n){
    y[i] = rnorm(1,mu[i],sigsqr)              # y_i \sim N(\beta_0 + \beta_1x_i, \sigma^2)
}

# Visualisierung
graphics.off()
dev.new()
par(
    family      = "sans",
    mfcol       = c(1,1),
    pty         = "m",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    xpd         = TRUE,
    font.main   = 1,
    cex         = 1,
    cex.main    = 1.2)

# deterministischer Modellteil
xlimits         = c(0,11)
ylimits         = c(-3,13)
plot(x, mu,
    type        = "b",
    lty         = 2,
    pch         = 16,
    xlab        = "x",
    ylab        = "y",
    xlim        = xlimits,
    ylim        = ylimits)

# probabilistischer Modellteil
w               = 3                           # WDF support width
res             = 1e3                         # WDF resolution
for(i in 1:length(x)){
    yp   = seq(mu[i]-w,mu[i]+w, len = res)
    pdfy = -dnorm(yp, mu[i], sigsqr)
    lines(-pdfy+mu[i],yp      , col = "gray80")
    lines(-rep(0,res)+mu[i],yp, col = "gray40")
}

# Regressorwerte
points(x, rep(ylimits[1], n),
    col = "blue",
    pch = 16)

# Datenwerte
points(x, y,
  col = "red",
  pch = 16)

# Speichern
dev.copy2pdf(
  file        = "Abbildungen/elr_2.pdf",
  width       = 6,
  height      = 4)
```

```{r, echo = F, out.width = "90%"}
knitr::include_graphics("Abbildungen/elr_2.pdf")
```

\vspace{-4mm}
\footnotesize
\center

\textcolor{blue}{$\bullet$} $x_i$
\quad \quad
$\bullet$ $\beta_0 + \beta_1x_i$ \mbox{ für } $\beta_0 := 0$, $\beta_1 := 1$
\quad \quad
\textcolor{gray}{\textbf{---}} $N(y_i; \beta_0 + \beta_1x_i, \sigma^2)$ \mbox{ für } $\sigma^2 := 1$
\quad \quad
\textcolor{red}{$\bullet$} $(x_i,y_i)$


<!-- Theorem: Maximum-Likelihood-Schätzung -->
# Einfache lineare Regression

\small
\begin{theorem}[Maximum-Likelihood-Schätzung]

\justifying
\normalfont

Es sei
\begin{equation}
y_i = \beta_0 + \beta_1 x_i + \varepsilon_{i} \quad \mbox{ mit } \quad
\varepsilon_i \sim N(0,\sigma^2) \quad \mbox{ u.i.v. für } \quad
i = 1,...,n
\end{equation}

das Modell der einfachen linearen Regression. Dann sind Maximum-Likelihood-Schätzer der Modellparameter $\beta_0,\beta_1$ und $\sigma^2$ gegeben durch
\begin{equation}
\hat{\beta}_1  := \frac{c_{xy}}{s_x^2}, \quad
\hat{\beta}_0  := \bar{y} - \hat{\beta}_1\bar{x} \quad \mbox{ und } \quad
\hat{\sigma}^2 := \frac{1}{n}\sum_{i=1}^n \left(y_i - \left(\hat{\beta}_0 + \hat{\beta}_1 x_i\right)\right)^2 \; .
\end{equation}

\end{theorem}

\footnotesize
Bemerkungen

* \justifying In der Vergangenheit (siehe Einheit (9) in \textit{Wahrscheinlichkeitstheorie und Frequentistische Inferenz}) haben wir Maximum-Likelihood-Schätzer mit ML-Superskripten ($^{\tiny \mbox{ML}}$) gekennzeichnet. Aus Gründen der Übersichtlichkeit verzichten wir hier auf die ML-Superskripte und kennzeichnen Maximum-Likelihood-Schätzer durch das "Dach"-Zeichen ($\;\hat{\,}\;$).
* Die ML-Schätzer für $\beta_0$ und $\beta_1$ sind offenbar mit den Ausgleichsgeradenparametern identisch.


<!-- Beweis -->
# Einfache lineare Regression

\small
\setlength{\abovedisplayskip}{1pt}
\setlength{\belowdisplayskip}{1pt}
\underline{Beweis}

Wir zeigen zunächst, dass die Ausgleichsgerardenparameter $\hat{\beta}_0$ und $\hat{\beta}_1$ den entsprechenden ML-Schätzern gleichen. Dazu halten wir zunächst fest, dass aufgrund der Unabhängigkeit der $y_1, ...,y_n$ die Likelihood-Funktion des Modells der einfachen linearen Regression bezüglich $\beta_0$ und $\beta_1$ die folgende Form hat:

\begin{align}
\begin{split}
L :  \mathbb{R}^2 \to \mathbb{R}_{>0}, (\beta_0,\beta_1) \mapsto L(\beta_0,\beta_1)
& := \prod_{i=1}^n \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{1}{2\sigma^2}(y_i - (\beta_0 + \beta_1x_i))^2\right) \\
&  = \left(2\pi\sigma^2\right)^{-\frac{n}{2}}\exp\left(-\frac{1}{2\sigma^2}\sum_{i=1}^n(y_i - (\beta_0 + \beta_1x_i))^2\right) \; .
\end{split}
\end{align}

Für die Exponentialfunktion gilt: Wenn $a < b \le 0$ gilt, dann gilt $\exp(a)<\exp(b)$. Somit wird der Exponentialterm dieser Likelihood-Funktion maximal, wenn der Term
\begin{equation} \label{eq:q}
q := \sum_{i=1}^n(y_i - (\beta_0 + \beta_1x_i))^2 \ge 0
\end{equation}
minimal und damit $-q$ maximal wird. Im Rahmen des Beweises der Ausgleichsgeradenform haben wir aber schon gezeigt, dass der Term \eqref{eq:q} für
\begin{equation}
\hat{\beta}_1   := \frac{c_{xy}}{s_x^2} \mbox{ und } \hat{\beta}_0   := \bar{y} - \hat{\beta}_1\bar{x}
\end{equation}
minimal wird, und damit $\hat{\beta}_1$ und $\hat{\beta}_0$ die Likelihood-Funktion maximieren.


<!-- Beweis -->
# Einfache lineare Regression

\small
\setlength{\abovedisplayskip}{1pt}
\setlength{\belowdisplayskip}{1pt}
\underline{Beweis (fortgeführt)}

In einem zweiten Schritt betrachten wir nun die Likelihood-Funktion des Modells der einfachen linearen Regression bezüglich $\sigma^2$ an der Stelle von $\hat{\beta}_0$ und $\hat{\beta}_1$. Wir erhalten die Likelihood-Funktion
\begin{equation}
L : \mathbb{R}_{>0} \to \mathbb{R}_{>0}, \sigma^2 \mapsto L(\sigma^2)
  = \left(2\pi\sigma^2\right)^{-\frac{n}{2}}\exp\left(-\frac{1}{2\sigma^2}\sum_{i=1}^n(y_i - (\hat{\beta}_0 + \hat{\beta}_1x_i))^2\right)
\end{equation}

und die entsprechende Log-Likelihood-Funktion
\begin{equation}
\ell : \mathbb{R}_{>0} \to \mathbb{R}, \sigma^2 \mapsto \ell(\sigma^2)
     = -\frac{n}{2} \ln 2\pi - \frac{n}{2} \ln \sigma^2 -\frac{1}{2\sigma^2}\sum_{i=1}^n(y_i - (\hat{\beta}_0 + \hat{\beta}_1x_i))^2
\end{equation}

In Analogie zu der Herleitung des ML-Schätzers für $\sigma^2$ im Normalverteilungsmodell (vgl. Einheit (9) in \textit{Wahrscheinlichkeitstheorie und Frequentistische Inferenz}) ergibt sich unter Beachtung von
\begin{equation}
\hat{\mu} = \hat{\beta}_0 + \hat{\beta}_1x_i
\end{equation}

dann hier
\begin{equation}
\hat{\sigma}^2 = \frac{1}{n}\sum_{i=1}^n (y_i - (\hat{\beta}_0 + \hat{\beta}_1x_i))^2 \; .
\end{equation}
$\hfill\Box$


<!-- Abschnitt 4: Anwendung/Praxis (2) -->
#

\setstretch{2.5}
\vfill
\large

Methode der kleinsten Quadrate

Anwendung/Praxis (1)

Einfache lineare Regression

**Anwendung/Praxis (2)**

Selbstkontrollfragen

\vfill


<!-- Beispiel: Parameterschätzung -->
# Anwendung/Praxis (2)

Beispieldatensatz: Parameterschätzung
\vspace{2mm}
\setstretch{1}

\tiny
```{r, echo = T}
# Einlesen des Beispieldatensatzes
fname       = "Daten/Regression_Simulation.csv"
D           = read.table(fname, sep = ",", header = TRUE)

# Stichprobenstatistiken
n           = length(D$y_i)                                      # Anzahl Datenpunkte
x_bar       = mean(D$x_i)                                        # Stichprobenmittel der x_i-Werte
y_bar       = mean(D$y_i)                                        # Stichprobenmittel der y_i-Werte
s2x         = var(D$x_i)                                         # Stichprobenvarianz der x_i-Werte
cxy         = cov(D$x_i, D$y_i)                                  # Stichprobenkovarianz der (x_i,y_i)-Werte

# Parameteterschätzer
beta_1_hat  = cxy/s2x                                            # \hat{\beta}_1, Steigungsparameter
beta_0_hat  = y_bar - beta_1_hat*x_bar                           # \hat{\beta}_0, Offset-Parameter
sigsqr_hat  = (1/n)*sum((D$y_i-(beta_0_hat+beta_1_hat*D$x_i))^2) # \hat{\sigma}^2, Varianzparameter

# Ausgabe
cat(  "beta_0_hat:", beta_0_hat,
    "\nbeta_1_hat:", beta_1_hat,
    "\nsigsqr_hat:", sqrt(sigsqr_hat))
```


<!-- Beispiel: Datenanalyse -->
# Anwendung/Praxis (2)

Beispieldatensatz: Analyse mit `lm()`
\vspace{2mm}
\setstretch{1.2}

\tiny
```{r, echo = T}
# Einlesen des Beispieldatensatzes
library(car)
fname       = "Daten/Regression_Simulation.csv"
D           = read.table(fname, sep = ",", header = TRUE)

# Analyse mit lm()
model       = lm(formula = D$y_i ~ D$x_i, data = D)
print(model)
```


<!-- Theorem: Parameterschätzer bei Mittelwertzentrierung -->
# Anwendung/Praxis (2)

\footnotesize
\begin{theorem}[Parameterschätzer bei Mittelwertzentrierung]

\justifying
\normalfont
$\{(x_1,y_1),...,(x_n,y_n)\} \subset \mathbb{R}^2$ sei ein Datensatz und $\tilde{x}_i$ sowie $\tilde{y}_i$ seien Mittelwert-zentrierte Varianten der $x_i$-Werte bzw. $y_i$-Werte mit den Stichprobenmitteln $\bar{x}$ und $\bar{y}$:
\vspace{-1mm}
\begin{equation}
\tilde{x}_i = x_i - \bar{x}
\quad \mbox{ und } \quad
\tilde{y}_i = y_i - \bar{y}
\quad \mbox{ für } \quad
i = 1, \ldots, n \; .
\end{equation}

Dann ergeben sich folgende Ausgleichsgeradenparameter bzw. Maximum-Likelihood-Schätzer für $\beta_0$ und $\beta_1$:
\center
\vspace{3mm}
\begin{tabular}{lll}
$\hat{\beta}_1(x,y)                 = \frac{c_{xy}}{s_x^2}$ & und & $\hat{\beta}_0(x,y)                 = \bar{y} - \hat{\beta}_1 \bar{x}$ \\ \\
$\hat{\beta}_1(\tilde{x},y)         = \frac{c_{xy}}{s_x^2}$ & und & $\hat{\beta}_0(\tilde{x},y)         = \bar{y}$                         \\ \\
$\hat{\beta}_1(x,\tilde{y})         = \frac{c_{xy}}{s_x^2}$ & und & $\hat{\beta}_0(x,\tilde{y})         = - \hat{\beta}_1 \bar{x}$         \\ \\
$\hat{\beta}_1(\tilde{x},\tilde{y}) = \frac{c_{xy}}{s_x^2}$ & und & $\hat{\beta}_0(\tilde{x},\tilde{y}) = 0$                               \\
\end{tabular}

\end{theorem}

Bemerkungen

* Werden die Werte der unabhängigen und/oder der abhängigen Variable Mittelwert-zentriert, so ändert sich der Schätzer des Offset-Parameters $\beta_0$, während der Schätzer des Steigungsparameters $\beta_1$ unverändert bleibt.
* Mittelwertzentrierung verändert also nicht die Beurteilung des Einflusses der $x_i$-Werte auf die $y_i$-Werte, sondern lediglich die Interpretation des Schätzers für den Intercept-Parameter.


<!-- Beweis -->
# Anwendung/Praxis (2)

\footnotesize
\underline{Beweis}

Wir beschränken uns für den Beweis der Aussage auf das vierte Szenario, d.h. den Fall Mittelwert-zentrierter Werte für die unabhängige und die abhängige Variable. Gegeben seien also
\begin{equation} \label{eq:xy-tilde}
\tilde{x}_i = x_i - \bar{x}
\quad \mbox{ und } \quad
\tilde{y}_i = y_i - \bar{y}
\quad \mbox{ für } \quad
i = 1, \ldots, n \; .
\end{equation}

Dann ergeben sich folgende Stichprobenmittel für die Mittelwert-zentrierten $x_i$-Werte und $y_i$-Werte:
\begin{align} \label{eq:xy-tilde-mean}
\begin{split}
   \bar{\tilde{x}}
&= \frac{1}{n} \sum_{i=1}^n (x_i - \bar{x})
 = \frac{1}{n} \sum_{i=1}^n x_i - \frac{1}{n} \sum_{i=1}^n \bar{x}
 = \bar{x} - \frac{1}{n} n \bar{x}
 = \bar{x} - \bar{x}
 = 0 \\
   \bar{\tilde{y}}
&= \frac{1}{n} \sum_{i=1}^n (y_i - \bar{y})
 = \frac{1}{n} \sum_{i=1}^n y_i - \frac{1}{n} \sum_{i=1}^n \bar{y}
 = \bar{y} - \frac{1}{n} n \bar{y}
 = \bar{y} - \bar{y}
 = 0 \; .
\end{split}
\end{align}

Einsetzen in die Formeln für die Ausgleichsgeradenparameter für $\beta_0$ und $\beta_1$ ergibt:
\begin{align}
\begin{split}
   \hat{\beta}_0(\tilde{x},\tilde{y})
&= \bar{\tilde{y}} - \hat{\beta}_1 \bar{\tilde{x}}
 = 0 - \hat{\beta}_1 \cdot 0
 = 0 \\
   \hat{\beta}_1(\tilde{x},\tilde{y})
&= \frac{c_{\tilde{x}\tilde{y}}}{s_{\tilde{x}}^2}
 = \frac{\frac{1}{n-1} \sum_{i=1}^n (\tilde{x}_i - \bar{\tilde{x}})(\tilde{y}_i - \bar{\tilde{y}})}{\frac{1}{n-1} \sum_{i=1}^n (\tilde{x}_i - \bar{\tilde{x}})^2}
 = \frac{\frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x} - 0)(y_i - \bar{y} - 0)}{\frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x} - 0)^2} \\
&= \frac{\frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})^2}
 = \frac{c_{xy}}{s_x^2} \; .
\end{split}
\end{align}

Die übrigen Szenarien ergiben sich analog unter Gebrauch von \eqref{eq:xy-tilde} und \eqref{eq:xy-tilde-mean}.
$\hfill\Box$


<!-- Beispiel: Körpergröße und Körpergewicht -->
# Anwendung/Praxis (2)

Beispiel: linearer Zusammenhang von Körpergröße und Körpergewicht ($n = 100$)

\vspace{-5mm}
\begin{equation}
y_i = -100 + 1 \, x_i + \varepsilon_{i}
\quad \mbox{ mit } \quad
\varepsilon_i \sim N(0,12^2)
\quad \mbox{ für } \quad
i = 1,\ldots,n
\end{equation}

```{r, echo = F, eval = F}
# Simulation: unabhängige Variable
library(MASS)                                         # multivariate Normalverteilungen
set.seed(0)                                           # reproduzierbare Ergebnisse
n       = 100                                         # Anzahl Datenpunkte
mu_x    = 170                                         # Erwartungswert Größe
sigma_x = 10                                          # Standardabweichung Größe
x       = rnorm(n, mu_x, sigma_x)                     # unabhängige Variable

# Simulation: abhängige Variable
beta_0  =-100                                         # Offset-Parameter Größe -> Gewicht
beta_1  = 1                                           # Steigungsparameter Größe -> Gewicht
sigma   = 12                                          # Standardabweichung Gewicht
X       = matrix(c(rep(1,n), x), ncol = 2)            # Designmatrix
beta    = matrix(c(beta_0, beta_1), ncol = 1)         # Regressionskoeffizienten
mu      = X %*% beta                                  # Erwartungswert Gewicht
Sigma   = sigma^2 * diag(n)                           # Kovarianzmatrixparameter
y       = as.matrix(mvrnorm(1, mu, Sigma))            # Daten generieren

# Szenarien vorbereiten
nscn    = 4                                           # Anzahl Szenarien
x_i     = list()                                      # unabhängige Variable
y_i     = list()                                      # abhängige Variable
x_rng   = matrix(rep(0,nscn*2), ncol = 2)             # Minimum/Maximum Größe
y_rng   = matrix(rep(0,nscn*2), ncol = 2)             # Minimum/Maximum Gewicht
beta_hat= matrix(rep(0,2*nscn), nrow = 2)             # Parameterschätzer

# Iteration über Szenarien
for (k in 1:nscn) {

    # unabhängige und abhängige Variable
    if (k==1 | k==3) { x_i[[k]] = x } else { x_i[[k]] = x - mean(x) }
    if (k==1 | k==2) { y_i[[k]] = y } else { y_i[[k]] = y - mean(y) }

    # Minimum/Maximum Größe und Gewicht
    x_rng[k,]    = matrix(c(min(x_i[[k]]), max(x_i[[k]])), ncol = 2)
    y_rng[k,]    = matrix(c(min(y_i[[k]]), max(y_i[[k]])), ncol = 2)

    # Betaparameterschätzung
    X            = matrix(c(rep(1,n), x_i[[k]]), ncol = 2)
    beta_hat[,k] = solve(t(X) %*% X) %*% t(X) %*% y_i[[k]]

}

# Abbildungsparameter
graphics.off()
dev.new()
par(
    family      = "sans",
    mfrow       = c(2,2),
    mar         = c(4,4,2,2),
    pty         = "s",
    bty         = "l",
    lwd         = 1,
    las         = 1,
    mgp         = c(2,1,0),
    xaxs        = "i",
    yaxs        = "i",
    font.main   = 1,
    cex         = 1,
    cex.lab     = 0.8,
    cex.axis    = 0.8,
    cex.main    = 1)

# Iteration über Subplots
for (k in 1:nscn) {

    # Datenwerte
    plot(x_i[[k]], y_i[[k]],
        pch         = 16,
        xlab        = "Körpergröße [cm]",
        ylab        = "Körpergewicht [kg]",
        xlim        = c(x_rng[k,1]-(1/10)*(x_rng[k,2]-x_rng[k,1]),
                        x_rng[k,2]+(1/10)*(x_rng[k,2]-x_rng[k,1])),
        ylim        = c(y_rng[k,1]-(1/10)*(y_rng[k,2]-y_rng[k,1]),
                        y_rng[k,2]+(1/10)*(y_rng[k,2]-y_rng[k,1])),
        main        = TeX(sprintf("\\hat{\\beta}0 = %0.2f, \\hat{\\beta}1 = %0.2f",
                                  beta_hat[1,k], beta_hat[2,k])))
    
    # Ausgleichsgerade
    abline(
        coef        = c(beta_hat[1,k], beta_hat[2,k]),
        lty         = 1,
        col         = "black")

}

# Speicherung
dev.copy2pdf(
    file        = "Abbildungen/beispiel_groesse_gewicht.pdf",
    width       = 7,
    height      = 7)
```

```{r, echo = F, out.width = "60%"}
knitr::include_graphics("Abbildungen/beispiel_groesse_gewicht.pdf")
```

\vspace{-2.5mm}
\footnotesize
\center
$\bullet \; (x_i, y_i), \; (\tilde{x}_i, y_i), \; (x_i, \tilde{y}_i), \; (\tilde{x}_i, \tilde{y}_i)$
\quad $\;$
\textbf{---} $f_{\hat{\beta}}(x) = \hat{\beta}_0 + \hat{\beta}_1 x$


<!-- Anhang: Selbstkontrollfragen -->
#

\setstretch{2.5}
\vfill
\large

Methode der kleinsten Quadrate

Anwendung/Praxis (1)

Einfache lineare Regression

Anwendung/Praxis (2)

**Selbstkontrollfragen**

\vfill


<!-- Selbstkontrollfragen -->
# Selbstkontrollfragen

\footnotesize
\setstretch{2}

1. Geben Sie die funktionale Form eine linear-affinen Funktion an.
1. Erläutern Sie die Bedeutung der Parameter einer linear-affinen Funktion.
1. Definieren Sie den Begriff der der Ausgleichsgerade.
1. Erläutern Sie die intuitive Bedeutung der Funktion der quadrierten vertikalen Abweichungen.
1. Geben Sie das Theorem zu den Ausgleichsgeradenparametern wieder.
1. Skizzieren Sie den Beweis des Theorems zur Ausgleichsgeraden.
1. Erläutern Sie die Motivation des einfachen linearen Regressionsmodells in Bezug auf die Ausgleichsgerade.
1. Definieren Sie das Modell der einfachen linearen Regression.
1. Geben Sie das Theorem zur Datenverteilung der einfachen linearen Regression wieder.
1. Skizzieren Sie eine Realisierung des Modells der einfachen linearen Regression per Hand. 
1. Geben Sie das Theorem zur ML-Schätzung der Parameter der einfachen linearen Regression an.
1. Skizzieren Sie den Beweis des Theorems zur ML-Schätzung der Parameter der einfachen linearen Regression.
1. Geben Sie das Theorem zu Parameterschätzern bei Mittelwertzentrierung wieder.
1. Erläutern Sie die Konsequenzen von Mittelwertzentrierung im Modell der einfachen linearen Regression.