\documentclass[12pt,a4paper,pdftex]{exam}

\usepackage[german]{babel}
\usepackage{pslatex}
\usepackage[mediumspace,mediumqspace,Gray]{SIunits}      % \ohm, \micro
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}

%%%%% layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
\pagestyle{headandfoot}
\ifprintanswers
\newcommand{\stitle}{: Solutions}
\else
\newcommand{\stitle}{}
\fi
\header{{\bfseries\large Exercise 12\stitle}}{{\bfseries\large Maximum Likelihood}}{{\bfseries\large January 7th, 2019}}
\firstpagefooter{Prof. Dr. Jan Benda}{Phone: 29 74573}{Email:
jan.benda@uni-tuebingen.de}
\runningfooter{}{\thepage}{}

\setlength{\baselineskip}{15pt}
\setlength{\parindent}{0.0cm}
\setlength{\parskip}{0.3cm}
\renewcommand{\baselinestretch}{1.15}

%%%%% listings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{listings}
\lstset{
  language=Matlab,
  basicstyle=\ttfamily\footnotesize,
  numbers=left,
  numberstyle=\tiny,
  title=\lstname,
  showstringspaces=false,
  commentstyle=\itshape\color{darkgray},
  breaklines=true,
  breakautoindent=true,
  columns=flexible,
  frame=single,
  xleftmargin=1em,
  xrightmargin=1em,
  aboveskip=10pt
}

%%%%% math stuff: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm} 
\usepackage{dsfont}
\newcommand{\naZ}{\mathds{N}}
\newcommand{\gaZ}{\mathds{Z}}
\newcommand{\raZ}{\mathds{Q}}
\newcommand{\reZ}{\mathds{R}}
\newcommand{\reZp}{\mathds{R^+}}
\newcommand{\reZpN}{\mathds{R^+_0}}
\newcommand{\koZ}{\mathds{C}}

%%%%% page breaks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\continue}{\ifprintanswers%
\else
\vfill\hspace*{\fill}$\rightarrow$\newpage%
\fi}
\newcommand{\continuepage}{\ifprintanswers%
\newpage
\else
\vfill\hspace*{\fill}$\rightarrow$\newpage%
\fi}
\newcommand{\newsolutionpage}{\ifprintanswers%
\newpage%
\else
\fi}

%%%%% new commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\qt}[1]{\textbf{#1}\\}
\newcommand{\pref}[1]{(\ref{#1})}
\newcommand{\extra}{--- Zusatzaufgabe ---\ \mbox{}}
\newcommand{\code}[1]{\texttt{#1}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\input{instructions}


\begin{questions}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\question \qt{Maximum likelihood of the standard deviation}
Let's compute the likelihood and the log-likelihood for the estimation
of the standard deviation.
\begin{parts}
  \part Draw $n=50$ normaly distributed random numbers with mean
  $\mu=3$ and standard deviation $\sigma=2$.

  \part Plot the likelihood (computed as the product of probabilities)
  and the log-likelihood (sum of the logarithms of the probabilities)
  using the standard deviation as the parameter we want to estimate
  from the data. Compare the position of the maxima with the standard
  deviation that you can compute from the data.

  \part Increase $n$ to 1000. What happens to the likelihood, what
  happens to the log-likelihood? Why?
\end{parts}
\begin{solution}
  \lstinputlisting{mlestd.m}
  \includegraphics[width=1\textwidth]{mlestd}
\end{solution}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\question \qt{Maximum-Likelihood-Sch\"atzer einer Ursprungsgeraden} 
In der Vorlesung haben wir folgende Formel f\"ur die Maximum-Likelihood
Absch\"atzung der Steigung $\theta$ einer Ursprungsgeraden durch $n$ Datenpunkte $(x_i|y_i)$ mit Standardabweichung $\sigma_i$ hergeleitet:
\[\theta = \frac{\sum_{i=1}^n \frac{x_iy_i}{\sigma_i^2}}{ \sum_{i=1}^n
  \frac{x_i^2}{\sigma_i^2}} \]
\begin{parts}
  \part \label{mleslopefunc} Schreibe eine Funktion, die in einem $x$ und einem
  $y$ Vektor die Datenpaare \"uberreicht bekommt und die Steigung der
  Ursprungsgeraden, die die Likelihood maximiert, zur\"uckgibt
  ($\sigma=\text{const}$).

  \part
  Schreibe ein Skript, das Datenpaare erzeugt, die um eine
  Ursprungsgerade mit vorgegebener Steigung streuen. Berechne mit der
  Funktion aus \pref{mleslopefunc} die Steigung aus den Daten,
  vergleiche mit der wahren Steigung, und plotte die urspr\"ungliche
  sowie die gefittete Gerade zusammen mit den Daten.

  \part
  Ver\"andere die Anzahl der Datenpunkte, die Steigung, sowie die
  Streuung der Daten um die Gerade.
\end{parts}
\begin{solution}
  \lstinputlisting{mleslope.m}
  \lstinputlisting{mlepropfit.m}
  \includegraphics[width=1\textwidth]{mlepropfit}
\end{solution}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\question \qt{Maximum-Likelihood-Sch\"atzer einer Wahrscheinlichkeitsdichtefunktion} 
Verschiedene Wahrscheinlichkeitsdichtefunktionen haben Parameter, die
nicht so einfach wie der Mittelwert und die Standardabweichung einer
Normalverteilung direkt aus den Daten berechnet werden k\"onnen. Solche Parameter
m\"ussen dann aus den Daten mit der Maximum-Likelihood-Methode gefittet werden.

Um dies zu veranschaulichen ziehen wir uns diesmal nicht normalverteilte Zufallszahlen, sondern Zufallszahlen aus der Gamma-Verteilung.
\begin{parts}
  \part
  Finde heraus welche \code{matlab} Funktion die
  Wahrscheinlichkeitsdichtefunktion (probability density function) der
  Gamma-Verteilung berechnet.

  \part
  Plotte mit Hilfe dieser Funktion die  Wahrscheinlichkeitsdichtefunktion
  der Gamma-Verteilung f\"ur verschiedene Werte des (positiven) ``shape'' Parameters.
  Den ``scale'' Parameter setzen wir auf Eins.

  \part
  Finde heraus mit welcher Funktion Gammaverteilte Zufallszahlen in
  \code{matlab} gezogen werden k\"onnen. Erzeuge mit dieser Funktion
  50 Zufallszahlen mit einem der oben geplotteten ``shape'' Parameter.

  \part
  Berechne und plotte ein normiertes Histogramm dieser Zufallszahlen.

  \part
  Finde heraus mit welcher \code{matlab}-Funktion eine beliebige
  Verteilung (``distribution'') an die Zufallszahlen nach der
  Maximum-Likelihood Methode gefittet werden kann. Wie wird diese
  Funktion benutzt, um die Gammaverteilung an die Daten zu fitten?

  \part
  Bestimme mit dieser Funktion die Parameter der Gammaverteilung aus
  den Zufallszahlen.

  \part
  Plotte anschlie{\ss}end die Gammaverteilung mit den gefitteten
  Parametern.
\end{parts}
\begin{solution}
  \lstinputlisting{mlepdffit.m}
  \includegraphics[width=1\textwidth]{mlepdffit}
\end{solution}

\end{questions}

\end{document}