---
fontsize: 8pt
format:
    beamer:
        include-in-header: "8_Header.tex"
bibliography: 8_Referenzen.bib
---

#  {.plain}

\center
```{r, echo = FALSE, out.width = "20%", fig.align = "center"}
knitr::include_graphics("8_Abbildungen/mv_8_otto.png")
```
\vspace{2mm}

\huge
Multivariate Verfahren
\vspace{4mm}

\large
MSc Psychologie | MSc Klinische Psychologie und Psychotherapie   

WiSe 2023/24

\vspace{4mm}
\normalsize
Prof. Dr. Dirk Ostwald

#  {.plain}
\vfill
\center
\huge
\textcolor{black}{(8) Prädiktion und Kreuzvalidierung}
\vfill


# 
\vfill
\Large
\setstretch{4}
Prädiktive Modellierung und Maschinelles Lernen

Kreuzvalidierung 

Selbstkontrollfragen
\vfill

# Prädiktive Modellierung und Maschinelles Lernen
\textcolor{darkblue}{Rhetorik der Prädiktiven Modellierung und des Maschinellen Lernens}
\vspace{10mm}
```{r, echo = FALSE, out.width = "90%", fig.align = "center"}
knitr::include_graphics("8_Abbildungen/mv_8_prädiktive_modellierung_ziel.pdf")
```
\vspace{10mm}

\flushright
\footnotesize
@dwyer2018


# Prädiktive Modellierung und Maschinelles Lernen
\textcolor{darkblue}{Rhetorik der Prädiktiven Modellierung und des Maschinellen Lernens}

```{r, echo = FALSE, out.width = "60%", fig.align = "center"}
knitr::include_graphics("8_Abbildungen/mv_8_prädiktive_modellierung_methode.pdf")
```
\flushright
\footnotesize
@dwyer2018

\normalsize
\small
\center
\begin{tabular}{ll}
Daten                     & Trainingsdaten und Testdaten                  \\
Statistisches Modell      & Modell, Machine Learning Algorithmus          \\
Schätzen von Parametern   & Trainieren des Modells, Parameterlernen, Supervised Learning
\end{tabular}

# Prädiktive Modellierung und Maschinelles Lernen
\small
\begin{definition}[Binärer Klassifikationstrainingdatensatz]
\justifying
Ein \textit{binärer Klassifikationsdatensatz}
\begin{equation}
\mathcal{D} := \{(x_1,y_1), ..., (x_n,y_n)\} = \{(x_i,y_i)\}_{i=1}^n
\end{equation}
ist eine Menge von $n$ \textit{Trainingsdatenpunkten}
\begin{equation}
\left(x_i,y_i\right) \mbox{ mit } x_i \in \mathbb{R}^m
\mbox{ und }
y_i \in \{0,1\}
\mbox{ for }
i = 1,...,n,
\end{equation}
wobei  $x_i$ \textit{$m$-dimensionaler Featurevektor} und $y_i$ \textit{Label} genannt wird.
Üblicherweise werden die Trainingsdatenpunkte dabei als unabhängige und identische
Realisierungen eines Zufallsvektors $m+1$-dimensionalen Zufallsvektors $\zeta := (\xi,\upsilon)$
verstanden. 
\end{definition}
\footnotesize

Bemerkungen

* $y_i \in \{0,1\}$ bezeichnet die Klassenzugehörigkeit des Featurevektors $x_i \in \mathbb{R}^m$. 
* Ein Beispiel für $y_i$ ist "Kein Therapieerfolg" (0)" vs. "Therapieerfolg" (1).
* Beispiele für die $m$ Komponenten der $x_i$ sind Testscores, Biomarker, Soziodemographische Daten.

# Prädiktive Modellierung und Maschinelles Lernen
\textcolor{darkblue}{Beispiele bivariater Featureplotszenarien}
\center
\vspace{4mm}
$x_i \in \mathbb{R}^2, y_i \in \{0,1\}, i = 1,...,n$, \textcolor{red}{$\bullet$} $y_i = 0, \quad$ \textcolor{blue}{$\bullet$} $y_i = 1$
\vspace{5mm}

```{r, eval = F, echo = F}
# Abbildungsparameter
library(latex2exp)
pdf(
file        = "./8_Abbildungen/mv_8_bivariate_featureplots.pdf",
             width  = 12,
             height = 4)
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.1,
cex.main    = 1.2)

# Featurevektoren
n           = 2e2
X           = cbind(runif(n, min = 0, max = 2), runif(n, min = 0, max = 2))

# Labelplots
plot(
X[X[,1] <= 1,1],
X[X[,1] <= 1,2],
type = "p",
col  = "White",
xlim = c(0,2),
ylim = c(0,2),
pch  = 21,
bg   = "Red",
xlab = TeX("$x_1$"),
ylab = TeX("$x_2$"),
)
points(
X[X[,1] > 1,1],
X[X[,1] > 1,2],
col  = "White",
pch  = 21,
bg   = "Blue")

plot(
X[((X[,1] + X[,2]) <= 2),1],
X[((X[,1] + X[,2]) <= 2),2],
type = "p",
col  = "White",
xlim = c(0,2),
ylim = c(0,2),
pch  = 21,
bg   = "Red",
xlab = TeX("$x_1$"),
ylab = TeX("$x_2$"))
points(
X[((X[,1] + X[,2]) > 2),1],
X[((X[,1] + X[,2]) > 2),2],
col  = "White",
pch  = 21,
bg   = "Blue")

plot(
X[((X[,1]^2 + X[,2]^2) <= 2),1],
X[((X[,1]^2 + X[,2]^2) <= 2),2],
type = "p",
col  = "White",
xlim = c(0,2),
ylim = c(0,2),
pch  = 21,
bg   = "Red",
xlab = TeX("$x_1$"),
ylab = TeX("$x_2$"))
points(
X[((X[,1]^2 + X[,2]^2) > 2),1],
X[((X[,1]^2 + X[,2]^2) > 2),2],
col  = "White",
pch  = 21,
bg   = "Blue")
dev.off()
```

