Small updates on pointprocesses

This commit is contained in:
Jan Benda 2015-10-27 09:12:03 +01:00
parent e74993c2cf
commit 8fb45e4164
4 changed files with 55 additions and 36 deletions

View File

@ -1,9 +1,10 @@
function spikes = pifouspikes( trials, input, tmaxdt, D, outau )
% Generate spike times of a perfect integrate-and-fire neuron
% with Ornstein-Uhlenbeck noise (colored noise).
% trials: the number of trials to be generated
% input: the stimulus either as a single value or as a vector
% tmaxdt: in case of a single value stimulus the duration of a trial
% in case of a vector as a stimulus the time step
% tmaxdt: in case of a single value stimulus: the duration of a trial
% in case of a vector as a stimulus: the time step
% D: the strength of additive white noise
% outau: time constant of the colored noise

View File

@ -99,7 +99,7 @@ jan.benda@uni-tuebingen.de}
der drei Neurone miteinander vergleichen.
\begin{parts}
\part Lade die Spiketrains aus den drei Dateien. Achte darauf, dass sie verschiedene
Variablennamen bekommen.
Variablen\-namen bekommen.
\begin{solution}
\begin{lstlisting}
clear all
@ -115,11 +115,11 @@ jan.benda@uni-tuebingen.de}
\end{solution}
\part Schreibe eine Funktion, die die Spikezeiten der ersten
\code{tmax} Sekunden in einem Rasterplot visualisiert. In jeder
$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 zu plotten.
Spikeraster der ersten 1\,s der drei Neurone nebeneinander zu plotten.
\begin{solution}
\lstinputlisting{../code/spikeraster.m}
\lstinputlisting{../code/plotspikeraster.m}
@ -127,22 +127,22 @@ jan.benda@uni-tuebingen.de}
\colorbox{white}{\includegraphics[width=1\textwidth]{spikeraster}}
\end{solution}
\part Schreibe eine Funktion, die einen einzigen Vektor mit den Interspike-Intervallen
aller Trials von Spikezeiten zur\"uckgibt.
\part Schreibe eine Funktion, die einen einzigen Vektor mit den
Interspikeintervallen aller Trials von Spikezeiten zur\"uckgibt.
\begin{solution}
\lstinputlisting{../code/isis.m}
\end{solution}
\part Schreibe eine Funktion, die ein normiertes Histogramm aus
einem Vektor von Interspike-Intervallen, gegeben in Sekunden,
berechnet und dieses mit richtiger Achsenbeschriftung plottet. Die
Interspike-Intervalle sollen dabei in Millisekunden angegeben
werden. Die Funktion soll ausserdem den Mittelwert, die Standardabweichung,
und den Variationskoeffizienten der Interspike Intervalle berechnen
und diese im Plot mit angeben.
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 diese und die vorherige Funktion, um die Interspike-Intervall Verteilung
der drei Neurone zu vergleichen.
Benutze die vorherige und diese Funktion, um die
Interspikeintervall Verteilung der drei Neurone zu vergleichen.
\begin{solution}
\lstinputlisting{../code/isihist.m}
\lstinputlisting{../code/plotisih.m}
@ -150,16 +150,19 @@ jan.benda@uni-tuebingen.de}
\colorbox{white}{\includegraphics[width=1\textwidth]{isihist}}
\end{solution}
\part Schreibe eine Funktion, die die Seriellen Korrelationen der
Interspike Intervalle f\"ur lags bis zu \code{maxlag} berechnet
und plottet. Die Seriellen Korrelationen $\rho_k$ f\"ur lag $k$
der Interspike Intervalle $T_i$ sind wie folgt definiert:
\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 corrcoef}(T_{i+k}, T_i) \] Benutze dies Funktion,
um die Interspike Intervall Korrelationen der drei Neurone zu
vergleichen.
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}
@ -168,11 +171,10 @@ jan.benda@uni-tuebingen.de}
\part Schreibe eine Funktion, die aus Spikezeiten
Histogramme aus der Anzahl von Spikes, die in Fenstern gegebener L\"ange $W$
gez\"ahlt werden, erzeugt und plottet. Zus\"atzlich soll die Funktion
die Poisson-Verteilung
\[ P(k) = \frac{(\lambda W)^ke^{\lambda W}}{k!} \] mit der Rate
$\lambda$, die aus den Daten bestimmt werden kann, mit zu dem
Histogramm hineinzeichen.
gez\"ahlt werden, erzeugt und plottet.
Wende diese Funktion auf die drei
Datens\"atze an. Probiere verschiedene Fenstergr\"o{\ss}en $W$ aus.
\begin{solution}
\lstinputlisting{../code/counthist.m}
\lstinputlisting{../code/plotcounthist.m}

View File

@ -199,4 +199,12 @@ for sufficiently small $\Delta t$.
\end{questions}
\end{document}
\end{document}
Zus\"atzlich soll die Funktion
die Poisson-Verteilung
\[ P(k) = \frac{(\lambda W)^ke^{\lambda W}}{k!} \] mit der Rate
$\lambda$, die aus den Daten bestimmt werden kann, mit zu dem
Histogramm hineinzeichen. Hinweis: es gibt eine \code{matlab} Funktion,
die die Fakult\"at $n!$ berechnet.

View File

@ -56,19 +56,28 @@ erzeugt. Zum Beispiel:
\item Diffusions Koeffizient $D_{ISI} = \frac{\sigma_{ISI}^2}{2\mu_{ISI}^3}$.
\end{itemize}
\subsection{Interval return maps}
Scatter plot von aufeinander folgenden Intervallen $(T_{i+k}, T_i)$ getrennt durch das ``lag'' $k$.
\subsection{Korrelationen der Intervalle}
In ``return maps'' werden die um das ``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}
\caption{\label{returnmapfig}Interspike-Intervall return maps and serial correlations.}
\caption{\label{returnmapfig}Interspike-Intervall return maps und
serielle Korrelationen zwischen aufeinander folgenden Intervallen
im Abstand des Lags $k$.}
\end{figure}
\subsection{Serielle Korrelationen der Intervalle}
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)} \]
$\rho_0=1$ (Korrelation jedes Intervalls mit sich selber).
Solche Ab\"angigkeiten werden durch die serielle Korrelation der
Intervalle quantifiziert. Das ist der 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).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -87,7 +96,6 @@ Statistik der Anzahl der Ereignisse $N_i$ innerhalb von Beobachtungsfenstern $i$
\item Varianz der Anzahl: $\sigma_N^2 = \langle (N - \langle N \rangle)^2 \rangle$.
\item 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'', Feuerrate) gemessen in Hertz
\[ r = \frac{\langle N \rangle}{W} \; . \]