From 18ca54e94d215646deea589fdef3d86b5c6eb3ff Mon Sep 17 00:00:00 2001 From: Jan Benda Date: Mon, 17 Dec 2018 16:12:47 +0100 Subject: [PATCH] [likelihood] started to translate exercise --- likelihood/exercises/exercises01-de.tex | 192 ++++++++++++++++++++++++ likelihood/exercises/exercises01.tex | 29 ++-- likelihood/exercises/instructions.tex | 68 ++++----- 3 files changed, 240 insertions(+), 49 deletions(-) create mode 100644 likelihood/exercises/exercises01-de.tex diff --git a/likelihood/exercises/exercises01-de.tex b/likelihood/exercises/exercises01-de.tex new file mode 100644 index 0000000..1c3dcdf --- /dev/null +++ b/likelihood/exercises/exercises01-de.tex @@ -0,0 +1,192 @@ +\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}{: L\"osungen} +\else +\newcommand{\stitle}{} +\fi +\header{{\bfseries\large \"Ubung 4\stitle}}{{\bfseries\large Statistik}}{{\bfseries\large 26. Oktober, 2015}} +\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 der Standardabweichung} +Wir wollen uns die Likelihood und die Log-Likelihood am Beispiel der +Absch\"atzung der Standardabweichung verdeutlichen. +\begin{parts} + \part Ziehe $n=50$ normalverteilte Zufallsvariablen mit Mittelwert $\mu=3$ + und einer Standardabweichung $\sigma=2$. + + \part + Plotte die Likelihood (aus dem Produkt der Wahrscheinlichkeiten) und + die Log-Likelihood (aus der Summe der logarithmierten + Wahrscheinlichkeiten) f\"ur die Standardabweichung als Parameter. Vergleiche die + Position der Maxima mit der aus den Daten berechneten Standardabweichung. + + \part + Erh\"ohe $n$ auf 1000. Was passiert mit der Likelihood, was mit der Log-Likelihood? Warum? +\end{parts} +\begin{solution} + \lstinputlisting{mlestd.m} + \includegraphics[width=1\textwidth]{mlestd} +\end{solution} + +\continue +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\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} \ No newline at end of file diff --git a/likelihood/exercises/exercises01.tex b/likelihood/exercises/exercises01.tex index 1c3dcdf..ba01ed4 100644 --- a/likelihood/exercises/exercises01.tex +++ b/likelihood/exercises/exercises01.tex @@ -11,11 +11,11 @@ \usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry} \pagestyle{headandfoot} \ifprintanswers -\newcommand{\stitle}{: L\"osungen} +\newcommand{\stitle}{: Solutions} \else \newcommand{\stitle}{} \fi -\header{{\bfseries\large \"Ubung 4\stitle}}{{\bfseries\large Statistik}}{{\bfseries\large 26. Oktober, 2015}} +\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}{} @@ -89,28 +89,27 @@ jan.benda@uni-tuebingen.de} \begin{questions} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\question \qt{Maximum Likelihood der Standardabweichung} -Wir wollen uns die Likelihood und die Log-Likelihood am Beispiel der -Absch\"atzung der Standardabweichung verdeutlichen. +\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 Ziehe $n=50$ normalverteilte Zufallsvariablen mit Mittelwert $\mu=3$ - und einer Standardabweichung $\sigma=2$. + \part Draw $n=50$ normaly distributed random numbers with mean + $\mu=3$ and standard deviation $\sigma=2$. - \part - Plotte die Likelihood (aus dem Produkt der Wahrscheinlichkeiten) und - die Log-Likelihood (aus der Summe der logarithmierten - Wahrscheinlichkeiten) f\"ur die Standardabweichung als Parameter. Vergleiche die - Position der Maxima mit der aus den Daten berechneten Standardabweichung. + \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 - Erh\"ohe $n$ auf 1000. Was passiert mit der Likelihood, was mit der Log-Likelihood? Warum? + \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} -\continue %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \question \qt{Maximum-Likelihood-Sch\"atzer einer Ursprungsgeraden} In der Vorlesung haben wir folgende Formel f\"ur die Maximum-Likelihood diff --git a/likelihood/exercises/instructions.tex b/likelihood/exercises/instructions.tex index 12e9e24..7fe599d 100644 --- a/likelihood/exercises/instructions.tex +++ b/likelihood/exercises/instructions.tex @@ -1,41 +1,41 @@ -\vspace*{-6.5ex} +\vspace*{-8ex} \begin{center} -\textbf{\Large Einf\"uhrung in die wissenschaftliche Datenverarbeitung}\\[1ex] +\textbf{\Large Introduction to scientific computing}\\[1ex] {\large Jan Grewe, Jan Benda}\\[-3ex] -Abteilung Neuroethologie \hfill --- \hfill Institut f\"ur Neurobiologie \hfill --- \hfill \includegraphics[width=0.28\textwidth]{UT_WBMW_Black_RGB} \\ +Neuroethology lab \hfill --- \hfill Institute for Neurobiology \hfill --- \hfill \includegraphics[width=0.28\textwidth]{UT_WBMW_Black_RGB} \\ \end{center} -\ifprintanswers% -\else +% \ifprintanswers% +% \else -% Die folgenden Aufgaben dienen der Wiederholung, \"Ubung und -% Selbstkontrolle und sollten eigenst\"andig bearbeitet und gel\"ost -% werden. Die L\"osung soll in Form eines einzelnen Skriptes (m-files) -% im ILIAS hochgeladen werden. Jede Aufgabe sollte in einer eigenen -% ``Zelle'' gel\"ost sein. Die Zellen \textbf{m\"ussen} unabh\"angig -% voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster: -% ``variablen\_datentypen\_\{nachname\}.m'' benannt werden -% (z.B. variablen\_datentypen\_mueller.m). +% % Die folgenden Aufgaben dienen der Wiederholung, \"Ubung und +% % Selbstkontrolle und sollten eigenst\"andig bearbeitet und gel\"ost +% % werden. Die L\"osung soll in Form eines einzelnen Skriptes (m-files) +% % im ILIAS hochgeladen werden. Jede Aufgabe sollte in einer eigenen +% % ``Zelle'' gel\"ost sein. Die Zellen \textbf{m\"ussen} unabh\"angig +% % voneinander ausf\"uhrbar sein. Das Skript sollte nach dem Muster: +% % ``variablen\_datentypen\_\{nachname\}.m'' benannt werden +% % (z.B. variablen\_datentypen\_mueller.m). -\begin{itemize} -\item \"Uberzeuge dich von jeder einzelnen Zeile deines Codes, dass - sie auch wirklich das macht, was sie machen soll! Teste dies mit - kleinen Beispielen direkt in der Kommandozeile. -\item Versuche die L\"osungen der Aufgaben m\"oglichst in - sinnvolle kleine Funktionen herunterzubrechen. - Sobald etwas \"ahnliches mehr als einmal berechnet werden soll, - lohnt es sich eine Funktion daraus zu schreiben! -\item Teste rechenintensive \code{for} Schleifen, Vektoren, Matrizen - zuerst mit einer kleinen Anzahl von Wiederholungen oder kleiner - Gr\"o{\ss}e, und benutze erst am Ende, wenn alles \"uberpr\"uft - ist, eine gro{\ss}e Anzahl von Wiederholungen oder Elementen, um eine gute - Statistik zu bekommen. -\item Benutze die Hilfsfunktion von \code{matlab} (\code{help - commando} oder \code{doc commando}) und das Internet, um - herauszufinden, wie bestimmte \code{matlab} Funktionen zu verwenden - sind und was f\"ur M\"oglichkeiten sie bieten. - Auch zu inhaltlichen Konzepten bietet das Internet oft viele - Antworten! -\end{itemize} +% \begin{itemize} +% \item \"Uberzeuge dich von jeder einzelnen Zeile deines Codes, dass +% sie auch wirklich das macht, was sie machen soll! Teste dies mit +% kleinen Beispielen direkt in der Kommandozeile. +% \item Versuche die L\"osungen der Aufgaben m\"oglichst in +% sinnvolle kleine Funktionen herunterzubrechen. +% Sobald etwas \"ahnliches mehr als einmal berechnet werden soll, +% lohnt es sich eine Funktion daraus zu schreiben! +% \item Teste rechenintensive \code{for} Schleifen, Vektoren, Matrizen +% zuerst mit einer kleinen Anzahl von Wiederholungen oder kleiner +% Gr\"o{\ss}e, und benutze erst am Ende, wenn alles \"uberpr\"uft +% ist, eine gro{\ss}e Anzahl von Wiederholungen oder Elementen, um eine gute +% Statistik zu bekommen. +% \item Benutze die Hilfsfunktion von \code{matlab} (\code{help +% commando} oder \code{doc commando}) und das Internet, um +% herauszufinden, wie bestimmte \code{matlab} Funktionen zu verwenden +% sind und was f\"ur M\"oglichkeiten sie bieten. +% Auch zu inhaltlichen Konzepten bietet das Internet oft viele +% Antworten! +% \end{itemize} -\fi +% \fi