\flushleft
$\quad\quad\quad x_{i_1} > 1 \Leftrightarrow y_{i} = 1\quad\quad\quad\,\,$
$x_{i_1} + x_{i_2} > 2 \Leftrightarrow y_{i} = 1\quad\quad\,\,$
$x_{i_1}^2 + x_{i_2}^2 > 2 \Leftrightarrow y_{i} = 1$
\vspace{-2mm}
```{r, echo = FALSE, out.width = "100%"}
knitr::include_graphics("./8_Abbildungen/mv_8_bivariate_featureplots.pdf")
```

# Prädiktive Modellierung und Maschinelles Lernen

\textcolor{darkblue}{Anwendung der prädiktiven Modellierung}
\vspace{3mm}
```{r, echo = FALSE, out.width = "80%", fig.align = "center"}
knitr::include_graphics("./8_Abbildungen/mv_8_prädiktive_vs_explanatorische_modellierung.pdf")
```
\vspace{3mm}
\flushright
\footnotesize
@shmueli2010, @sainani2014

# 
\vfill
\Large
\setstretch{4}
Prädiktive Modellierung und Maschinelles Lernen

**Kreuzvalidierung** 

Selbstkontrollfragen
\vfill


# Kreuzvalidierung
\setstretch{2}
\textcolor{darkblue}{Workflow der prädiktiven Modellierung}

Featureselektion

* Auswahl von möglichen prädiktiven Variablen
* Dimensionreduktion zur Verringerung des Curse of Dimensionality

Kreuzvalidierung

* Wiederholtes Trainieren und Testen eines Modells an einem Datensatz
* Einsatz zur Modelloptimierung
* Einsatz zur Messung der probabilistischen Assoziation von Featuren und Labeln

# Kreuzvalidierung

Leave-One-Out-Crossvalidation (LOOCV) bei $n$ experimentellen Einheiten (EE)

\vspace{3mm}
```{r, echo = FALSE, out.width = "70%", fig.align = "center"}
knitr::include_graphics("./8_Abbildungen/mv_8_loocv.pdf")
```
\vspace{3mm}


# Kreuzvalidierung
\footnotesize
\vspace{3mm}
Konfusionsmatrix bei LOOCV mit binärem Label für Testendatenpunkt $(x_i,y_i)$
```{r, echo = FALSE, out.width = "50%", fig.align = "center"}
knitr::include_graphics("./8_Abbildungen/mv_8_loocv_results.pdf")
```

Exemplarische Performanzmaße bei LOOCV mit binärem Label

\footnotesize
* Akkuratheit (Accuracy)
\begin{equation}
\mbox{ACC}  
= \frac{\mbox{Anzahl richtiger Prädiktionen}}{\mbox{Anzahl aller Prädiktionen}} 
= \frac{r_n + r_p}{r_n + r_p + f_n + f_p}
\end{equation}
* Sensitivität (Richtig-positiv-Rate, True Positive Rate, Recall, Hit Rate) 
\begin{equation}
\mbox{SEN} = \frac{\mbox{Anzahl richtiger Positivprädiktionen}}{\mbox{Anzahl positiver Fälle}}
= \frac{r_p}{r_p + f_n}
\end{equation}
* Spezifität (Richtig-negativ-Rate, True Negative Rate, Correct Rejection Rate)
\begin{equation}
\mbox{SPE} = \frac{\mbox{Anzahl richtiger Negativprädiktionen}}{\mbox{Anzahl negativer Fälle}}
= \frac{r_n}{r_n + f_p}
\end{equation}

# 
\vfill
\Large
\setstretch{4}
Prädiktive Modellierung und Maschinelles Lernen

Kreuzvalidierung

**Selbstkontrollfragen**
\vfill

# Selbstkontrollfragen
\footnotesize

\setstretch{3}

1. Erläutern Sie die Rhetorik der Prädiktiven Modellierung.
1. Geben Sie die Definition eines binären Klassifikationstrainingdatensatzes wieder.
1. Erläutern Sie Unterschiede und Gemeinsamkeiten der explanatorischen und prädiktiven Modellierung.
1. Erläutern Sie die Idee der Leave-One-Out-Crossvalidation (LOOCV).
1. Erläutern Sie die Konfusionsmatrix bei LOOCV mit binärem Label.
1. Geben Sie die Definitionen von Akkuratheit, Sensitivität und Spezifität bei LOOCV wieder.


# Referenzen
\footnotesize

