161 lines
6.0 KiB
TeX
161 lines
6.0 KiB
TeX
\documentclass[addpoints,10pt]{exam}
|
|
\usepackage{url}
|
|
\usepackage{color}
|
|
\usepackage{hyperref}
|
|
\usepackage{graphicx}
|
|
|
|
\pagestyle{headandfoot}
|
|
\runningheadrule
|
|
\firstpageheadrule
|
|
|
|
\firstpageheader{Scientific Computing}{Homogeneous Poisson process}{Oct 27, 2014}
|
|
%\runningheader{Homework 01}{Page \thepage\ of \numpages}{23. October 2014}
|
|
\firstpagefooter{}{}{}
|
|
\runningfooter{}{}{}
|
|
\pointsinmargin
|
|
\bracketedpoints
|
|
|
|
%\printanswers
|
|
\shadedsolutions
|
|
|
|
\usepackage[mediumspace,mediumqspace,Gray]{SIunits} % \ohm, \micro
|
|
|
|
%%%%% listings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\usepackage{listings}
|
|
\lstset{
|
|
basicstyle=\ttfamily,
|
|
numbers=left,
|
|
showstringspaces=false,
|
|
language=Matlab,
|
|
breaklines=true,
|
|
breakautoindent=true,
|
|
columns=flexible,
|
|
frame=single,
|
|
captionpos=t,
|
|
xleftmargin=2em,
|
|
xrightmargin=1em,
|
|
aboveskip=10pt,
|
|
%title=\lstname,
|
|
title={\protect\filename@parse{\lstname}\protect\filename@base.\protect\filename@ext}
|
|
}
|
|
|
|
|
|
\begin{document}
|
|
|
|
\sffamily
|
|
%%%%%%%%%%%%%% Questions %%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\begin{questions}
|
|
\question \textbf{Homogeneous Poisson process}
|
|
We use the Poisson process to generate spike trains on which we can test and imrpove some
|
|
standard analysis functions.
|
|
|
|
A homogeneous Poisson process of rate $\lambda$ (measured in Hertz) is a point process
|
|
where the probability of an event is independent of time $t$ and independent of previous events.
|
|
The probability $P$ of an event within a bin of width $\Delta t$ is
|
|
\[ P = \lambda \cdot \Delta t \]
|
|
for sufficiently small $\Delta t$.
|
|
\begin{parts}
|
|
|
|
\part Write a function that generates $n$ homogeneous Poisson spike trains of a given duration $T_{max}$
|
|
with rate $\lambda$.
|
|
\begin{solution}
|
|
\lstinputlisting{hompoissonspikes.m}
|
|
\end{solution}
|
|
|
|
\part Using this function, generate a few trials and display them in a raster plot.
|
|
\begin{solution}
|
|
\lstinputlisting{simulations/spikeraster.m}
|
|
\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 Write a function that extracts a single vector of interspike intervals
|
|
from the spike times returned by the first function.
|
|
\begin{solution}
|
|
\lstinputlisting{simulations/isis.m}
|
|
\end{solution}
|
|
|
|
\part Write a function that plots the interspike-interval histogram
|
|
from a vector of interspike intervals. The function should also
|
|
compute the mean, the standard deviation, and the CV of the intervals
|
|
and display the values in the plot.
|
|
\begin{solution}
|
|
\lstinputlisting{simulations/isihist.m}
|
|
\end{solution}
|
|
|
|
\part Compute histograms for Poisson spike trains with rate
|
|
$\lambda=100$\,Hz. Play around with $T_{max}$ and $n$ and the bin width
|
|
(start with 1\,ms) of the histogram.
|
|
How many
|
|
interspike intervals do you approximately need to get a ``nice''
|
|
histogram? How long do you need to record from the neuron?
|
|
\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 Compare the histogram with the true distribution of intervals $T$ of the Poisson process
|
|
\[ p(T) = \lambda e^{-\lambda T} \]
|
|
for various rates $\lambda$.
|
|
\begin{solution}
|
|
\lstinputlisting{hompoissonisih.m}
|
|
\colorbox{white}{\includegraphics[width=0.48\textwidth]{poissonisih100hz}}
|
|
\colorbox{white}{\includegraphics[width=0.48\textwidth]{poissonisih20hz}}
|
|
\end{solution}
|
|
|
|
\part What happens if you make the bin width of the histogram smaller than $\Delta t$
|
|
used for generating the Poisson spikes?
|
|
\begin{solution}
|
|
The bins between the discretization have zero entries. Therefore
|
|
the other ones become higher than they should be.
|
|
\end{solution}
|
|
|
|
\part Plot the mean interspike interval, the corresponding standard deviation, and the CV
|
|
as a function of the rate $\lambda$ of the Poisson process.
|
|
Compare the simulations with the theoretical expectations for the dependence on $\lambda$.
|
|
\begin{solution}
|
|
\lstinputlisting{hompoissonisistats.m}
|
|
\colorbox{white}{\includegraphics[width=0.98\textwidth]{poissonisistats}}
|
|
\end{solution}
|
|
|
|
\part Write a function that computes serial correlations for the interspike intervals
|
|
for a range of lags.
|
|
The serial correlations $\rho_k$ at lag $k$ are defined as
|
|
\[ \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)} \]
|
|
Use this function to show that interspike intervals of Poisson spikes are independent.
|
|
\begin{solution}
|
|
\lstinputlisting{simulations/isiserialcorr.m}
|
|
\colorbox{white}{\includegraphics[width=0.98\textwidth]{poissonserial100hz}}
|
|
\end{solution}
|
|
|
|
\part Write a function that generates from spike times
|
|
a histogram of spike counts in a count window of given duration $W$.
|
|
The function should also plot the Poisson distribution
|
|
\[ P(k) = \frac{(\lambda W)^ke^{\lambda W}}{k!} \]
|
|
for the rate $\lambda$ determined from the spike trains.
|
|
\begin{solution}
|
|
\lstinputlisting{simulations/counthist.m}
|
|
\colorbox{white}{\includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz10ms}}
|
|
\colorbox{white}{\includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz100ms}}
|
|
\end{solution}
|
|
|
|
\part Write a function that computes mean count, variance of count and the corresponding Fano factor
|
|
for a range of count window durations. The function should generate tow plots: one plotting
|
|
the count variance against the mean, the other one the Fano factor as a function of the window duration.
|
|
\begin{solution}
|
|
\lstinputlisting{simulations/fano.m}
|
|
\colorbox{white}{\includegraphics[width=0.98\textwidth]{poissonfano100hz}}
|
|
\end{solution}
|
|
|
|
\end{parts}
|
|
|
|
\end{questions}
|
|
|
|
|
|
\end{document}
|