|
|
|
|
@@ -15,7 +15,7 @@
|
|
|
|
|
\else
|
|
|
|
|
\newcommand{\stitle}{}
|
|
|
|
|
\fi
|
|
|
|
|
\header{{\bfseries\large \"Ubung 6X\stitle}}{{\bfseries\large Statistik}}{{\bfseries\large 22. November, 2016}}
|
|
|
|
|
\header{{\bfseries\large \"Ubung 7\stitle}}{{\bfseries\large Statistik}}{{\bfseries\large 29. November, 2016}}
|
|
|
|
|
\firstpagefooter{Prof. Dr. Jan Benda}{Phone: 29 74573}{Email:
|
|
|
|
|
jan.benda@uni-tuebingen.de}
|
|
|
|
|
\runningfooter{}{\thepage}{}
|
|
|
|
|
@@ -78,6 +78,8 @@ jan.benda@uni-tuebingen.de}
|
|
|
|
|
\newcommand{\extra}{--- Zusatzaufgabe ---\ \mbox{}}
|
|
|
|
|
\newcommand{\code}[1]{\texttt{#1}}
|
|
|
|
|
|
|
|
|
|
\graphicspath{{../../pointprocesses/exercises/}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
|
\begin{document}
|
|
|
|
|
@@ -96,13 +98,16 @@ Mittelwert enthalten ist.
|
|
|
|
|
\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).
|
|
|
|
|
\part Plotte zum Vergleich in den gleichen Plot die Normalverteilung
|
|
|
|
|
\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 sind maximal eine Standardabweichung vom Mittelwert entfernt?\\
|
|
|
|
|
|
|
|
|
|
\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 also die Wahrscheinlichkeit $P_{\pm\sigma}$ einen
|
|
|
|
|
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 \]
|
|
|
|
|
@@ -110,16 +115,24 @@ Mittelwert enthalten ist.
|
|
|
|
|
\"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 $\pm2\sigma$ sowie $\pm3\sigma$
|
|
|
|
|
enthalten?
|
|
|
|
|
\part \label{givenfraction} Finde 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?
|
|
|
|
|
|
|
|
|
|
\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}
|
|
|
|
|
@@ -134,30 +147,40 @@ distributed) Zufallsvariablen gegen die Normalverteilung konvergiert.
|
|
|
|
|
|
|
|
|
|
Den Zentralen Grenzwertsatz wollen wir uns im Folgenden veranschaulichen.
|
|
|
|
|
\begin{parts}
|
|
|
|
|
\part 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 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?\\
|
|
|
|
|
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}).
|
|
|
|
|
|
|
|
|
|
\part \extra \"Uberpr\"ufe den Grenzwertsatz in gleicher Weise mit
|
|
|
|
|
exponentiell verteilten Zufallszahlen (Funktion \code{rande}).
|
|
|
|
|
\end{parts}
|
|
|
|
|
\begin{solution}
|
|
|
|
|
\lstinputlisting{centrallimit.m}
|
|
|
|
|
@@ -169,56 +192,81 @@ Den Zentralen Grenzwertsatz wollen wir uns im Folgenden veranschaulichen.
|
|
|
|
|
\end{solution}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
|
\question \qt{Random Walk}
|
|
|
|
|
Im folgenden wollen wir einige Eigenschaften des Random Walks bestimmen.
|
|
|
|
|
\begin{parts}
|
|
|
|
|
\part Schreibe eine Funktion, die einen einzelnen Random Walk mit
|
|
|
|
|
Startwert 0 f\"ur $n$ Schritte und Wahrscheinlichkeit $p$ f\"ur
|
|
|
|
|
einen positiven Schritt als Vektor zur\"uckgibt.
|
|
|
|
|
\part Visualisiere jeweils 10 Random Walks mit $p=0.5$ zusammen in einem Plot
|
|
|
|
|
f\"ur $n=100$, $n=1000$ und $n=10000$ (drei Plots).\\
|
|
|
|
|
Sch\"atze aus den Abbildungen ab, wie sich der Mittelwert und die Standardabweichung
|
|
|
|
|
des Random Walks mit der Zeit (Schritte) sich entwickelt.
|
|
|
|
|
\part \"Uberpr\"uefe deine Hypothese zum Mittelwert und zur
|
|
|
|
|
Standardabweichung, indem du von $m$ Random Walks ($m \ge 10$) f\"ur
|
|
|
|
|
jeden z.B. zehnten Schritt den Mittelwert und die Standardabweichung
|
|
|
|
|
\"uber die Positionen der $m$ Random Walks berechnest.\\
|
|
|
|
|
Wie h\"angt also die Standardabweichung von der Anzahl der Schritte
|
|
|
|
|
ab? Wie entwickelt sich die Standardabweichung f\"ur eine sehr
|
|
|
|
|
gro{\ss}e Anzahl von Schritten?
|
|
|
|
|
\part \extra Erstelle eine Grafik, die die Verteilung der Position eines Random Walkers
|
|
|
|
|
zu drei verschiedenen Zeitpunkten zeigt.
|
|
|
|
|
\end{parts}
|
|
|
|
|
\begin{solution}
|
|
|
|
|
\lstinputlisting{randomwalk.m}
|
|
|
|
|
\lstinputlisting{randomwalkstatistics.m}
|
|
|
|
|
\includegraphics[width=0.8\textwidth]{randomwalk-traces}\\
|
|
|
|
|
\includegraphics[width=0.5\textwidth]{randomwalk-stdev}
|
|
|
|
|
\includegraphics[width=0.5\textwidth]{randomwalk-hists}
|
|
|
|
|
\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.
|
|
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
|
\question \qt{\extra 2D Random Walk}
|
|
|
|
|
Bisher hat sich unser Random Walker nur in einer Dimension bewegt
|
|
|
|
|
(nur vorw\"arts oder r\"uckw\"arts). Er kann aber auch in mehreren Dimensionen laufen!\\
|
|
|
|
|
In zwei Dimensionen wird dazu in jedem Schritt eine weitere
|
|
|
|
|
Zufallszahl gezogen, die bestimmt ob er einen Schritt nach links oder
|
|
|
|
|
rechts gemacht hat. Die Bewegung nach vorne/hinten bzw. links/rechts
|
|
|
|
|
sind unabh\"angig voneinander.
|
|
|
|
|
\begin{parts}
|
|
|
|
|
\part Wie kann unter Verwendung unserer Funktion f\"ur den
|
|
|
|
|
eindimensionalen Random Walk ein zweidimensionaler Random Walk
|
|
|
|
|
simuliert werden?
|
|
|
|
|
\part Erstelle h\"ubsche Bilder, die zweidimensionalen Random
|
|
|
|
|
Walks verschiedener L\"ange (bis zu mindestens $n=1000000$) illustrieren.
|
|
|
|
|
\part Animationen sind auch sch\"on! z.B. mit dem \code{pause} Befehl.
|
|
|
|
|
\part Anstatt einfach den Weg des Random Walks zu zeichnen, kann man
|
|
|
|
|
sich auch merken, wie oft er an jeder Stelle vorbeigekommen ist und
|
|
|
|
|
mit einem Farbcode plotten.
|
|
|
|
|
\end{parts}
|
|
|
|
|
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}
|
|
|
|
|
\end{document}
|
|
|
|
|
|