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


# {.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 2026

\vspace{5mm}
Joram Soch


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

\vfill
\center
\huge
\textcolor{black}{(14) Multiple Regression}
\vfill


<!-- Inhaltsverzeichnis -->
#

\large
\setstretch{2.5}
\vfill

Anwendungsszenario

Modellformulierung

Modellschätzung

Modellevaluation

Anwendung/Praxis

Selbstkontrollfragen

\vfill


<!-- Abschnitt 1: Anwendungsszenario -->
#

\large
\setstretch{2.5}
\vfill

**Anwendungsszenario**

Modellformulierung

Modellschätzung

Modellevaluation

Anwendung/Praxis

Selbstkontrollfragen

\vfill


<!-- Anwendungsbeispiel -->
# Anwendungsszenario

\textcolor{darkblue}{Anwendungsszenario}

\small
* Generalisierung der einfachen linearen Regression zu mehr als einer unabhängigen Variable.
* Eine univariate abhängige Variable (AV) bestimmt an randomisierten experimentellen Einheiten.
* Zwei oder mehr "kontinuierliche" unabhängige Variablen (UV).
* Die unabhängigen Variablen heißen Regressoren, Prädiktoren oder Kovariaten.

\vspace{2mm}
\normalsize
\textcolor{darkblue}{Ziele}

\small
* Quantifizierung des Einflusses einzelner UVs auf die AV im Kontext anderer UVs.
* Quantifizierung des Erklärungspotentials der Variation der AV durch die Variation der UVs.
* Vorhersage von Werten der AV aus (neuen) Werten der UVs nach Parameterschätzung.

\vspace{2mm}
\normalsize
\textcolor{darkblue}{Anwendungsbeispiel}

\small
* BDI-Differenzwerte (`dBDI`) in Abhängigkeit von Therapiedauer (`Duration`) und Alter (`Age`)


<!-- Beispieldatensatz -->
# Anwendungsszenario

\vspace{2mm}
\textcolor{darkblue}{Beispieldatensatz} ($n = 100$; hier: $i = 1,...,25$)

\footnotesize
\setstretch{1}
```{r, echo = F}
fname      = "Daten/Multiple_Regression_Daten.csv"
D          = read.table(fname, sep = ",", header = TRUE)
knitr::kable(round(D[1:25,2:5]), "pipe")
```


<!-- Abschnitt 2: Modellformulierung -->
#

\large
\setstretch{2.5}
\vfill

Anwendungsszenario

**Modellformulierung**

Modellschätzung

Modellevaluation

Anwendung/Praxis

Selbstkontrollfragen

\vfill


<!-- Definition: Modell der multiplen Regression -->
# Modellformulierung

\footnotesize
\setstretch{1.2}
\begin{definition}[Modell der multiplen Regression]

\justifying
$y_i$ mit $i = 1,...,n$ sei die Zufallsvariable, die den $i$ten Wert einer abhängigen Variable modelliert. Dann hat das \textit{Modell der multiplen Regression} die strukturelle Form
\begin{equation}
y_i = x_{i1}\beta_1 + \cdots + x_{ip}\beta_p + \varepsilon_i
\quad \mbox{mit} \quad
\varepsilon_i \sim N(0,\sigma^2)
\quad \mbox{u.i.v. für} \quad
i = 1,...,n
\quad \mbox{und} \quad
\sigma^2 > 0,
\end{equation}

wobei $x_{ij} \in \mathbb{R}$ mit $1 \le i \le n$ und $1 \le j \le p$ den $i$ten Wert der $j$te unabhängigen Variable bezeichnet. Die unabhängigen Variablen werden auch \textit{Regressoren}, \textit{Prädiktoren} oder \text{Kovariaten} genannt. Mit
\begin{equation}
x_i := (x_{i1}, ..., x_{ip})^\mathrm{T} \in \mathbb{R}^p
\quad \mbox{und} \quad
\beta := (\beta_1,..., \beta_p)^\mathrm{T} \in \mathbb{R}^p
\end{equation}

hat das Modell der multiplen Regression die Datenverteilungsform
\begin{equation}
y_i \sim N(\mu_i,\sigma^2)
\quad \mbox{u.v. für} \quad
i = 1,...,n,
\quad \mbox{wobei} \quad
\mu_i := x_i^\mathrm{T}\beta.
\end{equation}

In diesem Zusammenhang wird $x_i \in \mathbb{R}^p$ auch als $i$ter \textit{Merkmalsvektor} bezeichnet. Die Designmatrixform des Modells der multiplen Regression schließlich ist gegeben durch
\begin{equation}
y = X\beta + \varepsilon
\quad \mbox{mit} \quad
\varepsilon \sim N(0_n,\sigma^2I_n),
\end{equation}

wobei
\begin{equation}
y     := (y_1,...,y_n)^\mathrm{T}, \quad
X     := (x_{ij})_{1 \le i \le n, 1 \le j \le p} \in \mathbb{R}^{n \times p}, \quad
\beta := (\beta_1,...,\beta_p)^\mathrm{T} \in \mathbb{R}^p
\quad \mbox{und} \quad
\sigma^2 > 0.
\end{equation}

\end{definition}

\vspace{-2mm}
Bemerkung

* Das Modell der multiplen Regression und die allgemeine Form des ALMs sind identisch.


<!-- Designmatrix des Modells -->
# Modellformulierung

Designmatrix des Modells der multiplen Regression ($n = 20$, $p = 5$)

```{r, echo = F, eval = F}
# Designmatrixerzeugung
set.seed(1)                                 # reproduzierbare Ergebnisse
e      = 0.5                                # Wert für Null in Visualisierung
de     = 0.1                                # vom Wert zu korrigierende Abweichung
n      = 20                                 # Anzahl von Datenpunkten
p      = 5                                  # Anzahl von Regressoren
X      = matrix(rep(1,n), nrow = n)         # Initialisierung Designmatrix
for (i in 2:p) {
    x  = runif(n, -1, +1)                   # i-ter Regressor
    x[x>e-de & x<e] = x[x>e-de & x<e] - de
    x[x>e & x<e+de] = x[x>e & x<e+de] + de
    X  = cbind(X, matrix(x, nrow = n))      # n x p Designmatrix
}
Xp     = X

# Abbildungsparameter
library(plot.matrix)
graphics.off()
dev.new()
par(
    family    = "sans",
    mar       = c(1,1,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  = 2)

# Designmatrix
plot(Xp,
    col       = gray(seq(0, 1, length.out = 256)),
    border    = "black",
    xlab      = '',
    ylab      = '',
    main      = '',
    breaks    = seq(-1, 1, length.out = 257),
    key       = NULL,
    axis.col  = NULL,
    axis.row  = NULL,
    asp       = 1)

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

\vspace{2mm}
```{r, echo = F, out.width = "60%", fig.align = "center"}
knitr::include_graphics("Abbildungen/mlr_designmatrix.pdf")
```


<!-- Erzeugung des Beispieldatensatzes -->
# Modellformulierung

\vspace{2mm}
\textcolor{darkblue}{Beispieldatensatzerzeugung}
\vspace{2mm}

\footnotesize
```{r, echo = T}
# Datensimulation
library(MASS)                                          # multivariate Normalverteilung
set.seed(10)                                           # reproduzierbare Daten
n            = 100                                     # Anzahl Datenpunkte
p            = 3                                       # Anzahl Parameter
x_1          = round(runif(n,20,80))                   # Regressorwerte Alter
x_2          = round(runif(n,12,24))                   # Regressorwerte Therapiedauer
X            = matrix(c(rep(1,n),x_1,x_2), nrow = n)   # Designmatrix
I_n          = diag(n)                                 # Identitätsmatrix
beta         = matrix(c(5,-0.5,2), nrow = p)           # Betaparametervektor
sigsqr       = 10                                      # Varianzparameter
y            = mvrnorm(1, X %*% beta, sigsqr*I_n)      # eine Realisierung des n-dimensionalen ZVs

# Dataframeformatierung
D            = data.frame("ID" = 1:n)                  # Dataframe-Initialisierung und ID-Variable
D$Age        = x_1                                     # Alter
D$Duration   = x_2                                     # Therapiedauer
D$dBDI       = y                                       # BDI-Differenzwerte

