%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Analyse von Spiketrains} \determ[Aktionspotential]{Aktionspotentiale} (\enterm{spikes}) sind die Tr\"ager der Information in Nervensystemen. Dabei ist in erster Linie nur der Zeitpunkt des Auftretens eines Aktionspotentials von Bedeutung. Die genaue Form des Aktionspotentials spielt keine oder nur eine untergeordnete Rolle. Nach etwas Vorverarbeitung haben elektrophysiologische Messungen deshalb Listen von Spikezeitpunkten als Ergebniss --- sogenannte \enterm{spiketrains}. Diese Messungen k\"onnen wiederholt werden und es ergeben sich mehrere \enterm{trials} von Spiketrains (\figref{rasterexamplesfig}). Spiketrains sind Zeitpunkte von Ereignissen --- den Aktionspotentialen --- und deren Analyse f\"allt daher in das Gebiet der Statistik von sogenannten \determ[Punktprozess]{Punktprozessen}. \begin{figure}[ht] \includegraphics[width=1\textwidth]{rasterexamples} \titlecaption{\label{rasterexamplesfig}Raster-Plot.}{Raster-Plot von jeweils 10 Realisierungen eines station\"arenen Punktprozesses (homogener Poisson Prozess mit Rate $\lambda=20$\;Hz, links) und eines nicht-station\"aren Punktprozesses (perfect integrate-and-fire Neuron getrieben mit Ohrnstein-Uhlenbeck Rauschen mit Zeitkonstante $\tau=100$\,ms, rechts). Jeder vertikale Strich markiert den Zeitpunkt eines Ereignisses. Jede Zeile zeigt die Ereignisse eines trials.} \end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Punktprozesse} Ein zeitlicher Punktprozess (\enterm{point process}) ist ein stochastischer Prozess, der eine Abfolge von Ereignissen zu den Zeiten $\{t_i\}$, $t_i \in \reZ$, generiert. \begin{ibox}{Beispiele von Punktprozessen} Jeder Punktprozess wird durch einen sich in der Zeit kontinuierlich entwickelnden Prozess generiert. Wann immer dieser Prozess eine Schwelle \"uberschreitet wird ein Ereigniss des Punktprozesses erzeugt. Zum Beispiel: \begin{itemize} \item Aktionspotentiale/Herzschlag: wird durch die Dynamik des Membranpotentials eines Neurons/Herzzelle erzeugt. \item Erdbeben: wird durch die Dynamik des Druckes zwischen tektonischen Platten auf beiden Seiten einer geologischen Verwerfung erzeugt. \item Zeitpunkt eines Grillen/Frosch/Vogelgesangs: wird durch die Dynamik des Nervensystems und des Muskelapparates erzeugt. \end{itemize} \end{ibox} \begin{figure}[t] \texpicture{pointprocessscetch} \titlecaption{\label{pointprocessscetchfig} Statistik von Punktprozessen.}{Ein Punktprozess ist eine Abfolge von Zeitpunkten $t_i$ die auch durch die Intervalle $T_i=t_{i+1}-t_i$ oder die Anzahl der Ereignisse $n_i$ beschrieben werden kann. } \end{figure} F\"ur die Neurowissenschaften ist die Statistik der Punktprozesse besonders wichtig, da die Zeitpunkte der Aktionspotentiale als zeitlicher Punktprozess betrachtet werden k\"onnen und entscheidend f\"ur die Informations\"ubertragung sind. Bei Punktprozessen k\"onnen wir die Zeitpunkte $t_i$ ihres Auftretens, die Intervalle zwischen diesen Zeitpunkten $T_i=t_{i+1}-t_i$, sowie die Anzahl der Ereignisse $n_i$ bis zu einer bestimmten Zeit betrachten (\figref{pointprocessscetchfig}). Zwei Punktprozesse mit verschiedenen Eigenschaften sind in \figref{rasterexamplesfig} als Rasterplot dargestellt, bei dem die Zeitpunkte der Ereignisse durch senkrechte Striche markiert werden. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Intervallstatistik} Die Intervalle $T_i=t_{i+1}-t_i$ zwischen aufeinanderfolgenden Ereignissen sind reelle, positive Zahlen. Bei Aktionspotentialen heisen die Intervalle auch \determ{Interspikeintervalle} (\enterm{interspike intervals}). Deren Statistik kann mit den \"ublichen Gr\"o{\ss}en beschrieben werden. \begin{figure}[t] \includegraphics[width=0.96\textwidth]{isihexamples}\vspace{-2ex} \titlecaption{\label{isihexamplesfig}Interspikeintervall Histogramme}{der in \figref{rasterexamplesfig} gezeigten Spikes.} \end{figure} \begin{exercise}{isis.m}{} Schreibe eine Funktion \code{isis()}, die aus mehreren trials von Spiketrains die Interspikeintervalle bestimmt und diese in einem Vektor zur\"uckgibt. Jeder trial der Spiketrains ist ein Vektor mit den Spikezeiten gegeben in Sekunden als Element in einem \codeterm{cell-array}. \end{exercise} \subsection{Intervallstatistik erster Ordnung} \begin{itemize} \item Wahrscheinlichkeitsdichte $p(T)$ der Intervalle $T$ (\figref{isihexamplesfig}). Normiert auf $\int_0^{\infty} p(T) \; dT = 1$. \item Mittleres Intervall: $\mu_{ISI} = \langle T \rangle = \frac{1}{n}\sum\limits_{i=1}^n T_i$. \item Standardabweichung der Intervalle: $\sigma_{ISI} = \sqrt{\langle (T - \langle T \rangle)^2 \rangle}$\vspace{1ex} \item \determ{Variationskoeffizient} (\enterm{coefficient of variation}): $CV_{ISI} = \frac{\sigma_{ISI}}{\mu_{ISI}}$. \item \determ{Diffusionskoeffizient} (\enterm{diffusion coefficient}): $D_{ISI} = \frac{\sigma_{ISI}^2}{2\mu_{ISI}^3}$. \end{itemize} \begin{exercise}{isiHist.m}{} Schreibe eine Funktion \code{isiHist()}, die einen Vektor mit Interspikeintervallen entgegennimmt und daraus ein normiertes Histogramm der Interspikeintervalle berechnet. \end{exercise} \begin{exercise}{plotISIHist.m}{} Schreibe eine Funktion, die die Histogrammdaten der Funktion \code{isiHist()} entgegennimmt, um das Histogramm zu plotten. Im Plot sollen die Interspikeintervalle in Millisekunden aufgetragen werden. Das Histogramm soll zus\"atzlich mit Mittelwert, Standardabweichung und Variationskoeffizient der Interspikeintervalle annotiert werden. \end{exercise} \subsection{Korrelationen der Intervalle} In \enterm{return maps} werden die um das \enterm{lag} $k$ verz\"ogerten Intervalle $T_{i+k}$ gegen die Intervalle $T_i$ geplottet. Dies macht m\"ogliche Abh\"angigkeiten von aufeinanderfolgenden Intervallen sichtbar. \begin{figure}[t] \includegraphics[width=1\textwidth]{returnmapexamples} \includegraphics[width=1\textwidth]{serialcorrexamples} \titlecaption{\label{returnmapfig}Interspikeintervall return maps und serielle Korrelationen}{zwischen aufeinander folgenden Intervallen im Abstand des Lags $k$.} \end{figure} Solche Ab\"angigkeiten werden durch die \determ{serielle Korrelationen} (\enterm{serial correlations}) der Intervalle quantifiziert. Das ist der \determ{Korrelationskoeffizient} zwischen aufeinander folgenden Intervallen getrennt durch lag $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) \] \"Ublicherweise wird die Korrelation $\rho_k$ gegen den Lag $k$ aufgetragen (\figref{returnmapfig}). $\rho_0=1$ (Korrelation jedes Intervalls mit sich selber). \begin{exercise}{isiserialcorr.m}{} Schreibe eine Funktion \code{isiserialcorr()}, die einen Vektor mit Interspikeintervallen entgegennimmt und daraus die seriellen Korrelationen berechnet und plottet. \pagebreak[4] \end{exercise} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Z\"ahlstatistik} % \begin{figure}[t] % \includegraphics[width=0.48\textwidth]{poissoncounthist100hz10ms}\hfill % \includegraphics[width=0.48\textwidth]{poissoncounthist100hz100ms} % \titlecaption{\label{countstatsfig}Count Statistik.}{} % \end{figure} Die Anzahl der Ereignisse $n_i$ in Zeifenstern $i$ der L\"ange $W$ ergeben ganzzahlige, positive Zufallsvariablen, die meist durch folgende Sch\"atzer charakterisiert werden: \begin{itemize} \item Histogramm der counts $n_i$. \item Mittlere Anzahl von Ereignissen: $\mu_N = \langle n \rangle$. \item Varianz der Anzahl: $\sigma_n^2 = \langle (n - \langle n \rangle)^2 \rangle$. \item \determ{Fano Faktor} (Varianz geteilt durch Mittelwert): $F = \frac{\sigma_n^2}{\mu_n}$. \end{itemize} Insbesondere ist die mittlere Rate der Ereignisse $r$ (Spikes pro Zeit, \determ{Feuerrate}) gemessen in Hertz \sindex[term]{Feuerrate!mittlere Rate} \begin{equation} \label{firingrate} r = \frac{\langle n \rangle}{W} \; . \end{equation} % \begin{figure}[t] % \begin{minipage}[t]{0.49\textwidth} % Poisson process $\lambda=100$\,Hz:\\ % \includegraphics[width=1\textwidth]{poissonfano100hz} % \end{minipage} % \hfill % \begin{minipage}[t]{0.49\textwidth} % LIF $I=10$, $\tau_{adapt}=100$\,ms:\\ % \includegraphics[width=1\textwidth]{lifadaptfano10-100ms} % \end{minipage} % \titlecaption{\label{fanofig}Fano factor.}{} % \end{figure} \begin{exercise}{counthist.m}{} Schreibe eine Funktion \code{counthist()}, die aus mehreren trials von Spiketrains die Verteilung der Anzahl der Spikes in Fenstern einer der Funktion \"ubergegebenen Breite bestimmt, das Histogramm plottet und zur\"uckgibt. Jeder trial der Spiketrains ist ein Vektor mit den Spikezeiten gegeben in Sekunden als Element in einem \codeterm{cell-array}. \end{exercise} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Homogener Poisson Prozess} F\"ur kontinuierliche Me{\ss}gr\"o{\ss}en ist die Normalverteilung u.a. wegen dem Zentralen Grenzwertsatz die Standardverteilung. Eine \"ahnliche Rolle spielt bei Punktprozessen der \determ{Poisson Prozess}. Beim \determ[Poisson Prozess!homogener]{homogenen Poisson Prozess} treten Ereignisse mit einer festen Rate $\lambda=\text{const.}$ auf und sind unabh\"angig von der Zeit $t$ und unabh\"angig von den Zeitpunkten fr\"uherer Ereignisse (\figref{hompoissonfig}). Die Wahrscheinlichkeit zu irgendeiner Zeit ein Ereigniss in einem kleinen Zeitfenster der Breite $\Delta t$ zu bekommen ist \begin{equation} \label{hompoissonprob} P = \lambda \cdot \Delta t \; . \end{equation} Beim \determ[Poisson Prozess!inhomogener]{inhomogenen Poisson Prozess} h\"angt die Rate $\lambda$ von der Zeit ab: $\lambda = \lambda(t)$. \begin{exercise}{poissonspikes.m}{} Schreibe eine Funktion \code{poissonspikes()}, die die Spikezeiten eines homogenen Poisson-Prozesses mit gegebener Rate in Hertz f\"ur eine Anzahl von trials gegebener maximaler L\"ange in Sekunden in einem \codeterm{cell-array} zur\"uckgibt. Benutze \eqnref{hompoissonprob} um die Spikezeiten zu bestimmen. \end{exercise} \begin{figure}[t] \includegraphics[width=1\textwidth]{poissonraster100hz} \titlecaption{\label{hompoissonfig}Rasterplot von Spikes eines homogenen Poisson Prozesses mit $\lambda=100$\,Hz.}{} \end{figure} \begin{figure}[t] \includegraphics[width=0.45\textwidth]{poissonisihexp20hz}\hfill \includegraphics[width=0.45\textwidth]{poissonisihexp100hz} \titlecaption{\label{hompoissonisihfig}Interspikeintervallverteilungen zweier Poissonprozesse.}{} \end{figure} Der homogene Poissonprozess hat folgende Eigenschaften: \begin{itemize} \item Die Intervalle $T$ sind exponentiell verteilt (\figref{hompoissonisihfig}): \begin{equation} \label{poissonintervals} p(T) = \lambda e^{-\lambda T} \; . \end{equation} \item Das mittlere Intervall ist $\mu_{ISI} = \frac{1}{\lambda}$ . \item Die Varianz der Intervalle ist $\sigma_{ISI}^2 = \frac{1}{\lambda^2}$ . \item Der Variationskoeffizient ist also immer $CV_{ISI} = 1$ . \item Die \determ[serielle Korrelationen]{seriellen Korrelationen} $\rho_k =0$ f\"ur $k>0$, da das Auftreten der Ereignisse unabh\"angig von der Vorgeschichte ist. Ein solcher Prozess wird auch \determ{Erneuerungsprozess} genannt (\enterm{renewal process}). \item Die Anzahl der Ereignisse $k$ innerhalb eines Fensters der L\"ange W ist \determ[Poisson-Verteilung]{Poissonverteilt}: \[ P(k) = \frac{(\lambda W)^ke^{\lambda W}}{k!} \] (\figref{hompoissoncountfig}) \item Der \determ{Fano Faktor} ist immer $F=1$ . \end{itemize} \begin{exercise}{hompoissonspikes.m}{} Schreibe eine Funktion \code{hompoissonspikes()}, die die Spikezeiten eines homogenen Poisson-Prozesses mit gegebener Rate in Hertz f\"ur eine Anzahl von trials gegebener maximaler L\"ange in Sekunden in einem \codeterm{cell-array} zur\"uckgibt. Benutze die exponentiell-verteilten Interspikeintervalle \eqnref{poissonintervals}, um die Spikezeiten zu erzeugen. \end{exercise} \begin{figure}[t] \includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz10ms}\hfill \includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz100ms} \titlecaption{\label{hompoissoncountfig}Z\"ahlstatistik von Poisson Spikes.}{} \end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Zeitabh\"angige Feuerraten} Bisher haben wir station\"are Spiketrains betrachtet, deren Statistik sich innerhalb der Analysezeit nicht ver\"andert (station\"are Punktprozesse). Meistens jedoch \"andert sich die Statistik der Spiketrains eines Neurons mit der Zeit. Z.B. kann ein sensorisches Neuron auf einen Reiz hin mit einer erh\"ohten Feuerrate antworten (nichtstation\"arer Punktprozess). Wie die mittlere Anzahl der Spikes sich mit der Zeit ver\"andert, die \determ{Feuerrate} $r(t)$, ist die wichtigste Gr\"o{\ss}e bei nicht-station\"aren Spiketrains. Die Einheit der Feuerrate ist Hertz, also Anzahl Aktionspotentiale pro Sekunde. Es gibt verschiedene Methoden diese zu bestimmen. Drei solcher Methoden sind in Abbildung \ref{psthfig} dargestellt. Alle Methoden haben ihre Berechtigung und ihre Vor- und Nachteile. Im folgenden werden die drei Methoden aus Abbildung \ref{psthfig} n\"aher erl\"autert. \begin{figure}[tp] \includegraphics[width=\columnwidth]{firingrates} \titlecaption{Bestimmung der zeitabh\"angigen Feuerrate.}{\textbf{A)} Rasterplot eines Spiketrains. \textbf{B)} Feurerrate aus der instantanen Feuerrate bestimmt. \textbf{C)} klassisches PSTH mit der Binning Methode. \textbf{D)} Feuerrate durch Faltung mit einem Gauss Kern bestimmt.}\label{psthfig} \end{figure} \subsection{Instantane Feuerrate} \begin{figure}[tp] \includegraphics[width=\columnwidth]{isimethod} \titlecaption{Instantane Feuerrate.}{Skizze eines Spiketrains (oben). Die Pfeile zwischen aufeinanderfolgenden Aktionspotentialen mit den Zahlen in Millisekunden illustrieren die Interspikeintervalle. Der Kehrwert des Interspikeintervalle ergibt die instantane Feuerrate.}\label{instrate} \end{figure} Ein sehr einfacher Weg, die zeitabh\"angige Feuerrate zu bestimmen ist die sogenannte \determ[Feuerrate!instantane]{instantane Feuerrate} (\enterm[firing rate!instantaneous]{instantaneous firing rate}). Dabei wird die Feuerrate aus dem Kehrwert der Interspikeintervalle, der Zeit zwischen zwei aufeinander folgenden Aktionspotentialen (\figref{instrate} A), bestimmt. Die abgesch\"atzte Feuerrate (\figref{instrate} B) ist g\"ultig f\"ur das gesammte Interspikeintervall. Diese Methode hat den Vorteil, dass sie sehr einfach zu berechnen ist und keine Annahme \"uber eine relevante Zeitskala (der Kodierung oder des Auslesemechanismus der postsynaptischen Zelle) macht. $r(t)$ ist allerdings keine kontinuierliche Funktion, die Spr\"unge in der Feuerrate k\"onnen f\"ur manche Analysen nachteilig sein. Au{\ss}erdem wird die Feuerrate nie gleich Null, auch wenn lange keine Aktionspotentiale generiert wurden. \begin{exercise}{instantaneousRate.m}{} Implementiere die Absch\"atzung der Feuerrate auf Basis der instantanen Feuerrate. Plotte die Feuerrate als Funktion der Zeit. \end{exercise} \subsection{Peri-Stimulus-Zeit-Histogramm} W\"ahrend die Instantane Rate den Kehrwert der Zeit von einem bis zum n\"achsten Aktionspotential misst, sch\"atzt das sogenannte \determ{Peri-Stimulus-Zeit-Histogramm} (\enterm{peri stimulus time histogram}, \determ[PSTH|see{Peri-Stimulus-Zeit-Histogramm}]{PSTH}) die Wahrscheinlichkeit ab, zu einem Zeitpunkt Aktionspotentiale anzutreffen. Es wird versucht die mittlere Rate \eqnref{firingrate} im Grenzwert kleiner Beobachtungszeiten abzusch\"atzen: \begin{equation} \label{psthrate} r(t) = \lim_{W \to 0} \frac{\langle n \rangle}{W} \; , \end{equation} wobei die Anzahl $n$ der Aktionspotentiale, die im Zeitintervall $(t,t+W)$ aufgetreten sind, \"uber trials gemittelt wird. Eine solche Rate enspricht der zeitabh\"angigen Rate $\lambda(t)$ des inhomogenen Poisson-Prozesses. Das PSTH \eqnref{psthrate} kann entweder \"uber die Binning-Methode oder durch Verfaltung mit einem Kern bestimmt werden. Beiden Methoden gemeinsam ist die Notwendigkeit der Wahl einer zus\"atzlichen Zeitskala, die der Beobachtungszeit $W$ in \eqnref{psthrate} entspricht. \subsubsection{Binning-Methode} \begin{figure}[tp] \includegraphics[width=\columnwidth]{binmethod} \titlecaption{Bestimmung des PSTH mit der Binning Methode.}{Der gleiche Spiketrain wie in \figref{instrate}. Die grauen Linien markieren die Grenzen der Bins und die Zahlen geben die Anzahl der Spikes in jedem Bin an (oben). Die Feuerrate ergibt sich aus dem mit der Binbreite normierten Zeithistogramm (unten).}\label{binpsth} \end{figure} Bei der Binning-Methode wird die Zeitachse in gleichm\"aßige Abschnitte (Bins) eingeteilt und die Anzahl Aktionspotentiale, die in die jeweiligen Bins fallen, gez\"ahlt (\figref{binpsth} A). Um diese Z\"ahlungen in die Feuerrate umzurechnen muss noch mit der Binweite normiert werden. Das ist \"aquivalent zur Absch\"atzung einer Wahrscheinlichkeitsdichte. Es kann auch die \code{hist()} Funktion zur Bestimmung des PSTHs verwendet werden. \sindex[term]{Feuerrate!Binningmethode} Die bestimmte Feuerrate gilt f\"ur das gesamte Bin (\figref{binpsth} B). Das so berechnete PSTH hat wiederum eine stufige Form, die von der Wahl der Binweite anh\"angt. $r(t)$ ist also keine stetige Funktion. Die Binweite bestimmt die zeitliche Aufl\"osung der Absch\"atzung. \"Anderungen in der Feuerrate, die innerhalb eines Bins vorkommen k\"onnen nicht aufgl\"ost werden. Mit der Wahl der Binweite wird somit eine Annahme \"uber die relevante Zeitskala des Spiketrains gemacht. \pagebreak[4] \begin{exercise}{binnedRate.m}{} Implementiere die Absch\"atzung der Feuerrate mit der ``binning'' Methode. Plotte das PSTH. \end{exercise} \subsubsection{Faltungsmethode} \begin{figure}[tp] \includegraphics[width=\columnwidth]{convmethod} \titlecaption{Bestimmung des PSTH mit der Faltungsmethode.}{Der gleiche Spiketrain wie in \figref{instrate}. Bei der Verfaltung des Spiketrains mit einem Faltungskern wird jeder Spike durch den Faltungskern ersetzt (oben). Bei korrekter Normierung des Kerns ergibt sich die Feuerrate direkt aus der \"Uberlagerung der Kerne.}\label{convrate} \end{figure} Bei der Faltungsmethode werden die harten Kanten der Bins der Binning-Methode vermieden. Der Spiketrain wird mit einem Kern verfaltet, d.h. jedes Aktionspotential wird durch den Kern ersetzt. Zur Berechnung wird die Aktionspotentialfolge zun\"achst ``bin\"ar'' dargestellt. Dabei wird ein Spiketrain als (Zeit-)Vektor dargestellt, in welchem die Zeitpunkte der Aktionspotentiale als 1 notiert werden. Alle anderen Elemente des Vektors sind 0. Anschlie{\ss}end wir dieser bin\"are Spiketrain mit einem Gau{\ss}-Kern bestimmter Breite verfaltet: \[r(t) = \int_{-\infty}^{\infty} \omega(\tau) \, \rho(t-\tau) \, {\rm d}\tau \; , \] wobei $\omega(\tau)$ der Filterkern und $\rho(t)$ die bin\"are Antwort ist. Bildlich geprochen wird jede 1 in $\rho(t)$ durch den Filterkern ersetzt (Abbildung \ref{convrate} A). Wenn der Kern richtig normiert wurde (Integral gleich Eins), ergibt sich die Feuerrate direkt aus der \"Uberlagerung der Kerne (Abb. \ref{convrate} B). \sindex[term]{Feuerrate!Faltungsmethode} Die Faltungsmethode f\"uhrt, anders als die anderen Methoden, zu einer stetigen Funktion was insbesondere f\"ur spektrale Analysen von Vorteil sein kann. Die Wahl der Kernbreite bestimmt, \"ahnlich zur Binweite, die zeitliche Aufl\"osung von $r(t)$. Die Breite des Kerns macht also auch wieder eine Annahme \"uber die relevante Zeitskala des Spiketrains. \pagebreak[4] \begin{exercise}{convolutionRate.m}{} Verwende die Faltungsmethode um die Feuerrate zu bestimmen. Plotte das Ergebnis. \end{exercise} \section{Spike-triggered Average} Die graphischer Darstellung der Feuerrate allein reicht nicht aus um den Zusammenhang zwischen neuronaler Antwort und einem Stimulus zu analysieren. Eine Methode um mehr \"uber diesen Zusammenhang zu erfahren, ist der \enterm{spike-triggered average} (\enterm[STA|see{spike-triggered average}]{STA}). Der STA \begin{equation} STA(\tau) = \langle s(t - \tau) \rangle = \frac{1}{N} \sum_{i=1}^{N} s(t_i - \tau) \end{equation} der $N$ Aktionspotentiale zu den Zeiten $t_i$ in Anwort auf den Stimulus $s(t)$ ist der mittlere Stimulus, der zu einem Aktionspotential in der neuronalen Antwort f\"uhrt. Der STA l\"a{\ss}t sich relativ einfach berechnen, indem aus dem Stimulus f\"ur jeden beobachteten Spike ein entsprechender Abschnitt ausgeschnitten wird und diese dann gemittelt werde (\figref{stafig}). \begin{figure}[t] \includegraphics[width=\columnwidth]{sta} \titlecaption{Spike-triggered Average eines P-Typ Elektrorezeptors und Stimulusrekonstruktion.}{Der STA (links): der Rezeptor wurde mit einem ``white-noise'' Stimulus getrieben. Zeitpunkt 0 ist der Zeitpunkt des beobachteten Aktionspotentials. Die Kurve ergibt sich aus dem gemittelten Stimulus je 50\,ms vor und nach einem Aktionspotential. Stimulusrekonstruktion mittels STA (rechts). Die Zellantwort wird mit dem STA gefaltet um eine Rekonstruktion des Stimulus zu erhalten.}\label{stafig} \end{figure} Aus dem STA k\"onnen verschiedene Informationen \"uber den Zusammenhang zwischen Stimulus und neuronaler Antwort gewonnen werden. Die Breite des STA repr\"asentiert die zeitliche Pr\"azision, mit der Stimulus und Antwort zusammenh\"angen und wie weit das Neuron zeitlich integriert. Die Amplitude des STA (gegeben in der gleichen Einheit wie der Stimulus) deutet auf die Empfindlichkeit des Neurons bez\"uglich des Stimulus hin. Eine hohe Amplitude besagt, dass es einen starken Stimulus ben\"otigt, um ein Aktionspotential hervorzurufen. Aus dem zeitlichen Versatz des STA kann die Zeit abgelesen werden, die das System braucht, um auf den Stimulus zu antworten. Der STA kann auch dazu benutzt werden, aus den Antworten der Zelle den Stimulus zu rekonstruieren (\figref{stafig} B). Bei der \determ[invertierte Rekonstruktion]{invertierten Rekonstruktion} wird die Zellantwort mit dem STA verfaltet. \begin{exercise}{spikeTriggeredAverage.m}{} Implementiere eine Funktion, die den STA ermittelt. Verwende dazu den Datensatz \file{sta\_data.mat}. Die Funktion sollte folgende R\"uckgabewerte haben: \vspace{-1ex} \begin{itemize} \setlength{\itemsep}{0ex} \item den Spike-Triggered-Average. \item die Standardabweichung der individuellen STAs. \item die Anzahl Aktionspotentiale, die zur Berechnung des STA verwendet wurden. \vspace{-2ex} \end{itemize} \end{exercise} \begin{exercise}{reconstructStimulus.m}{} Rekonstruiere den Stimulus mithilfe des STA und der Spike Zeiten. Die Funktion soll Vektor als R\"uckgabewert haben, der genauso gro{\ss} ist wie der Originalstimulus aus der Datei \file{sta\_data.mat}. \end{exercise}