```{r data generation, echo = FALSE, results = "hide"}
library("exams")
library("exams.forge")
instruction <- NULL
call <- exams2call()
### DATA GENERATION
bier <- ddiscrete(sort(runif(4), decreasing=TRUE), 20)
m    <- matrix(bier, ncol=1)
rownames(m) <- c("Keine Verspätung (pünktlich)", "0-6 Minuten Verspätung (noch pünktlich)", 
                 "6-20 Minuten (unpünktlich)", "20-60 Minutenn (noch keine Erstattung)")
colnames(m) <- "Anteil in Prozent"
hxy <- html_matrix_sk(100*m, title = "", fmt = "%.0f")
n   <- 20*sample(5:10, size=1)
verkauf <- n*ddiscrete(sort(runif(4), decreasing=TRUE), 20)
m    <- matrix(verkauf, ncol=1)
rownames(m) <-  c("Keine Verspätung (pünktlich)", "0-6 Minuten Verspätung (noch pünktlich)", 
                 "6-20 Minuten (unpünktlich)", "20-60 Minutenn (noch keine Erstattung)")
colnames(m) <- "Anzahl"
vxy <- html_matrix_sk(m, title = "", fmt = "%.0f")
m <- cbind(n*bier, (verkauf-n*bier)^2, (verkauf-n*bier)^2/(n*bier))
rownames(m) <-  c("Keine Verspätung (pünktlich)", "0-6 Minuten Verspätung (noch pünktlich)", 
                 "6-20 Minuten (unpünktlich)", "20-60 Minuten (noch keine Erstattung)")
colnames(m) <- c("Erwartet Hfk.", "$(h_i-\\hat{h}_i)^2$", "Residuum")
exy <- html_matrix_sk(m, title = "", fmt = c("%.0f", "%.0f", "%.4f"))
vsq <- sum((verkauf-n*bier)^2/(n*bier)) 
```

Question
========

```{r, error=TRUE, child=instruction}
```

Als Manager bei der Deutschen Bahn sind Sie für die Pünktlichkeit der Züge zuständig.  Das Ziel ist es,
den folgenden Anteil der Züge in den einzelnen Pünktlichkeitskategorien zu erreichen:

```{r, echo=FALSE, results='asis'}
cat(toHTMLorLatex(hxy))
```

Ein aktuelle Stichprobe hat folgende absolute Häufigkeiten in den Pünktlichkeitskategorien ergeben:

```{r, echo=FALSE, results='asis'}
cat(toHTMLorLatex(vxy))
```

Wählen Sie einen geeigneten Test um zu überprüfen, ob Sie ihr Ziel erreicht haben und berechnen Sie die Teststatistik. Runden Sie Ihr Ergebnis auf drei Stellen.

Solution
=========

Um zu testen, ob die Anteile noch stimmen, muss ein Chi-Quadrat-Anpassungstest durchgeführt werden.

Gemäß der Formel lautet die Teststatistik:
\begin{align*}
V \quad &= \quad \sum_{i=1}^4 \frac{(h_{i} - \hat{h}_{i})^2}{\hat{h}_{i}} \\
\hat{h}_{i} &= \quad n\cdot \text{Anteilswert}_i
\end{align*}

Die erwarteten Häufigkeiten $\hat{h}_{i}$ sind:

```{r, echo=FALSE, results='asis'}
cat(toHTMLorLatex(exy))
```

Daraus ergibt sich ein Wert für die Teststatistik $V = `r round(vsq,3)`$. 

Meta-information
================
extype: num
exsolution: `r round2(vsq, 3)`
extol: 0.05
exname: `r if(exists("story")) story else knitr::current_input()`