# Datenspeicherung
write.csv(D, file = "Daten/Multiple_Regression_Daten.csv")
```
\vfill


<!-- Visualisierung des Beispieldatensatzes -->
# Modellformulierung

\vspace{2mm}
\textcolor{darkblue}{Beispieldatenvisualisierung}
\vspace{2mm}

\footnotesize
```{r, echo = T, warning = F}
# Daten einlesen
fname      = "Daten/Multiple_Regression_Daten.csv"
D          = read.table(fname, sep = ",", header = TRUE)

# Visualisierung mit der Funktion scatter3d() aus dem Package "car"
library(car)
scatter3d(D$Age, D$dBDI, D$Duration,
    xlab        = "Alter",
    ylab        = "dBDI",
    zlab        = "Therapiedauer",
    point.col   = "gray40",
    axis.col    = rep("black",3),
    axis.scales = T,
    axis.ticks  = T,
    surface     = F)
```
\vfill


<!-- Beispieldatensatz -->
# Modellformulierung

\vspace{2mm}
\textcolor{darkblue}{Beispieldatenvisualisierung}

\vspace{2mm}
```{r, echo = F, out.width = "60%", fig.align = "center"}
knitr::include_graphics("Abbildungen/beispieldatensatz.png")
```


<!-- Abschnitt 3: Modellschätzung -->
#

\large
\setstretch{2.5}
\vfill

Anwendungsszenario

Modellformulierung

**Modellschätzung**

Modellevaluation

Anwendung/Praxis

Selbstkontrollfragen

\vfill


<!-- Überblick -->
# Modellschätzung

\textcolor{darkblue}{Überblick}

\small
Der Betaparameterschätzer hat bekanntlich die Form
\begin{equation}
\hat{\beta} := (X^\mathrm{T}X)^{-1}X^\mathrm{T}y
\end{equation}

Dabei quantifizieren in sehr grober Auflösung

* $X^\mathrm{T}y \in \mathbb{R}^p \quad$ die Kovariabilität der Regressoren mit den Daten und
* $X^\mathrm{T}X \in \mathbb{R}^{p \times p} \quad$ die Kovariabilität der Regressoren untereinander.

Damit ergibt sich für die Betaparameterschätzer also eine Interpretation als "regressorkovariabilitätsnormalisierte Regressordatenkovariabilität":
\begin{equation}
\hat{\beta} \approx \mbox{Regressorkovariabilität}^{-1} \cdot \mbox{Regresssordatenkovariabilität}.
\end{equation}

Im Folgenden wollen wir diese Intuition am Beispiel einer einfachen multiplen Regression mit einem Interzeptregressor und zwei unabhängigen Variablen Regressoren vertiefen, wobei die betreffenden Kovariabilitäten einmal durch Stichprobenkorrelationen und einmal durch partielle Stichprobenkorrelationen quantifiziert werden sollen.


<!-- Theorem: Betaparameterschätzer und Korrelationen -->
# Modellschätzung

\footnotesize
\begin{theorem}[Betaparameterschätzer und Korrelationen]

\justifying
\normalfont
Gegeben sei ein multiples Regressionsmodel der Form
\begin{equation}
y = X\beta + \varepsilon, \varepsilon \sim N(0_n,\sigma^2I_n)
\quad \mbox{mit} \quad
X :=
\begin{pmatrix}
1      & x_{11} & x_{12} \\
\vdots & \vdots & \vdots \\
1      & x_{n1} & x_{n2} \\
\end{pmatrix}
\quad \mbox{und} \quad
\beta :=
\begin{pmatrix}
\beta_0 \\
\beta_1 \\
\beta_2
\end{pmatrix}.
\end{equation}

Dann gilt
\begin{equation}
\renewcommand{\arraystretch}{1.8}
\hat{\beta} =
\begin{pmatrix}
\bar{y} - \hat{\beta}_1\bar{x}_1 - \hat{\beta}_2\bar{x}_2                        \\
\frac{r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2} \frac{s_{y}}{s_{x_1}} \\
\frac{r_{y,x_2} - r_{y,x_1}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2} \frac{s_{y}}{s_{x_2}} \\
\end{pmatrix},
\end{equation}

wobei $\bar{x}$ ein Stichprobenmittel, $s_x$ eine Stichprobenstandardabweichunge und $r_{x,y}$ eine Stichprobenkorrelation für die entsprechenden $y_i$, $x_{i1}$ und $x_{i2}$ mit $i = 1,...,n$ bezeichnet.

\end{theorem}

Bemerkungen

* \justifying In Bezug auf die Regressoren sind die Begriffe Stichprobenmittel, Stichprobenstandardabweichung, und Stichprobenkorrelation lediglich formal gemeint, nach Voraussetzung des ALMs sind die Regressorenwerte keine Realisierungen von Zufallsvariablen.


<!-- Bemerkungen -->
# Modellschätzung

\small
Bemerkungen (fortgeführt)

\footnotesize
Exemplarisch betrachten wir
\begin{equation}
\hat{\beta}_1 = \frac{r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2} \frac{s_{y}}{s_{x_1}}.
\end{equation}

Man erkennt unter anderem:
\setstretch{1.5}

* Im Fall $r_{x_1,x_2} = 0$ und $s_y = s_{x_1}$ gilt $\hat{\beta}_1 = r_{y,x_1}$.

* Im Fall maximaler Korrelation $r_{x_1,x_2} = \pm1$ ist $\hat{\beta}_1$ nicht definiert.

* Je größer $|r_{x_1,x_2}|$, desto größer der von $r_{y,x_1}$ subtrahierte Term $r_{y,x_2}r_{x_1,x_2}$.

* Je größer $|r_{y,x_2}|$, desto größer der von $r_{y,x_1}$ subtrahierte Term $r_{y,x_2}r_{x_1,x_2}$.

* Je größer also die Korrelation von $x_2$ mit $x_1$ oder die Korrelation von $x_2$ mit den Daten ist, desto mehr wird von dem Term $r_{y,x_1}$ abgezogen, der die Kovariabilität von $x_1$ mit den Daten repräsentiert.

* Bei identischen Korrelationen und gleich bleibender Regressorstandabweichung steigt $\hat{\beta}_1$ mit $s_{y}$.


<!-- Beweis -->
# Modellschätzung

\small
\underline{Beweis}

Wir erinnern zunächst daran, dass die Form des Betaparameterschätzers bekanntlich zum System der Normalengleichungen äquivalent ist (vgl. Einheit (6) in *Allgemeines Lineares Modell*):
\begin{equation}
\hat{\beta} = (X^\mathrm{T}X)^{-1}X^\mathrm{T}y
\quad \Leftrightarrow \quad
X^\mathrm{T}X\hat{\beta} = X^\mathrm{T}y.
\end{equation}

Ausschreiben des Normalengleichungssystems für den hier betrachteten Spezialfall des ALMs ergibt dann zunächst
\tiny
\begin{align*}
\renewcommand{\arraystretch}{1.5}
\begin{split}
X^\mathrm{T}X\hat{\beta} & = X^\mathrm{T}y \\
\Leftrightarrow
\begin{pmatrix}
1      & \cdots & 1      \\
x_{11} & \cdots & x_{n1} \\
x_{12} & \cdots & x_{n2} \\
\end{pmatrix}
\begin{pmatrix}
1      & x_{11} & x_{12} \\
\vdots & \vdots & \vdots \\
1      & x_{n1} & x_{n2} \\
\end{pmatrix}
\begin{pmatrix}
\hat{\beta}_0 \\
\hat{\beta}_1 \\
\hat{\beta}_2 \\
\end{pmatrix}
& =
\begin{pmatrix}
1      & \cdots & 1      \\
x_{11} & \cdots & x_{n1} \\
x_{12} & \cdots & x_{n2} \\
\end{pmatrix}
\begin{pmatrix}
y_1    \\
\vdots \\
y_n
\end{pmatrix} \\
\Leftrightarrow
\begin{pmatrix*}[l]
n                   & \sum_{i=1}^n x_{i1}       & \sum_{i=1}^n x_{i2}       \\
\sum_{i=1}^n x_{i1} & \sum_{i=1}^n x_{i1}^2     & \sum_{i=1}^n x_{i1}x_{i2} \\
\sum_{i=1}^n x_{i2} & \sum_{i=1}^n x_{i2}x_{i1} & \sum_{i=1}^n x_{i2}^2     \\
\end{pmatrix*}
\begin{pmatrix}
\hat{\beta}_0 \\
\hat{\beta}_1 \\
\hat{\beta}_2 \\
\end{pmatrix}
& =
\begin{pmatrix*}[l]
\sum_{i=1}^n y_i       \\
\sum_{i=1}^n y_ix_{i1} \\
\sum_{i=1}^n y_ix_{i2} \\
\end{pmatrix*}
\end{split}
\end{align*}


<!-- Beweis -->
# Modellschätzung

\small
\underline{Beweis (fortgeführt)}

und damit
\footnotesize
\begin{align*}
\renewcommand{\arraystretch}{1.5}
\begin{split}
X^\mathrm{T}X\hat{\beta}
& =
X^\mathrm{T}y \\
\Leftrightarrow
\begin{pmatrix*}
n\hat{\beta}_0 + \hat{\beta}_1\sum_{i=1}^n x_{i1} + \hat{\beta}_2\sum_{i=1}^n x_{i2}                               \\
\hat{\beta}_0 \sum_{i=1}^n x_{i1} +  \hat{\beta}_1 \sum_{i=1}^n x_{i1}^2 + \hat{\beta}_2 \sum_{i=1}^n x_{i1}x_{i2} \\
\hat{\beta}_0 \sum_{i=1}^n x_{i2} +  \hat{\beta}_1 \sum_{i=1}^n x_{i1}x_{i2} + \hat{\beta}_2 \sum_{i=1}^n x_{i2}^2
\end{pmatrix*}
& =
\begin{pmatrix*}[l]
\sum_{i=1}^n y_i       \\
\sum_{i=1}^n y_ix_{i1} \\
\sum_{i=1}^n y_ix_{i2} \\
\end{pmatrix*}
\end{split}
\end{align*}

\small
Aus der Gleichung der ersten Vektorkomponenten folgt dann direkt die Form von $\hat{\beta}_0$ mit
\footnotesize
\begin{align}
\begin{split}
\sum_{i=1}^n y_i
& = n\hat{\beta}_0 + \hat{\beta}_1\sum_{i=1}^n x_{i1}            + \hat{\beta}_2\sum_{i=1}^n x_{i2}            \\
\Leftrightarrow
\frac{1}{n}\sum_{i=1}^n y_i
& = \hat{\beta}_0  + \hat{\beta}_1\frac{1}{n}\sum_{i=1}^n x_{i1} + \hat{\beta}_2\frac{1}{n}\sum_{i=1}^n x_{i2} \\
\Leftrightarrow
\hat{\beta}_0
& = \bar{y} - \hat{\beta}_1\bar{x}_1 - \hat{\beta}_2\bar{x}_2
\end{split}
\end{align}


<!-- Beweis -->
# Modellschätzung

\small
\underline{Beweis (fortgeführt)}

Einsetzen dieser Form von $\hat{\beta}_0$ in die Gleichung der zweiten Vektorkomponenten ergibt dann
\footnotesize
\begin{align*}
\begin{split}
  \hat{\beta}_0 \sum_{i=1}^n x_{i1}
+ \hat{\beta}_1 \sum_{i=1}^n x_{i1}^2
+ \hat{\beta}_2 \sum_{i=1}^n x_{i1}x_{i2}
& =
\sum_{i=1}^n y_i x_{i1} \\
\Leftrightarrow
  (\bar{y} - \hat{\beta}_1\bar{x}_1 - \hat{\beta}_2\bar{x}_2) \sum_{i=1}^n x_{i1}
+ \hat{\beta}_1 \sum_{i=1}^n x_{i1}^2
+ \hat{\beta}_2 \sum_{i=1}^n x_{i1}x_{i2}
& =
\sum_{i=1}^n y_ix_{i1} \\
\Leftrightarrow
  \bar{y}\sum_{i=1}^n x_{i1}
- \hat{\beta}_1\bar{x}_1\sum_{i=1}^n x_{i1}
- \hat{\beta}_2\bar{x}_2\sum_{i=1}^n x_{i1}
+ \hat{\beta}_1 \sum_{i=1}^n x_{i1}^2
+ \hat{\beta}_2 \sum_{i=1}^n x_{i1}x_{i2}
& =
\sum_{i=1}^n y_ix_{i1} \\
\Leftrightarrow
  \hat{\beta}_1 \sum_{i=1}^n x_{i1}^2
- \hat{\beta}_1\bar{x}_1\sum_{i=1}^n x_{i1}
+ \hat{\beta}_2 \sum_{i=1}^n x_{i1}x_{i2}
- \hat{\beta}_2\bar{x}_2\sum_{i=1}^n x_{i1}
& =
  \sum_{i=1}^n y_ix_{i1}
- \bar{y}\sum_{i=1}^n x_{i1} \\
\Leftrightarrow
  \hat{\beta}_1 \left( \sum_{i=1}^n x_{i1}^2     - \bar{x}_1\sum_{i=1}^n x_{i1} \right)
+ \hat{\beta}_2 \left( \sum_{i=1}^n x_{i1}x_{i2} - \bar{x}_2\sum_{i=1}^n x_{i1} \right)
& =
  \sum_{i=1}^n y_ix_{i1}
- \bar{y} \sum_{i=1}^n x_{i1}
\end{split}
\end{align*}


<!-- Beweis -->
# Modellschätzung

\small
\underline{Beweis (fortgeführt)}

Im Beweis des Theorems zur Ausgleichsgerade (vgl. Einheit (1) in *Allgemeines Lineares Modell*) haben wir gesehen, dass
\begin{align}
\sum_{i=1}^n x_{i1}x_{i1} - \bar{x}_1\sum_{i=1}^n x_{i1} & = \sum_{i=1}^n (x_{i1} - \bar{x}_1)(x_{i1} - \bar{x}_1), \\
\sum_{i=1}^n x_{i1}x_{i2} - \bar{x}_2\sum_{i=1}^n x_{i1} & = \sum_{i=1}^n (x_{i1} - \bar{x}_1)(x_{i2} - \bar{x}_2) \mbox{ und } \\
\sum_{i=1}^n y_ix_{i1}    - \bar{y}  \sum_{i=1}^n x_{i1} & = \sum_{i=1}^n (y_i    - \bar{y}  )(x_{i1} - \bar{x}_1)
\end{align}


<!-- Beweis -->
# Modellschätzung

\small
\underline{Beweis (fortgeführt)}

Es ergibt sich also, dass
\footnotesize
\begin{align}
\begin{split}
  \hat{\beta}_1 \sum_{i=1}^n (x_{i1}-\bar{x}_1)(x_{i1}-\bar{x}_1)
+ \hat{\beta}_2 \sum_{i=1}^n (x_{i1}-\bar{x}_1)(x_{i2}-\bar{x}_2)
& =
\sum_{i=1}^n (y_i-\bar{y})(x_{i1}-\bar{x}_1) \\
\Leftrightarrow
  \hat{\beta}_1 \frac{\sum_{i=1}^n (x_{i1}-\bar{x}_1)(x_{i1}-\bar{x}_1)}{n-1}
+ \hat{\beta}_2 \frac{\sum_{i=1}^n (x_{i1}-\bar{x}_1)(x_{i2}-\bar{x}_2)}{n-1}
& =
\frac{\sum_{i=1}^n (y_i-\bar{y})(x_{i1}-\bar{x}_1)}{n-1}.
\end{split}
\end{align}

\small
Mit den Definitionen von Stichprobenstandardabweichung und -korrelation folgt dann weiter
\footnotesize
\begin{align}
\begin{split}
  \hat{\beta}_1  s_{x_1}s_{x_1}
+ \hat{\beta}_2c_{x_1,x_2}
& =
c_{y,x_1} \\
\Leftrightarrow
  \hat{\beta}_1  \frac{s_{x_1}s_{x_1}}{s_y s_{x_1}}
+ \hat{\beta}_2  \frac{c_{x_1,x_2}}{s_y s_{x_1}}
& =
\frac{c_{y,x_1}}{s_y s_{x_1}} \\
\Leftrightarrow
  \hat{\beta}_1  \frac{s_{x_1}}{s_y}
+ \hat{\beta}_2  \frac{c_{x_1,x_2}}{s_y s_{x_1}}
& =
r_{y,x_1} \\
\Leftrightarrow
  \hat{\beta}_1  \frac{s_{x_1}}{s_y}
+ \hat{\beta}_2  \frac{c_{x_1,x_2}s_{x_2}}{s_y s_{x_1}s_{x_2}}
& =
r_{y,x_1} \\
\Leftrightarrow
  \hat{\beta}_1  \frac{s_{x_1}}{s_y}
+ \hat{\beta}_2  \frac{s_{x_2}}{s_y}r_{x_1,x_2}
& =
r_{y,x_1}
\end{split}
\end{align}


<!-- Beweis -->
# Modellschätzung

\small
\underline{Beweis (fortgeführt)}

Definition von
\begin{equation}
b_j  := \frac{s_{x_j}}{s_{y}}, \quad j = 1,2
\end{equation}

erlaubt dann die Schreibweise
\begin{equation}
b_1 + b_2 r_{x_1,x_2} = r_{y,x_1}.
\end{equation}

Durch Vertauschen der Subskripte folgt analog aus der Gleichung der dritten Vektorkomponenten
\begin{equation}
b_1r_{x_1,x_2} + b_2  = r_{y,x_2}.
\end{equation}

Insgesamt haben wir also gesehen, dass die Definition des Betaparameterschätzers im vorliegenden ALM-Spezialfall ergibt, dass mit
\begin{equation}
\hat{\beta}_j  = b_j \frac{s_{y}}{s_{x_j}}, \quad j = 1,2
\end{equation}

gilt, dass
\begin{align}
\begin{split}
r_{y,x_1} & = b_1 + b_2 r_{x_1,x_2} \\
r_{y,x_2} & = b_1 r_{x_1,x_2} + b_2
\end{split}
\end{align}


<!-- Beweis -->
# Modellschätzung

\small
\underline{Beweis (fortgeführt)}

Damit folgt aus der zweiten Gleichung dann sofort
\begin{equation}
b_2 = r_{y,x_2} - b_1r_{x_1,x_2}.
\end{equation}

Einsetzen in die erste Gleichung ergibt dann
\begin{align}
\begin{split}
b_1 + (r_{y,x_2} - b_1r_{x_1,x_2}) r_{x_1,x_2} & = r_{y,x_1} \\
\Leftrightarrow
b_1 + r_{y,x_2}r_{x_1,x_2} - b_1r_{x_1,x_2}^2  & = r_{y,x_1} \\
\Leftrightarrow
r_{y,x_2}r_{x_1,x_2} + b_1\left(1 - r_{x_1,x_2}^2\right) & = r_{y,x_1} \\
\Leftrightarrow
b_1\left(1 - r_{x_1,x_2}^2\right) & = r_{y,x_1} -  r_{y,x_2}r_{x_1,x_2} \\
\Leftrightarrow
b_1 & = \frac{r_{y,x_1} -  r_{y,x_2}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2}
\end{split}
\end{align}


<!-- Beweis -->
# Modellschätzung

\vspace{2mm}
\small
\underline{Beweis (fortgeführt)}

Für $b_2$ ergibt sich damit weiterhin
\begin{align}
\begin{split}
b_2 & = r_{y,x_2} - b_1r_{x_1,x_2} \\
\Leftrightarrow
b_2 & = r_{y,x_2} - \left(\frac{r_{y,x_1} -  r_{y,x_2}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2}\right)r_{x_1,x_2} \\
\Leftrightarrow
b_2 & = \frac{r_{y,x_2}\left(1 - r_{x_1,x_2}^2\right)}{1 - r_{x_1,x_2}^2} - \frac{r_{y,x_1}r_{x_1,x_2} -  r_{y,x_2}r_{x_1,x_2}^2}{1 - r_{x_1,x_2}^2} \\
\Leftrightarrow
b_2 & = \frac{r_{y,x_2} - r_{y,x_2}r_{x_1,x_2}^2 - r_{y,x_1}r_{x_1,x_2} +  r_{y,x_2}r_{x_1,x_2}^2}{1 - r_{x_1,x_2}^2} \\
\Leftrightarrow
b_2 & = \frac{r_{y,x_2} - r_{y,x_1}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2}.
\end{split}
\end{align}

\vspace{-2mm}
Damit folgen dann aber
\begin{align}
\begin{split}
\hat{\beta}_1 & = b_1 \frac{s_{y}}{s_{x_1}} = \left(\frac{r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2} \right) \frac{s_{y}}{s_{x_1}} \\
\hat{\beta}_2 & = b_2 \frac{s_{y}}{s_{x_2}} = \left(\frac{r_{y,x_2} - r_{y,x_1}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2} \right) \frac{s_{y}}{s_{x_2}} \\
\end{split}
\end{align}

\vspace{-2mm}
und es ist alles gezeigt.
$\hfill\Box$


<!-- Anwendungsbeispiel -->
# Modellschätzung

\vspace{2mm}
\textcolor{darkblue}{Anwendungsbeispiel}
\vspace{2mm}

\footnotesize
\setstretch{1}
```{r, echo = T}
# Daten einlesen
fname      = "Daten/Multiple_Regression_Daten.csv"
D          = read.table(fname, sep = ",", header = TRUE)

