191 lines
6.4 KiB
TeX
191 lines
6.4 KiB
TeX
\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} |