237 lines
8.6 KiB
TeX
237 lines
8.6 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}{: L\"osungen}
|
|
\else
|
|
\newcommand{\stitle}{}
|
|
\fi
|
|
\header{{\bfseries\large \"Ubung 8\stitle}}{{\bfseries\large Spiketrain Analyse}}{{\bfseries\large 6. Dezember, 2016}}
|
|
\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{Statistik von Spiketrains 2}
|
|
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 Statistik der Spiketrains
|
|
der drei Neurone miteinander vergleichen.
|
|
|
|
Bereits im letzten \"Ubungszettel erstellte Funktionen d\"urfen (sollen!)
|
|
wiederverwendet werden.
|
|
\begin{parts}
|
|
\part Lade die Spiketrains aus den drei Dateien. Stelle sie in Rasterplots dar.
|
|
|
|
\part Plotte die Interspike-Intervall Verteilungen.
|
|
|
|
Annotiere die Plots mit dem Mittelwert, der
|
|
Standardabweichung, und dem Variationskoeffizienten der
|
|
Interspikeintervalle, sowie der mittleren Feuerrate.
|
|
|
|
\part Vergleiche die ISI-Histogramme mit der ISI Verteilung eines Poisson Prozesses
|
|
der Rate $\lambda$:
|
|
\[ p(T) = \lambda e^{-\lambda T} \; .\]
|
|
|
|
\part Erstelle Return-Maps f\"ur die drei Spiketrains, also jedes
|
|
Interspike-Intervall $T_{i+1}$ gegen das vorherige Intervall $T_i$
|
|
geplottet.
|
|
|
|
\part Schreibe eine Funktion, die die seriellen Korrelationen der
|
|
Interspikeintervalle f\"ur Lags bis zu \code{maxlag} berechnet und
|
|
plottet. Die Seriellen Korrelationen $\rho_k$ f\"ur Lag $k$ der
|
|
Interspikeintervalle $T_i$ sind die Korrelationskoeffizienten
|
|
zwischen den Interspikeintervallen $T_i$ und den um das Lag $k$
|
|
verschobenen Intervallen $T_{i+k}$:
|
|
\[ \rho_k = \frac{\langle (T_{i+k} - \langle T \rangle)(T_i -
|
|
\langle T \rangle) \rangle}{\langle (T_i - \langle T
|
|
\rangle)^2\rangle} = \frac{{\rm cov}(T_{i+k}, T_i)}{{\rm
|
|
var}(T_i)} = {\rm corr}(T_{i+k}, T_i) \]
|
|
|
|
Benutze diese Funktion, um die Interspikeintervall-Korrelationen
|
|
der drei Neurone zu vergleichen.
|
|
\begin{solution}
|
|
\lstinputlisting{../code/isiserialcorr.m}
|
|
\lstinputlisting{../code/plotserialcorr.m}
|
|
\colorbox{white}{\includegraphics[width=1\textwidth]{serialcorr}}
|
|
\end{solution}
|
|
|
|
\end{parts}
|
|
|
|
\continue
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\question \qt{Homogener Poisson Prozess}
|
|
Wir wollen den homogenen Poisson Prozess benutzen um Spikes zu
|
|
generieren, mit denen wir die Analysfunktionen des vorherigen
|
|
Aufgaben \"uberpr\"ufen k\"onnen.
|
|
|
|
Ein homogener Poisson Prozess mit der Rate $\lambda$ (gemessen in
|
|
Hertz) ist ein Punktprozess, bei dem die Wahrscheinlichkeit eines
|
|
Ereignisses unabh\"angig von der Zeit $t$ und unabh\"angig von
|
|
vorherigen Ereignissen ist. Wenn wir die Zeitachse in kleine Bins
|
|
der Breite $\Delta t$ einteilen, dann ist
|
|
\[ P = \lambda \cdot \Delta t \]
|
|
die Wahrscheinlichkeit innerhalb eines Bins ein Ereignis (``spike'')
|
|
zu erhalten. $\Delta t$ muss daf\"ur klein genug sein, so dass $P<0.1$.
|
|
\begin{parts}
|
|
|
|
\part Schreibe eine Funktion die $n$ homogene Poisson Spiketrains
|
|
einer gegebenen Dauer $T_{max}$ mit Rate $\lambda$ erzeugt.
|
|
|
|
Falls das nicht gelingt, benutze f\"ur die folgenden Aufgaben
|
|
soweit m\"oglich spikes aus der Datei \code{poisson.mat}.
|
|
\begin{solution}
|
|
\lstinputlisting{hompoissonspikes.m}
|
|
\end{solution}
|
|
|
|
\part Benutze diese Funktion um einige Trials von Spikes zu erzeugen
|
|
und plotte diese als Spikeraster.
|
|
\begin{solution}
|
|
\begin{lstlisting}
|
|
spikes = hompoissonspikes( 10, 100.0, 0.5 );
|
|
spikeraster( spikes )
|
|
\end{lstlisting}
|
|
\mbox{}\\[-3ex]
|
|
\colorbox{white}{\includegraphics[width=0.7\textwidth]{poissonraster100hz}}
|
|
\end{solution}
|
|
|
|
\part Berechne Histogramme aus den Interspikeintervallen von $n$
|
|
Poisson Spiketrains mit der Rate $\lambda=100$\,Hz. Wie viele bins
|
|
werden f\"ur ein ``sch\"ones'' ISI-Histogramm ungef\"ahr ben\"otigt?
|
|
Ver\"andere \"uber die Dauer $T_{max}$ der Spiketrains und die
|
|
Anzahl $n$ der Trials die Anzahl der Intervalle. Wieviele
|
|
Interspikeintervalle werden ben\"otigt, um ein ``sch\"ones''
|
|
Histogramm zu erhalten? Wie lange m\"usste man also von dem Neuron
|
|
ableiten?
|
|
\begin{solution}
|
|
About 5000 intervals for 25 bins. This corresponds to a $5000 /
|
|
100\,\hertz = 50\,\second$ recording of a neuron firing with
|
|
100\,\hertz.
|
|
\end{solution}
|
|
|
|
\part Vergleiche Interspike-Intervall Histogramme von Poisson-Spikes
|
|
verschiedener Raten $\lambda$ mit der theoretisch zu erwartenden Verteilung
|
|
der Intervalle $T$ des Poisson Prozesses
|
|
\[ p(T) = \lambda e^{-\lambda T} \; .\]
|
|
Achte darauf, dass die Bins des Histograms nicht kleiner als $\Delta t$ sind!
|
|
\begin{solution}
|
|
\lstinputlisting{hompoissonisih.m}
|
|
\colorbox{white}{\includegraphics[width=0.48\textwidth]{poissonisih100hz}}
|
|
\colorbox{white}{\includegraphics[width=0.48\textwidth]{poissonisih20hz}}
|
|
\end{solution}
|
|
|
|
\part \extra Was passiert mit den Histogrammen, wenn die Binbreite
|
|
der Histogramme kleiner als das bei der Erzeugung der Poisson
|
|
Spiketrains verwendete $\Delta t$ ist?
|
|
\begin{solution}
|
|
Die Bins zwischen der durch $\Delta t$ vorgegebenen
|
|
Diskretisierung haben den Wert 0. Dadurch werden aber die anderen
|
|
durch die Normierung h\"oher als sie sein sollten.
|
|
\end{solution}
|
|
|
|
\part Plotte den Mittelwert der Interspikeintervalle, die
|
|
dazugeh\"orige Standardabweichung und den Variationskoeffizienten
|
|
als Funktion der Rate $\lambda$ des Poisson Prozesses. Vergleiche
|
|
die Ergebnisse mit den theoretischen Erwartungen (siehe Vorlesungsskript).
|
|
\begin{solution}
|
|
\lstinputlisting{hompoissonisistats.m}
|
|
\colorbox{white}{\includegraphics[width=0.98\textwidth]{poissonisistats}}
|
|
\end{solution}
|
|
|
|
\part Plotte die seriellen Korrelationen von Poisson-Spiketrains und
|
|
erkl\"are kurz das Ergebniss.
|
|
\begin{solution}
|
|
\mbox{}\\[-2ex]\hspace*{2cm}
|
|
\colorbox{white}{\includegraphics[width=0.8\textwidth]{poissonserial100hz}}\\
|
|
Alle Korrelationen zwischen Interspikeintervallen sind Null, da
|
|
beim Poisson Prozess das Auftreten jedes Spikes unabh\"angig von
|
|
den vorherigen Spikes ist.
|
|
\end{solution}
|
|
|
|
\end{parts}
|
|
|
|
|
|
\end{questions}
|
|
|
|
\end{document}
|