# Modellschätzung
y          = D$dBDI                                              # abhängige Variable
n          = length(y)                                           # Anzahl Datenpunkte
X          = matrix(c(rep(1,n), D$Age, D$Duration), nrow = n)    # Designmatrix
beta_hat   = solve(t(X) %*% X) %*% t(X) %*% y                    # Betaparameterschätzer
eps_hat    = y - X %*% beta_hat                                  # Residuenvektor
sigsqr_hat = (t(eps_hat) %*% eps_hat) /(n-p)                     # Varianzparameterschätzer

# Betaparameterschätzer aus Stichprobenmittel, -standardabweichungen und -korrelationen
y12        = cbind(y,X[,-1])                                     # Matrix (y, x_1, x_2)
bars       = apply(y12, 2, mean)                                 # Stichprobenmittel
s          = apply(y12, 2, sd)                                   # Stichprobenstandardabweichungen
r          = cor(y12)                                            # Stichprobenkorrelationen
beta_hat_1 = (r[1,2] - r[1,3]*r[2,3])/(1 - r[2,3]^2)*(s[1]/s[2]) # \hat{\beta}_1
beta_hat_2 = (r[1,3] - r[1,2]*r[2,3])/(1 - r[2,3]^2)*(s[1]/s[3]) # \hat{\beta}_2
beta_hat_0 = bars[1] - beta_hat_1*bars[2] - beta_hat_2*bars[3]   # \hat{\beta}_0

