---
fontsize: 11pt
format: pdf
bibliography: 4_Referenzen_S.bib
include-in-header: 4_Header_S.tex
lang: de
---

# (4) Deskription und Inferenz

Ziel dieses Seminar ist es, die Implementation der Berechnung multivariater
Deskriptivstatistiken zu verdeutlichen und sich der Grundlagen Frequentistischer 
Inferenz zu besinnen.

### Multivariate Deskriptivstatistiken {-}

Wir simulieren zunächst einen Datensatz von $n = 30$ vierdimensionalen Messwerten.

\tiny
```{r}
# R Pakete
library(matrixcalc)                                 # Matrix Paket (is.positive.definite())
library(MASS)                                       # Multivariate Normalverteilung (mvrnorm())

# Simulationsparameter
set.seed(1)                                         # Reproduzierbare Randomisierung
m     = 4                                           # Datenpunktdimension
n     = 30                                          # Anzahl Realisierung
mu    = rep(0,m)                                    # Erwartungswertparameter
Sigma = matrix(runif(m^2), nrow = m)                # zufällige Matrix
Sigma = 0.5*(Sigma+t(Sigma))                        # symmetrische Matrix
Sigma = Sigma + m*diag(m)                           # positiv definite Matrix

# Datensatzgeneration
Y     = t(mvrnorm(n,mu,Sigma))                      # Y = (\ups_1,...,\ups_n) \sim N(\mu,\Sigma)
fname = "4_Deskription_und_Inferenz.csv"            # Dateiname
write.csv(Y, file = fname, row.names = FALSE)       # Datenspeichern
```
\normalsize

Wir laden nun die Datenmatrix und berechnen auf Grundlage des in der Vorlesung
diskutierten Theorems zu Datenmatrix und multivariate Deskriptivstatistiken
das Stichprobenmittel, die Stichprobenkovarianzmatrix und die Stichprobenkorrelationsmatrix

\tiny
```{r}
# Laden einer m x n Datenmatrix
fname   = "4_Deskription_und_Inferenz.csv"
Y       = as.matrix(read.table(fname, sep = ",", header = TRUE)) 

# Deskriptivstatisken
n       = ncol(Y)                                     # Anzahl Datenvektorealisierungen
I_n     = diag(n)                                     # Einheitsmatrix I_n
J_n     = matrix(rep(1,n^2), nrow = n)                # 1_{nn}
y_bar   = (1/n)* Y %*% J_n[,1]                        # Stichprobenmittel
C       = (1/(n-1))*(Y %*% (I_n-(1/n)*J_n) %*% t(Y))  # Stichprobenkovarianzmatrix
D       = diag(1/sqrt(diag(C)))                       # Kov-Korr-Transformationsmatrix
R       = D %*% C %*% D                               # Stichprobenkorrelationsmatrix

# Ausgabe
print(y_bar)
print(C)
print(R)
```
\normalsize


Schließlich berechnen wir die quadrierter Euklidische und die Mahalanobis 
Distanz des berechneteten Stichprobenmittels vom Nullpunkt basierend auf der
Stichprobenkovarianzmatrix.

\tiny
```{r}
# Laden einer m x n Datenmatrix
fname   = "4_Deskription_und_Inferenz.csv"
Y       = as.matrix(read.table(fname, sep = ",", header = TRUE)) 

# Deskriptivstatisken
n       = ncol(Y)                                     # Anzahl Datenvektorealisierungen
I_n     = diag(n)                                     # Einheitsmatrix I_n
J_n     = matrix(rep(1,n^2), nrow = n)                # 1_{nn}
y_bar   = (1/n)* Y %*% J_n[,1]                        # Stichprobenmittel
C       = (1/(n-1))*(Y %*% (I_n-(1/n)*J_n) %*% t(Y))  # Stichprobenkovarianzmatrix

# Ausgabe
cat("Quadrierte Euklidische Distanz von 0_4", t(y_bar) %*% y_bar)
cat("Mahalanobis Distanz von 0_4", t(y_bar) %*% solve(C) %*% y_bar)
```
\normalsize

\newpage
### Grundlagen Frequentistischer Inferenz {-}


Anhand untenstehender Simulation der Dualität von Konfidenzintervallen und 
Hypothesentests im univariaten Einstichproben-T-Test Szenario besinnen wir uns 
der intuitiven Grundlagen der Frequentistischen Inferenz.

