<!--- Filename should be: topic_story_anwserformat.Rmd --->
<!--- st-ML-8-3b.Rnw -->
  
```{r data generation, echo = FALSE, results = "hide"}
library("exams")
library("exams.forge")
instruction <- NULL
ed <- exams:::.exams_get_internal("xexams_dir_exercises")
call <- exams2call()
## DATA GENERATION
x  <- 0:2
repeat {
  xi <- c(x, sample(x, size=sample(1:6, 1),replace=TRUE))
  n  <- table(xi)
  repeat {
    lp <- cbind(ddiscrete(runif(length(x))), ddiscrete(runif(length(x)))-ddiscrete(runif(length(x))))
    if (sum(abs(lp[,2])<1e-3)==1) break
  }  
  # colSums(lp) = c(1,0)
  Li  <- ifelse(abs(lp[,2])<1e-3, sprintf("%.1f^%.0f", lp[,1], n), 
                                  sprintf("(%.1f%+.1f \\cdot p)^%.0f", lp[,1], lp[,2], n))
  LLi <- ifelse(abs(lp[,2])<1e-3, sprintf("%.0f\\cdot\\log(%.1f)", n, lp[,1]), 
                                  sprintf("%.0f\\cdot\\log(%.1f%+.1f \\cdot p)", n, lp[,1], lp[,2]))
  DLi <- ifelse(abs(lp[,2])<1e-3, "0", sprintf("\\frac{%+.1f}{%.1f%+.1f \\cdot p}", n*lp[,2], lp[,1], lp[,2]))
  llp <- lp[abs(lp[,2])>1e-3,]
  lln <- (n*lp[,2])[abs(lp[,2])>1e-3]
  DLh <- sprintf("\\frac{%+.1f}{%.1f%+.1f \\cdot \\hat{p}}", lln, llp[,1], llp[,2])
  llp <- llp[rev(1:nrow(llp)),]
  Dep <- sprintf("+%.1f\\cdot(%.1f%+.1f \\cdot \\hat{p})", lln, llp[,1], llp[,2])
  Dep <- gsub("+-", "-", Dep, fixed=TRUE)
  cfp <- colSums(llp*as.vector(lln))
  ph  <- -cfp[1]/cfp[2]
  pn  <- ph*lp[,2]+lp[,1]
  if (all(pn>=0, pn<=1)) break
}
sx <- as_obs(xi, last=" und ")
```

Question
========

```{r, error=TRUE, child=instruction}
```
  
Ein Arzt nimmt am gleichen Patienten keine, eine oder zwei Blutdruckmessungen pro Quartal vor.
In einem Wissenschaftsjournal hat er gelesen, dass dort folgendes Modell für die Zahl
der Blutdruckmessungen benutzt wurde:

```{r, results='asis', echo=FALSE}
PX <- ifelse(abs(lp[,2])<1e-3, sprintf("%.1f", lp[,1]), 
                         sprintf("%.1f%+.1f \\cdot p", lp[,1], lp[,2]))
m  <- cbind(x=math(as.character(x)), "P(X=x)"=math(PX))
rownames(m) <- rep("", nrow(m))
m  <- html_matrix_sk(m, "", fmt=c("%s", "%s"))
cat(toHTMLorLatex(m))
```

Für `r sum(n)` zufällig ausgewählte Patienten erhielt er dann folgende Stichprobe: `r sx`.

Bestimmen Sie für den Arzt den Maximum-Likelihood-Schätzwert von $\hat{p}$ für diese Stichprobe. 
Gehen Sie davon aus, dass die zweite Ableitung der Likelihood-/Log-Likelihood-Funktion nach $p$ 
an der Stelle von $\hat{p}$ negativ ist.

Runden Sie Ihr Ergebnis auf 4 Stellen nach dem Komma und benutzen Sie den natürlichen Logarithmus.

Solution
========
  
\begin{align*}
L(p)                                                 &= `r paste0(Li, collapse="\\cdot")`\\
\log(L(p))                                           &= `r paste0(LLi, collapse="+")`\\
\frac{d\log(L(p))}{d p}                              &= `r paste0(DLi, collapse="+")`\\
                 `r paste0(DLh, collapse="+")`      &=0\\
                 `r paste0(Dep, collapse="")`      &=0\\
                 `r sprintf("%.2f%+.2f\\cdot\\hat{p}", cfp[1], cfp[2])` &=0\\
                 \hat{p} & = `r round(ph,4)`
\end{align*}


Meta-information
================
extype: num
exsolution: `r round2(ph,4)` 
extol: 0.001
exname: `r if(exists("story")) story else knitr::current_input()`