# Ausgabe
cat(  "beta_hat ALM-Schätzer          :", beta_hat,
    "\nbeta_hat Deskriptivstatistiken :", c(beta_hat_0,beta_hat_1,beta_hat_2))
```


<!-- Anwendungsbeispiel -->
# Modellschätzung

\vspace{2mm}
\textcolor{darkblue}{Beispieldatenvisualisierung}
\vspace{2mm}

\footnotesize
```{r, echo = T, warning = F}
# Daten einlesen
fname      = "Daten/Multiple_Regression_Daten.csv"
D          = read.table(fname, sep = ",", header = TRUE)

# Visualisierung mit der Funktion scatter3d() aus dem Package "car"
library(car)
scatter3d(D$Age, D$dBDI, D$Duration,
    xlab        = "Alter",
    ylab        = "dBDI",
    zlab        = "Therapiedauer",
    point.col   = "gray40",
    axis.col    = rep("black",3),
    axis.scales = T,
    axis.ticks  = T,
    surface     = T,
    surface.col = "gray70",
    neg.res.col = "gray70",
    pos.res.col = "gray70")
```


<!-- Anwendungsbeispiel -->
# Modellschätzung

\vspace{2mm}
\textcolor{darkblue}{Beispieldatenvisualisierung}

\vspace{2mm}
```{r, echo = F, out.width = "60%", fig.align = "center"}
knitr::include_graphics("Abbildungen/beispieldatensatz_fit.png")
```


<!-- Theorem: Betaparameterschätzer und partielle Korrelationen -->
# Modellschätzung

\footnotesize
\begin{theorem}[Betaparameterschätzer und partielle Korrelationen]

\justifying
\normalfont
Gegeben sei ein multiples Regressionsmodel der Form
\begin{equation}
y = X\beta + \varepsilon, \varepsilon \sim N(0_n,\sigma^2I_n)
\quad \mbox{mit} \quad
X :=
\begin{pmatrix}
1      & x_{11} & x_{12} \\
\vdots & \vdots & \vdots \\
1      & x_{n1} & x_{n2} \\
\end{pmatrix}
\quad \mbox{und} \quad
\beta :=
\begin{pmatrix}
\beta_0 \\
\beta_1 \\
\beta_2
\end{pmatrix}.
\end{equation}

Dann gilt
\begin{equation}
\hat{\beta} =
\begin{pmatrix}
\bar{y} - \hat{\beta}_1\bar{x}_1 - \hat{\beta}_2\bar{x}_2                                             \\
r_{y,x_1 \mathbin{\backslash} x_2}\sqrt{\frac{1-r^2_{y,x_2}}{\,1-r_{x_1,x_2}^2}}\frac{s_{y}}{s_{x_1}} \\
r_{y,x_2 \mathbin{\backslash} x_1}\sqrt{\frac{1-r^2_{y,x_1}}{\,1-r_{x_2,x_1}^2}}\frac{s_{y}}{s_{x_2}} \\
\end{pmatrix},
\end{equation}

wobei für $1 \le k,l \le 2$ und $i = 1,...,n$
\begin{itemize}
\item $r_{y,x_k \mathbin{\backslash} x_l}$ die partielle Stichprobenkorrelation der $y_i$ und $x_{ik}$ mit auspartialisierten $x_{il}$ ist,
\item $r_{y,x_k}$ die Stichprobenkorrelation der $y_i$ und $x_{ik}$ ist, und
\item $r_{x_k,x_l}$ die Stichprobenkorrelation der $x_{ik}$ und $x_{il}$ ist.
\end{itemize}

\end{theorem}


<!-- Bemerkungen -->
# Modellschätzung

\small
Bemerkungen

\begin{itemize}

\item Wir betrachten exemplarisch
\begin{equation}
\hat{\beta}_1 = r_{y,x_1 \mathbin{\backslash} x_2}\sqrt{\frac{1-r^2_{y,x_2}}{\,1-r_{x_1,x_2}^2}}\frac{s_{y}}{s_{x_1}}.
\end{equation}

\item Im Allgemeinen gilt, dass $\hat{\beta}_1 \neq r_{y,x_1 \mathbin{\backslash} x_2}$.
\item Betaparameterschätzer sind also im Allgemeinen keine partiellen Stichprobenkorrelationen.
\item $\hat{\beta}_1 = r_{y,x_1 \mathbin{\backslash} x_2}$ gilt genau dann, wenn $s_y = s_{x_1}$ und zudem

\begin{itemize}

\justifying
\begin{small}
\item $r_{y,x_2} = r_{x_1,x_2} = 0$, wenn also die Stichprobenkorrelationen der Daten und der Werte des zweiten Regressors sowie die Stichprobenkorrelation der Werte der beiden Regressoren gleich Null sind. Dies kann der Fall sein, wenn einer der Regressoren die Daten ``sehr gut erklärt'' und der andere Regressor von dem ersten ``sehr verschieden'' ist.
\item $|r_{y,x_2}| = |r_{x_1,x_2}|$, wenn also die obigen Stichprobenkorrelationen dem Betrage nach gleich sind. Dies ist vermutlich selten der Fall.
\end{small}

\end{itemize}
\end{itemize}


<!-- Beweis -->
# Modellschätzung

\footnotesize
\underline{Beweis}

Wir betrachten $\hat{\beta}_1$, das Resultat für $\hat{\beta}_2$ folgt dann durch Vertauschen der Indizes. Wir haben in vorherigem Theorem gesehen, dass
\begin{equation}
\hat{\beta}_1 = \frac{r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2} \frac{s_{y}}{s_{x_1}}.
\end{equation}

Weiterhin haben wir bereits gesehen (siehe Einheit (13) in *Allgemeines Lineares Modell*), dass unter der Annahme der multivariaten Normalverteilung von $y,x_1,x_2$ ein Schätzer für die partielle Korrelation von $y$ und $x_1$, gegeben $x_2$, durch
\begin{equation}
r_{y,x_1 \mathbin{\backslash} x_2} = \frac{r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}}{\sqrt{1 - r^2_{y,x_2}}\sqrt{1 - r_{x_1,x_2}^2}}
\end{equation}

gegeben ist. Für $\hat{\beta}_1$ ergibt sich somit
\begin{align}
\begin{split}
\hat{\beta}_1
& = \frac{r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2} \frac{s_{y}}{s_{x_1}} \\
\Leftrightarrow
\left(1 - r_{x_1,x_2}^2\right)\hat{\beta}_1
& = (r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}) \frac{s_{y}}{s_{x_1}} \\
\Leftrightarrow
\frac{1 - r_{x_1,x_2}^2}{\sqrt{1 - r^2_{y,x_2}}\sqrt{1 - r_{x_1,x_2}^2}}\hat{\beta}_1
& = \frac{r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}}{\sqrt{1 - r^2_{y,x_2}}\sqrt{1-r_{x_1,x_2}^2}} \frac{s_{y}}{s_{x_1}} \\
\Leftrightarrow
\frac{1 - r_{x_1,x_2}^2}{\sqrt{1 - r^2_{y,x_2}}\sqrt{1 - r_{x_1,x_2}^2}}\hat{\beta}_1
& = r_{y,x_1 \mathbin{\backslash} x_2}\frac{s_{y}}{s_{x_1}}
\end{split}
\end{align}


<!-- Beweis -->
# Modellschätzung

\footnotesize
\underline{Beweis}

und damit weiter
\begin{align}
\begin{split}
\hat{\beta}_1 & =
r_{y,x_1 \mathbin{\backslash} x_2}\frac{\sqrt{1 - r^2_{y,x_2}}\sqrt{1 - r_{x_1,x_2}^2}}{1 - r_{x_1,x_2}^2}\frac{s_{y}}{s_{x_1}} \\
\Leftrightarrow
\hat{\beta}_1 & =
r_{y,x_1 \mathbin{\backslash} x_2}\frac{\sqrt{1 - r^2_{y,x_2}}\sqrt{1 - r_{x_1,x_2}^2}}{\left(\sqrt{1 - r_{x_1,x_2}^2}\right)^2}\frac{s_{y}}{s_{x_1}} \\
\Leftrightarrow
\hat{\beta}_1 & =
r_{y,x_1 \mathbin{\backslash} x_2}\frac{\sqrt{1 - r^2_{y,x_2}}}{\sqrt{1 - r_{x_1,x_2}^2}}\frac{s_{y}}{s_{x_1}} \\
\Leftrightarrow
\hat{\beta}_1 & =
r_{y,x_1 \mathbin{\backslash} x_2}\sqrt{\frac{1 - r^2_{y,x_2}}{\,1 - r_{x_1,x_2}^2}}\frac{s_{y}}{s_{x_1}}.
\end{split}
\end{align}
$\hfill\Box$


<!-- Anwendungsbeispiel -->
# Modellschätzung

\vspace{2mm}
\textcolor{darkblue}{Anwendungsbeispiel}
\vspace{2mm}

\tiny
\setstretch{0.9}
```{r, echo = T}
# Daten einlesen
fname      = "Daten/Multiple_Regression_Daten.csv"
D          = read.table(fname, sep = ",", header = TRUE)

