\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}