\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 Exercise 7\stitle}}{{\bfseries\large Statistics}}{{\bfseries\large 21. November, 2017}}
\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}}

\graphicspath{{../../pointprocesses/exercises/}}


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

\input{instructions}


\begin{questions}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\question \qt{Wahrscheinlichkeiten der Normalverteilung}
Mit den folgenden Aufgaben wollen wir bestimmen, welcher Anteil eines
normalverteilten Datensatzes in bestimmten Grenzen symmetrisch um den
Mittelwert enthalten ist.
\begin{parts}
  \part Erzeuge einen Datensatz $X = (x_1, x_2, ... x_n)$ aus
  $n=10000$ normalverteilten Zufallszahlen mit Mittelwert $\mu=0$ und
  Standardabweichung $\sigma=1$ (\code{randn() Funktion}).
  \part Bestimme und plotte die Wahrscheinlichkeitsdichte dieser
  Zufallszahlen (normiertes Histogramm) und plotte zum Vergleich in
  den gleichen Plot die Normalverteilung
  \[ p_g(x) = \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2} \; . \]

  \part \label{onesigma} Wieviele dieser Daten $X$ sind maximal eine Standardabweichung vom Mittelwert entfernt?\\
  D.h. wieviele Datenwerte $x_i$ haben den Wert $-\sigma < x_i < +\sigma$?\\
  Wie gro{\ss} ist dann also die Wahrscheinlichkeit $P_{\pm\sigma}$ einen
  Wert in diesem Interval zu erhalten?

  \part \label{probintegral} Berechne numerisch diese
  Wahrscheinlichkeit aus dem entsprechenden Integral
  \[ P_{\pm\sigma}=\int_{x=\mu-\sigma}^{x=\mu+\sigma} p_g(x) \, dx \]
  \"uber die Normalverteilung.
  \"Uberpr\"ufe zuerst, ob tats\"achlich
  \[ \int_{-\infty}^{+\infty} p_g(x) \, dx = 1 \; . \]
  Warum muss das so sein?

  \part Welcher Anteil der Daten ist in den Intervallen $\pm 2\sigma$
  sowie $\pm 3\sigma$ enthalten? 

  Vergleiche die Ergebnisse jeweils mit dem entsprechenden Integral
  \"uber die Wahrscheinlichkeitsdichte.

  \part \label{givenfraction} Finde durch numerische Integration der
  Wahrscheinlichkeitsdichte heraus, in welchem Interval symmetrisch um
  den Mittelwert 50\,\%, 90\,\%, 95\,\% bzw. 99\,\% der Daten enhalten
  sind.

  % \part \extra Modifiziere den Code der Teilaufgaben \pref{onesigma}
  % -- \pref{givenfraction} so, dass er f\"ur Datens\"atze mit
  % beliebigen Mittelwerten und Standardabweichungen funktioniert.\\
  % Teste den Code mit entsprechenden Zufallszahlen.\\
  % Wie bekommt man mit \code{randn()} Zufallszahlen mit beliebiger
  % Standardabweichung und Mittelwerten?
\end{parts}
\begin{solution}
  \lstinputlisting{normprobs.m}
\end{solution}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\question \qt{Zentraler Grenzwertsatz}
Der Zentrale Grenzwertsatz besagt, dass die Summe von unabh\"angigen
und identisch verteilten (i.i.d. = independent and identically
distributed) Zufallsvariablen gegen die Normalverteilung konvergiert.

Den Zentralen Grenzwertsatz wollen wir uns im Folgenden veranschaulichen.
\begin{parts}
  \part Bevor du die weiteren Teilaufgaben liest, versuche dir klar zu
  machen, was der Zentrale Grenzwertsatz bedeutet, und wie du vorgehen
  k\"onntest ein Programm zu schreiben, das den Grenzwertsatz
  illustriert.

  \part Erzeuge 10000 zwischen 0 und 1 gleichverteilte Zufallszahlen
  (Funktion \code{rand}).

  \part Plotte deren Wahrscheinlichkeitsdichte (normiertes Histogram).

  \part Erzeuge weitere 10000 gleichverteilte Zufallszahlen und
  addiere diese zu den bereits vorhandenen auf.

  \part Plotte die Wahrscheinlichkeitsdichte der aufsummierten
  Zufallszahlen.

  \part Wiederhole Schritt (d) und (e) viele Male.

  \part Vergleiche in einer Grafik die Wahrscheinlichkeitsdichte der
  aufsummierten Zufallszahlen mit der Gaussfunktion
  \[ p_g(x) =
  \frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}\]
  mit dem Mittelwert $\mu$ und der Standardabweichung $\sigma$ der
  aufsummierten Zufallszahlen.

  \part Wie \"andert sich der Mittelwert und die
  Standardabweichung/Varianz
  der aufsummierten Zufallszahlen?

  Wie h\"angen diese mit den Werten der urspr\"unglichen Verteilung
  zusammen?

  \part \extra \"Uberpr\"ufe den Grenzwertsatz in gleicher Weise mit
  exponentiell verteilten Zufallszahlen (Funktion \code{rande}).