# Modellschätzung
y          = D$dBDI                                              # abhängige Variable
n          = length(y)                                           # Anzahl Datenpunkte
X          = matrix(c(rep(1,n), D$Age, D$Duration), nrow = n)    # Designmatrix
p          = ncol(X)                                             # Anzahl Parameter
beta_hat   = solve(t(X) %*% X) %*% t(X) %*% y                    # Betaparameterschätzer
eps_hat    = y - X %*% beta_hat                                  # Residuenvektor
sigsqr_hat = (t(eps_hat) %*% eps_hat) /(n-p)                     # Varianzparameterschätzer

# Betaparameterschätzer aus (partiellen) Korrelationen
library(ppcor)                                                   # Tools für partielle Korrelationen
y12        = cbind(y,X[,-1])                                     # Matrix (y, x_1, x_2)
bars       = apply(y12, 2, mean)                                 # Stichprobenmittel
s          = apply(y12, 2, sd)                                   # Stichprobenstandardabweichungen
r          = cor(y12)                                            # Stichprobenkorrelationen
pr         = pcor(y12)                                           # partielle Stichprobenkorrelationen
pr         = pr$estimate                                         # partielle Stichprobenkorrelationen
beta_hat_1 = pr[1,2]*sqrt((1-r[1,3]^2)/(1-r[2,3]^2))*(s[1]/s[2]) # \hat{\beta}_1
beta_hat_2 = pr[1,3]*sqrt((1-r[1,2]^2)/(1-r[3,2]^2))*(s[1]/s[3]) # \hat{\beta}_2
beta_hat_0 = bars[1] - beta_hat_1*bars[2] - beta_hat_2*bars[3]   # \hat{\beta}_0