\tiny
```{r}
# Modellformulierung
n       = 12                                          # Stichprobengröße
mu      = 2                                           # wahrer, aber unbekannter, Erwartungswertparameter
sigsqr  = 1                                           # wahrer, aber unbekannter, Varianzparameter

# Konfidenzintervallparameter und Testparameter
delta   = 0.95                                        # Konfidenzbedingung
t_delta = qt((1+delta)/2, n-1)                        # \Psi^{-1}((\delta + 1)/2, n-1)
mu_0    = mu                                          # Nullhypothesenparameter 

# Simulationen
set.seed(1)                                           # random number generator seed
ns      = 1e5                                         # Anzahl Simulationen
y_bar   = rep(NaN,ns)                                 # Stichprobenmittelarray
s       = rep(NaN,ns)                                 # Stichprobenstandardabweichungarray
kappa   = matrix(rep(NaN,2*ns), ncol = 2)             # Konfidenzintervallarray
kfn     = rep(NaN,ns)                                 # Überdeckungsindikatorarray
phi     = rep(NaN,ns)                                 # Testarray
for(i in 1:ns){                                       # Simulationsiterationen
  
  # Stichprobenrealisation und Konfidezintervallevaluation  
  y          = rnorm(n,mu_0,sqrt(sigsqr))             # Stichprobenrealisierung
  y_bar[i]   = mean(y)                                # Stichprobenmittel
  s[i]       = sd(y)                                  # Stichprobenstandardabweichung
  kappa[i,1] = y_bar[i] - (s[i]/sqrt(n))*t_delta      # untere KI Grenze
  kappa[i,2] = y_bar[i] + (s[i]/sqrt(n))*t_delta      # obere KI Grenze

  # Überdeckungs- und Testevaluation
  if(kappa[i,1] <= mu_0 & mu_0 <= kappa[i,2]){
      kfn[i] = 1} else{kfn[i] = 0}                    # Überdeckungsindikatorevaluation
  if(kappa[i,1] <= mu_0 & mu_0 <= kappa[i,2]){
      phi[i] = 0} else{phi[i] = 1}}                   # Testevaluation

# Ausgabe
cat(   "Geschätztes Konfidenzniveau =", mean(kfn),
     "\nGeschätzter Testumfang      =", mean(phi))
```
\normalsize

Wir visualieren die ersten 100 Simulationen als @fig-grundlagen-frequentistischer-inferenz.

\tiny
```{r, echo = F, eval = F}
# Visualisierungsparameter
pdf(
file        = "./4_Abbildungen_S/mv_4_grundlagen_frequentistischer_inferenz.pdf",
width       = 9,
height      = 6)
library(latex2exp)
par(
family      = "sans",
bty         = "l",
mfcol       = c(2,1),
lwd         = 1,
las         = 1,
mgp         = c(2,1,0),
xaxs        = "i",
yaxs        = "i",
font.main   = 1,
cex         = 1,
cex.main    = 1)

# Konfidenzintervallvisualisierung
nv          = 100                                                               # Simulationsanzahl für Visualisierung
y_bar       = y_bar[1:nv]                                                       # Selektion der ersten nv Stichprobenmittel    
phi         = phi[1:nv]                                                         # Selektion der ersten nv Testwertsimulationen
kappa       = kappa[1:nv,]                                                      # Selektion der ersten nv Konfidenzintervallgrenzen
kfn         = kfn[1:nv]                                                         # Selektion der ersten nv Konfidenzintervallüberdeckungsevaluatoren    
I           = rep(NaN,nv)                                                       # Nicht überdeckende KIs für Visualisierung
I[kfn == 0] = 3.5                                                               # Markerpositions
plot(
1:nv,
y_bar,
type    = "p",
ylim    = c(0,4),
xlim    = c(0,102),
xlab    = "Simulationen",
ylab    = "",
pch     =  19,
cex     =  .5,
main    = "Konfidenzintervalle")
arrows(
x0      = 1:nv,
y0      = kappa[,1],
x1      = 1:nv,
y1      = kappa[,2],
code    = 3,
angle   = 90,
length  = 0.01,
lwd     = .7)
abline(
mu,
0,
col      = "gray80",
lty      = 1)
lines(
1:nv,
I,
type    = "p",
pch     = 13,
col     = "darkorange")

# Testvisualisierung
plot(
1:nv,
phi,
type    = "p",
ylim    = c(-.2,1.2),
xlim    = c(0,102),
las     = 1,
xlab    = "Simulationen",
ylab    = "",
pch     =  16,
cex     =  .6,
yaxp    = c(0,1,1),
main    = "Hypothesentests")
dev.off()
```

\normalsize
![Grundlagen Frequentisticher Inferenz am Beispiel von Konfidenzintervallen und Hypothesentests im Einstichproben-T-Test Szenario]("./4_Abbildungen_S/mv_4_grundlagen_frequentistischer_inferenz.pdf"){#fig-grundlagen-frequentistischer-inferenz fig-align="center" width=80%}