\end{parts}
\begin{solution}
  \lstinputlisting{centrallimit.m}
  \includegraphics[width=0.5\textwidth]{centrallimit-hist01}
  \includegraphics[width=0.5\textwidth]{centrallimit-hist02}
  \includegraphics[width=0.5\textwidth]{centrallimit-hist03}
  \includegraphics[width=0.5\textwidth]{centrallimit-hist05}
  \includegraphics[width=0.5\textwidth]{centrallimit-samples}
\end{solution}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  \question \qt{Intervallstatistik von Spiketrains}
  In Ilias findet ihr die Dateien \code{poisson.mat},
  \code{pifou.mat}, und \code{lifadapt.mat}.  Jede dieser Dateien
  enth\"alt mehrere Trials von Spiketrains von einer bestimmten Art
  von Neuron. Die Spikezeiten sind in Sekunden gemessen.

  Mit den folgenden Aufgaben wollen wir die Intervallstatistik der
  Spiketrains der drei Neurone miteinander vergleichen.
  \begin{parts}
    \part Lade die Spiketrains aus den drei Dateien. Achte darauf,
    dass sie verschiedene Variablen\-namen bekommen.

    In welchem Datentyp liegen die Daten vor? Wie kann auf einzelne
    Spiketrains zugegriffen werden? Wie auf einzelne Spikezeiten?
    \begin{solution}
      \begin{lstlisting}
        clear all
        % not so good:
        load poisson.mat
        whos
        poissonspikes = spikes;
        load pifou.mat;
        pifouspikes = spikes;
        load lifadapt.mat;
        lifadaptspikes = spikes;
        clear spikes;
        % better:
        clear all
        x = load('poisson.mat');
        poissonspikes = x.spikes;
        x = load('pifou.mat');
        pifouspikes = x.spikes;
        x = load('lifadapt.mat');
        lifadaptspikes = x.spikes;
      \end{lstlisting}
    \end{solution}
    
    \part Schreibe eine Funktion, die die Spikezeiten der ersten
    $t_{max}$ Sekunden in einem Rasterplot visualisiert.  In jeder
    Zeile des Rasterplots wird ein Spiketrain dargestellt. Jeder
    einzelne Spike wird als senkrechte Linie zu der Zeit des
    Auftretens des Spikes geplottet. Benutze die Funktion, um die
    Spikeraster der ersten 1\,s der drei Neurone nebeneinander zu plotten.
    \begin{solution}
      \lstinputlisting{../../pointprocesses/code/spikeraster.m}
      \lstinputlisting{../../pointprocesses/code/plotspikeraster.m}
      \mbox{}\\[-3ex]
      \colorbox{white}{\includegraphics[width=1\textwidth]{spikeraster}}
    \end{solution}
  
    \part Schreibe eine Funktion, die einen einzigen Vektor mit den
    Interspikeintervallen aller Trials von Spikezeiten zur\"uckgibt.
    \begin{solution}
      \lstinputlisting{../../pointprocesses/code/isis.m}
    \end{solution}
    
    \part Schreibe eine Funktion, die ein normiertes Histogramm aus
    einem Vektor von Interspikeintervallen, gegeben in Sekunden,
    berechnet und dieses mit richtiger Achsenbeschriftung plottet.
    Die Interspikeintervalle sollen dabei in Millisekunden angegeben
    werden. Die Funktion soll zus\"atzlich den Mittelwert, die
    Standardabweichung, und den Variationskoeffizienten der
    Interspikeintervalle berechnen und diese im Plot mit angeben.
    
    Benutze die vorherige und diese Funktion, um die
    Interspikeintervall Verteilung der drei Neurone zu vergleichen.
    \begin{solution}
      \lstinputlisting{../../pointprocesses/code/isihist.m}
      \lstinputlisting{../../pointprocesses/code/plotisih.m}
      \mbox{}\\[-3ex]
      \colorbox{white}{\includegraphics[width=1\textwidth]{isihist}}
    \end{solution}
  \end{parts}

\end{questions}

\end{document}