# Ausgabe
cat(  "Korrelationen r(y,x_1), r(y,x_2), r(x_1,x_2)       :", c(r[1,2],r[1,3],r[2,3]),
    "\npartielle Korrelationen r(y,x_1|x_2), r(y,x_2|x_1) :", c(pr[1,2],pr[1,3]),
    "\nbeta_hat ALM-Schätzer                              :", beta_hat,
    "\nbeta_hat partielle Korrelationen                   :", c(beta_hat_0,beta_hat_1,beta_hat_2))
```


<!-- Abschnitt 4: Modellevaluation -->
#

\large
\setstretch{2.5}
\vfill

Anwendungsszenario

Modellformulierung

Modellschätzung

**Modellevaluation**

Anwendung/Praxis

Selbstkontrollfragen

\vfill


<!-- Theorem: T-Statistik -->
# Modellevaluation

\textcolor{darkblue}{Parameterinferenz: T-Tests}
\vspace{1mm}

\footnotesize
\begin{theorem}[Verteilung der T-Statistik]

\normalfont
\justifying
Gegeben seien das ALM
\begin{equation}
y = X\beta + \varepsilon
\quad \mbox{mit} \quad
\varepsilon \sim N(0_n,\sigma^2I_n) 
\end{equation}

sowie die Betaparameter- und Varianzparameterschätzer
\begin{equation}
\hat{\beta} := (X^\mathrm{T}X)^{-1}X^\mathrm{T}y
\quad \mbox{und} \quad
\hat{\sigma}^2 := \frac{(y-X\hat{\beta})^\mathrm{T}(y-X\hat{\beta})}{n-p} \; .
\end{equation}

Schließlich sei für einen Kontrastgewichtsvektor $c \in \mathbb{R}^p$ und einen Nullparameter $\beta_0 \in \mathbb{R}^p$ die T-Statistik
\begin{equation}
T := \frac{c^\mathrm{T}\hat{\beta} - c^\mathrm{T}\beta_0}{\sqrt{\hat{\sigma}^2 c^\mathrm{T}(X^\mathrm{T}X)^{-1}c}} \; .
\end{equation}

Dann gilt:
\begin{equation}
T \sim t(\delta, n-p)
\quad \mbox{mit} \quad
\delta = \frac{c^\mathrm{T}\beta - c^\mathrm{T}\beta_0}{\sqrt{\sigma^2 c^\mathrm{T}(X^\mathrm{T}X)^{-1}c}}.
\end{equation}

\end{theorem}

Bemerkungen

* Das Theorem wurde bereits eingeführt (siehe Einheit (7) in *Allgemeines Lineares Modell*).


<!-- Beispiele -->
# Modellevaluation

\textcolor{darkblue}{Parameterinferenz: T-Tests}
\vspace{1mm}

\small
Einige mögliche Kontrastgewichtsvektoren und Nullhypothesen im Anwendungsbeispiel sind:

\center
\renewcommand{\arraystretch}{2.5}
\begin{tabular}{lll}
$c = (1,0,0)^\mathrm{T}$  & $H_0 : \beta_0 = 0$         & $H_A:\beta_0 \neq 0$         \\
$c = (0,1,0)^\mathrm{T}$  & $H_0 : \beta_1 = 0$         & $H_A:\beta_1 \neq 0$         \\
$c = (0,0,1)^\mathrm{T}$  & $H_0 : \beta_2 = 0$         & $H_A:\beta_2 \neq 0$         \\
$c = (0,1,-1)^\mathrm{T}$ & $H_0 : \beta_1-\beta_2 = 0$ & $H_A:\beta_1-\beta_2 \neq 0$ \\
$c = (0,-1,1)^\mathrm{T}$ & $H_0 : \beta_2-\beta_1 = 0$ & $H_A:\beta_2-\beta_1 \neq 0$ \\
$\cdots$                  & $\cdots$                    & $\cdots$                     \\
\end{tabular}


<!-- Anwendungsbeispiel -->
# Modellevaluation

\textcolor{darkblue}{Parameterinferenz: T-Tests}
\vspace{2mm}

\tiny
\setstretch{0.9}
```{r, echo = T}
# Daten einlesen
fname        = "Daten/Multiple_Regression_Daten.csv"
D            = read.table(fname, sep = ",", header = TRUE)

# Modellschätzung
y            = D$dBDI                                           # abhängige Variable
n            = length(y)                                        # Anzahl Datenpunkte
X            = matrix(c(rep(1,n), D$Age, D$Duration), nrow = n) # Designmatrix
p            = ncol(X)                                          # Anzahl Parameter
beta_hat     = solve(t(X) %*% X) %*% t(X) %*% y                 # Betaparameterschätzer
eps_hat      = y - X %*% beta_hat                               # Residuenvektor
sigsqr_hat   = (t(eps_hat) %*% eps_hat)/(n-p)                   # Varianzparameterschätzer

# Modellevaluation und Parameterinferenz
C            = cbind(diag(p), matrix(c(0,1,-1), nrow = 3))      # Kontrastgewichtsvektoren
ste          = rep(NaN, ncol(C))                                # Konstraststandardfehler
tee          = rep(NaN, ncol(C))                                # T-Statistiken
pvals        = rep(NaN, ncol(C))                                # p-Werte
for(i in 1:ncol(C)){
    c        = C[,i]                                            # Kontrastgewichtsvektor
    t_num    = t(c) %*% beta_hat                                # Zähler der T-Statistik
    ste[i]   = sqrt(sigsqr_hat*t(c) %*% solve(t(X) %*% X) %*% c)# Kontraststandardfehler/Nenner der T-Statistik
    tee[i]   = t_num/ste[i]                                     # T-Statistik
    pvals[i] = 2*(1 - pt(abs(tee[i]),n-p))                      # p-Wert
}
# Ausgabe
R            = data.frame(c(beta_hat, t(C[,4]) %*% beta_hat), ste, tee, pvals)
rownames(R)  = c("(Intercept)", "Age", "Duration", "Age-Duration")
colnames(R)  = c("Estimate", "Std. Error", "t-value", "Pr(>|t|)")
print(R)
```


<!-- Theorem: F-Statistik -->
#  Modellevaluation

\textcolor{darkblue}{Modellinferenz: F-Tests}
\vspace{1mm}

\footnotesize
\begin{theorem}[Verteilung der F-Statistik]

\justifying
\normalfont
Gegeben seien das ALM
\begin{equation}
y = X\beta + \varepsilon
\quad \mbox{mit} \quad
\varepsilon \sim N(0_n,\sigma^2I_n) \; ,
\end{equation}

wobei $X \in \mathbb{R}^{n \times p}$, und mit $p = p_0 + p_1$ eine Partitionierung
\begin{align}
\begin{split}
X   &=  \begin{pmatrix} X_0 & X_1 \end{pmatrix}, \;
X_0 \in \mathbb{R}^{n\times p_0}, \;
X_1 \in \mathbb{R}^{n\times p_1}
\quad \mbox{und} \quad \\
\beta   &=  \begin{pmatrix} \beta_0 \\ \beta_1 \end{pmatrix}, \;
\beta_0 \in \mathbb{R}^{p_0}, \;
\beta_1 \in \mathbb{R}^{p_1} \; .
\end{split}
\end{align}

Schließlich sei ein Vektor $c$ gegeben durch
\begin{equation}
c := \begin{pmatrix} 0_{p_0} \\ 1_{p_1} \end{pmatrix} \in \mathbb{R}^p \; .
\end{equation}

Dann gilt
\begin{equation}
F \sim f(\delta, p_1, n-p)
\quad \mbox{mit} \quad
\delta := \frac{c^\mathrm{T}\beta \left(c^\mathrm{T}(X^\mathrm{T}X)^{-1}c\right)^{-1}c^\mathrm{T} \beta}{\sigma^2}
\end{equation}

\end{theorem}

Bemerkungen

* Das Theorem wurde bereits eingeführt (siehe Einheit (8) in *Allgemeines Lineares Modell*).


<!-- Beispiele -->
# Modellevaluation

\textcolor{darkblue}{Modellinferenz: F-Tests}
\vspace{1mm}

\small
Einige mögliche Partitionierungen und Nullhypothesen im Anwendungsbeispiel sind:
\vspace{2mm}

\center
\begin{tabular}{llll}
$X_0 = \begin{pmatrix} 1_n \end{pmatrix}$       & $X_1 = \begin{pmatrix} x_1 & x_2 \end{pmatrix}$ &
$H_0 : \beta_1 = 0 \wedge \beta_2 = 0$          & $H_A : \beta_1 \neq 0 \vee \beta_2 \neq 0$      \\
\\
$X_0 = \begin{pmatrix} 1_n & x_1 \end{pmatrix}$ & $X_1 = \begin{pmatrix} x_2 \end{pmatrix}$       &
$H_0 : \beta_2 = 0$                             & $H_A : \beta_2 \neq 0$                          \\
\\
$X_0 = \begin{pmatrix} 1_n & x_2 \end{pmatrix}$ & $X_1 = \begin{pmatrix} x_1 \end{pmatrix}$       &
$H_0 : \beta_1 = 0$                             & $H_A : \beta_1 \neq 0$                          \\
\\
$X_0 = \begin{pmatrix} x_1 & x_2 \end{pmatrix}$ & $X_1 = \begin{pmatrix} 1_n \end{pmatrix}$       &
$H_0 : \beta_0 = 0$                             & $H_A : \beta_0 \neq 0$                          \\
\end{tabular}
\vfill


<!-- Anwendungsbeispiel -->
#  Modellevaluation

\textcolor{darkblue}{Modellinferenz: F-Tests}
\vspace{2mm}

\tiny
\setstretch{1.1}
```{r, echo = T}
# Daten einlesen
fname       = "Daten/Multiple_Regression_Daten.csv"
D           = read.table(fname, sep = ",", header = TRUE)

# Modellevaluation
y           = D$dBDI                                          # abhängige Variable
n           = length(y)                                       # Anzahl Datenpunkte
X           = matrix(c(rep(1,n), D$Age, D$Duration), nrow = n)# Desigmatrix vollständiges Modell
p           = ncol(X)                                         # Anzahl Parameter vollständiges Modell
p_0         = 1       # reduziertes Modell:   (1_n)           # Anzahl Parameter reduziertes Modell
p_1         = p - p_0 # vollständiges Modell: (1_n, x_1, x_2) # Anzahl zusätzlicher Parameter im vollst. Modell
X_0         = X[,1:p_0]                                       # Designmatrix reduzierters Modell
beta_hat_0  = solve(t(X_0) %*% X_0) %*% t(X_0) %*% y          # Betaparameterschätzer reduziertes Modell
beta_hat    = solve(t(X)   %*% X )  %*% t(X)   %*% y          # Betaparameterschätzer vollständiges Modell
eps_hat_0   = y - X_0 %*% beta_hat_0                          # Residuenvektor reduziertes Modell
eps_hat     = y - X   %*% beta_hat                            # Residuenvektor vollständiges Modell
eh0_eh0     = t(eps_hat_0) %*% eps_hat_0                      # residuelle Quadratsumme reduziertes Modell
eh_eh       = t(eps_hat)   %*% eps_hat                        # residuelle Quadratsumme vollständiges Modell
sigsqr_hat  = eh_eh/(n-p)                                     # Varianzparameterschätzer vollständiges Modell
f           = ((eh0_eh0-eh_eh)/p_1)/sigsqr_hat                # F-Statistik
pval        = 1 - pf(f,p_1,n-p)                               # p-Wert

# Ausgabe
R           = data.frame(p_1, n-p, f, pval)
rownames(R) = c("Age & Duration")
colnames(R) = c("numerator DFs", "denominator DFs", "F-value", "Pr(>F)")
print(R)
```


<!-- Anwendungsbeispiel in R -->
# Modellevaluation

\textcolor{darkblue}{Modellformulierung, Modellschätzung und Modellevaluation mit R}
\vspace{2mm}

\footnotesize
\setstretch{1.2}
```{r, echo = T}
fname  = "Daten/Multiple_Regression_Daten.csv"        # Dateiname
D      = read.table(fname, sep = ",", header = TRUE)  # Datenframe
alm    = lm(dBDI ~ Age + Duration, data = D)          # Modellformulierung und Modellschätzung
summary(alm)
```


<!-- Abschnitt 5: Anwendung/Praxis -->
#

\large
\setstretch{2.5}
\vfill

Anwendungsszenario

Modellformulierung

Modellschätzung

Modellevaluation

**Anwendung/Praxis**

Selbstkontrollfragen

\vfill


<!-- Datensatz: Geburtsgewichte -->
# Anwendung/Praxis

\small
Datensatz: Geburtsgewicht und Muttergewicht für Mutter-Kind-Paare ($n = 189$; hier: $i = 1,...,25$)

\setstretch{1.0}

\footnotesize
\vspace{2mm}
```{r, echo = T}
filename = "Daten/birth_weights.csv"        # Dateiname
D        = read.csv(filename)               # Datenframe
```

\tiny
\vspace{-2mm}
```{r, echo = F}
knitr::kable(D[c(1:25),],
             align = "rrrcccc",
             "pipe")
```


<!-- Beispiel: Visualisierung -->
# Anwendung/Praxis

\small
Multiple Regression: Geburtsgewicht als Funktion von Muttergewicht und Alter ($n = 189$)

\vspace{2mm}
```{r, echo = F, eval = F, warning = F}
# Daten einlesen
filename = "Daten/birth_weights.csv"          # Dateiname
D        = read.csv(filename)                 # Datenframe

# Visualisierung
library(car)
scatter3d(D$Weight, D$Birth_weight, D$Age,
    xlab        = "Muttergewicht",
    ylab        = "Geburtsgewicht",
    zlab        = "Alter",
    point.col   = "gray40",
    axis.col    = rep("black",3),
    axis.scales = T,
    axis.ticks  = T,
    surface     = T,
    surface.col = "gray70",
    neg.res.col = "gray70",
    pos.res.col = "gray70")
```

\vspace{2mm}
```{r, echo = F, out.width = "60%", fig.align = "center"}
knitr::include_graphics("Abbildungen/birth_weight_fit.png")
```


<!-- Beispiel: Testhypothesen -->
# Anwendung/Praxis

\small
\flushleft
T-Tests: Kontrastgewichtsvektoren und Nullhypothesen für diesen Datensatz:

\center
\renewcommand{\arraystretch}{2.5}
\begin{tabular}{lll}
$c = (1,0,0)^\mathrm{T}$  & $H_0 : \beta_0 = 0$         & $H_A:\beta_0 \neq 0$         \\
$c = (0,1,0)^\mathrm{T}$  & $H_0 : \beta_1 = 0$         & $H_A:\beta_1 \neq 0$         \\
$c = (0,0,1)^\mathrm{T}$  & $H_0 : \beta_2 = 0$         & $H_A:\beta_2 \neq 0$         \\
\end{tabular}
\vspace{4mm}

\small
\flushleft
F-Tests: Modellpartitionierungen und Nullhypothesen für diesen Datensatz:
\vspace{2mm}

\center
\begin{tabular}{llll}
$X_0 = \begin{pmatrix} 1_n \end{pmatrix}$       & $X_1 = \begin{pmatrix} x_1 & x_2 \end{pmatrix}$ &
$H_0 : \beta_1 = 0 \wedge \beta_2 = 0$          & $H_A : \beta_1 \neq 0 \vee \beta_2 \neq 0$      \\ \\
\end{tabular}
\vfill


<!-- Beispiel: F-Tests -->
# Anwendung/Praxis

\small
F-Test: Effekt von Muttergewicht und/oder Alter
\vspace{2mm}

\tiny
\setstretch{1.0}
```{r, echo = T}
# Daten einlesen
D            = read.csv("Daten/birth_weights.csv")              # Datenframe
y            = D$Birth_weight                                   # abhängige Variable
x_1          = D$Weight                                         # unabhängige Variable 1
x_2          = D$Age                                            # unabhängige Variable 2

# Multiple Regression (F-Test)
n            = nrow(D)                                          # Anzahl Datenpunkte
p            = 3                                                # Anzahl Parameter
X            = matrix(c(rep(1,n), x_1, x_2), nrow = n)          # Designmatrix
p_0          = 1       # reduziertes Modell:   (1_n)            # Anzahl Parameter reduziertes Modell
p_1          = p - p_0 # vollständiges Modell: (1_n, x_1, x_2)  # Anzahl zusätzlicher Parameter im vollst. Modell
X_0          = X[,1:p_0]                                        # Designmatrix reduzierters Modell
beta_hat_0   = solve(t(X_0) %*% X_0) %*% t(X_0) %*% y           # Betaparameterschätzer reduziertes Modell
beta_hat     = solve(t(X)   %*% X )  %*% t(X)   %*% y           # Betaparameterschätzer vollständiges Modell
eps_hat_0    = y - X_0 %*% beta_hat_0                           # Residuenvektor reduziertes Modell
eps_hat      = y - X   %*% beta_hat                             # Residuenvektor vollständiges Modell
eh0_eh0      = t(eps_hat_0) %*% eps_hat_0                       # residuelle Quadratsumme reduziertes Modell
eh_eh        = t(eps_hat)   %*% eps_hat                         # residuelle Quadratsumme vollständiges Modell
sigsqr_hat   = eh_eh/(n-p)                                      # Varianzparameterschätzer vollständiges Modell
f            = ((eh0_eh0-eh_eh)/p_1)/sigsqr_hat                 # F-Statistik
pval         = 1 - pf(f,p_1,n-p)                                # p-Wert
R            = data.frame(p_1, n-p, f, pval)
rownames(R)  = c("Weight & Age")
colnames(R)  = c("numerator DFs", "denominator DFs", "F-value", "Pr(>F)")
print(R)
```


<!-- Beispiel: T-Tests -->
# Anwendung/Praxis

\small
T-Tests: Effekte von Muttergewicht und Alter
\vspace{2mm}

\tiny
\setstretch{1.0}
```{r, echo = T}
# Daten einlesen
D            = read.csv("Daten/birth_weights.csv")              # Datenframe
y            = D$Birth_weight                                   # abhängige Variable
x_1          = D$Weight                                         # unabhängige Variable 1
x_2          = D$Age                                            # unabhängige Variable 2

# Multiple Regression (T-Tests)
n            = nrow(D)                                          # Anzahl Datenpunkte
p            = 3                                                # Anzahl Parameter
X            = matrix(c(rep(1,n), x_1, x_2), nrow = n)          # Designmatrix
beta_hat     = solve(t(X) %*% X) %*% t(X) %*% y                 # Betaparameterschätzer
eps_hat      = y - X %*% beta_hat                               # Residuenvektor
sigsqr_hat   = (t(eps_hat) %*% eps_hat)/(n-p)                   # Varianzparameterschätzer
C            = diag(p)                                          # Kontrastgewichtsvektoren
ste          = rep(NaN, ncol(C))                                # Konstraststandardfehler
tee          = rep(NaN, ncol(C))                                # T-Statistiken
pvals        = rep(NaN, ncol(C))                                # p-Werte
for(i in 1:ncol(C)){
    c        = C[,i]                                            # Kontrastgewichtsvektor
    t_num    = t(c) %*% beta_hat                                # Zähler der T-Statistik
    ste[i]   = sqrt(sigsqr_hat*t(c) %*% solve(t(X) %*%X ) %*% c)# Kontraststandardfehler/Nenner der T-Statistik
    tee[i]   = t_num/ste[i]                                     # T-Statistik
    pvals[i] = 2*(1 - pt(abs(tee[i]),n-p))                      # p-Wert
}
R            = data.frame(beta_hat, ste, tee, pvals)
rownames(R)  = c("(Intercept)", "Weight", "Age")
colnames(R)  = c("Estimate", "Std. Error", "t-value", "Pr(>|t|)")
print(R)
```


<!-- Anscombe-Quartett -->
# Anwendung/Praxis

\small
Anscombe-Quartett: vier Datensätze mit identischen Deskriptivstatistiken (@anscombe1973)

```{r, echo = F, eval = F}
# Daten und Modellparameter
fname      = "Daten/Anscombe.csv"                                                # Daten-Datei
D          = read.table(fname, sep = ",", header = TRUE)                         # Dataframe
S          = c("I", "II", "III", "IV")                                           # Datensätze
x          = list()                                                              # x_i Werte
y          = list()                                                              # y_i Werte
beta_hat   = list()                                                              # Parameterschätzer

# Iteration über Datensätze
for(k in 1:length(S)){
    y[[k]] = D$y[D$Set == S[k]]                                                  # y_i Werte
    x[[k]] = D$x[D$Set == S[k]]                                                  # x_i Werte
    n      = length(y[[k]])                                                      # Anzahl Datenpunkte
    X      = matrix(c(rep(1,n), x[[k]]), nrow = n)                               # n x 2 Designmatrix
    beta_hat[[k]] = solve(t(X) %*% X) %*% t(X) %*% y[[k]]                        # Parameterschätzer
}

# 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:length(S)){

    # Datenwerte
    plot(x[[k]], y[[k]],
        pch     = 16,
        xlab    = "x",
        ylab    = "y",
        xlim    = c(3.5,19.5),
        ylim    = c(2.5,13.5),
        main    = sprintf("Anscombe %s", S[k]))

    # Ausgleichsgerade
    abline(
        coef    = beta_hat[[k]],
        lty     = 1,
        col     = "black")
}

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

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

\vspace{-4mm}
\footnotesize
\center
für alle:
$\; n          = 11, \;$
$\bar{x}       = 9, \;$
$\bar{y}       = 7.50, \;$
$s_x^2         = 11, \;$
$s_y^2 \in \left\lbrace 4.122, 4.127 \right\rbrace,$

$\hat{\beta}_0 = 3.00, \;$
$\hat{\beta}_1 = 0.500, \;$
$r_{xy}        = 0.816, \;$
$\mbox{R}^2    = 0.67 \; .$


<!-- Anhang: Selbstkontrollfragen -->
#

\large
\setstretch{2.5}
\vfill

Anwendungsszenario

Modellformulierung

Modellschätzung

Modellevaluation

Anwendung/Praxis

**Selbstkontrollfragen**

\vfill


<!-- Selbstkontrollfragen -->
# Selbstkontrollfragen

\footnotesize
\setstretch{1.5}

1. Erläutern Sie das Anwendungsszenario und die Ziele der multiplen Regression.
1. Definieren Sie das Modell der multiplen Regression.
1. Erläutern Sie die Begriffe Regressor, Prädiktor und Kovariate im Rahmen der multiplen Regression.
1. Erläutern Sie, warum $\hat{\beta} \approx \mbox{Regressorkovariabilität}^{-1} \cdot \mbox{Regressordatenkovariabilität}$ gilt.
1. Erläutern Sie den Zusammenhang zwischen Betaparameterschätzern und Korrelationen in einem multiplen Regressionmodell mit Interzeptparameter und zwei kontinuierlichen Prädiktoren anhand der Formel
\begin{equation}
\hat{\beta}_1 = \frac{r_{y,x_1} - r_{y,x_2}r_{x_1,x_2}}{1 - r_{x_1,x_2}^2} \frac{s_{y}}{s_{x_1}}.
\end{equation}
1. Erläutern Sie den Zusammenhang zwischen Betaparameterschätzern und partieller Korrelation in einem multiplen Regressionmodell mit Interzeptparameter und zwei kontinuierlichen Prädiktoren anhand der Formel
\begin{equation}
\hat{\beta}_1 = r_{y,x_1 \mathbin{\backslash} x_2}\sqrt{\frac{1 -r_y^2,x_2}{1 -r_{x_1,x_2}^2}}\frac{s_y}{s_{x_1}}.
\end{equation}
1. $X \in \mathbb{R}^{n \times 2}$ sei die Designmatrix eines multiplen Regressionsmodells mit zwei Prädiktoren und Betaparametervektor $\beta := (\beta_1,\beta_2)^\mathrm{T}$. Geben Sie den Kontrastgewichtsvektor an, um die Nullhypothese $H_0 : \beta_1 = \beta_2$ mithilfe der T-Statistik zu testen.


<!-- Literatur -->
# Referenzen
