[projects] added solution to isicorrelations
This commit is contained in:
parent
012c3e39b4
commit
f76ab7170e
@ -29,8 +29,7 @@ Improve questions
|
||||
|
||||
project_isicorrelations
|
||||
medium-difficult
|
||||
Add statistical test for dependence on adapttau!
|
||||
Need to program a solution!
|
||||
Need to finish solution
|
||||
|
||||
project_isipdffit
|
||||
Too technical
|
||||
|
@ -4,7 +4,7 @@
|
||||
\textbf{Evaluation criteria:}
|
||||
|
||||
You can view the evaluation criteria on the
|
||||
emph{SciCompScoreSheet.pdf} on Ilias.
|
||||
\emph{SciCompScoreSheet.pdf} on Ilias.
|
||||
|
||||
\vspace{1ex}
|
||||
\textbf{Dates:}
|
||||
@ -23,7 +23,7 @@
|
||||
zip-file.
|
||||
|
||||
Hint: make the zip file you want to upload, unpack it somewhere
|
||||
else and check if your main script is running properly.
|
||||
else and check if your main script is still running properly.
|
||||
|
||||
\vspace{1ex}
|
||||
\textbf{Code:}
|
||||
|
@ -19,7 +19,8 @@ clean:
|
||||
|
||||
latex:
|
||||
pdflatex $(BASENAME).tex
|
||||
pdflatex $(BASENAME).tex
|
||||
|
||||
zip: pdf
|
||||
zip: latex
|
||||
rm -f zip $(BASENAME).zip
|
||||
zip $(BASENAME).zip *.pdf *.m data/* $(ZIPFILES)
|
||||
|
@ -1,6 +1,6 @@
|
||||
\documentclass[a4paper,12pt,pdftex]{exam}
|
||||
|
||||
\newcommand{\ptitle}{Interspike-intervall correlations}
|
||||
\newcommand{\ptitle}{Adaptation and interspike-interval correlations}
|
||||
\input{../header.tex}
|
||||
\firstpagefooter{Supervisor: Jan Benda}{phone: 29 74573}%
|
||||
{email: jan.benda@uni-tuebingen.de}
|
||||
@ -20,10 +20,10 @@
|
||||
Explore the dependence of interspike interval correlations on the firing rate,
|
||||
adaptation time constant and noise level.
|
||||
|
||||
The neuron is a neuron with an adaptation current.
|
||||
It is implemented in the file \texttt{lifadaptspikes.m}. Call it
|
||||
with the following parameters:
|
||||
\begin{lstlisting}
|
||||
The neuron is a neuron with an adaptation current. It is
|
||||
implemented in the file \texttt{lifadaptspikes.m}. Call it with the
|
||||
following parameters:
|
||||
\begin{lstlisting}
|
||||
trials = 10;
|
||||
tmax = 50.0;
|
||||
input = 10.0; % the input I
|
||||
@ -31,7 +31,7 @@ Dnoise = 1e-2; % noise strength
|
||||
adapttau = 0.1; % adaptation time constant in seconds
|
||||
adaptincr = 0.5; % adaptation strength
|
||||
|
||||
spikes = lifadaptspikes( trials, input, tmax, Dnoise, adapttau, adaptincr );
|
||||
spikes = lifadaptspikes(trials, input, tmax, Dnoise, adapttau, adaptincr);
|
||||
\end{lstlisting}
|
||||
The returned \texttt{spikes} is a cell array with \texttt{trials} elements, each being a vector
|
||||
of spike times (in seconds) computed for a duration of \texttt{tmax} seconds.
|
||||
@ -39,29 +39,42 @@ spikes = lifadaptspikes( trials, input, tmax, Dnoise, adapttau, adaptincr );
|
||||
and the adaptation time constant via \texttt{adapttau}.
|
||||
|
||||
\begin{parts}
|
||||
\part Measure the intensity-response curve of the neuron, that is the mean firing rate
|
||||
as a function of the input for a range of inputs from 0 to 120.
|
||||
|
||||
\part Compute the correlations between each interspike interval $T_i$ and the next one $T_{i+1}$
|
||||
(serial interspike interval correlation at lag 1). Plot this correlation as a function of the
|
||||
firing rate by varying the input as in (a).
|
||||
|
||||
\part How does this dependence change for different values of the adaptation
|
||||
time constant \texttt{adapttau}? Use values between 10\,ms and
|
||||
1\,s for \texttt{adapttau}.
|
||||
|
||||
\part Determine the firing rate at which the minimum interspike interval correlation
|
||||
occurs. How does the minimum correlation and this firing rate
|
||||
depend on the adaptation time constant \texttt{adapttau}?
|
||||
|
||||
\part How do the results change if the level of the intrinsic noise \texttt{Dnoise} is modified?
|
||||
Use values of 1e-4, 1e-3, 1e-2, 1e-1, and 1 for \texttt{Dnoise}.
|
||||
|
||||
|
||||
\uplevel{If you still have time you can continue with the following question:}
|
||||
|
||||
\part How do the interspike interval distributions look like for the different noise levels
|
||||
at some example values for the input and the adaptation time constant?
|
||||
\part Show a spike-raster plot and a time-resolved firing rate of
|
||||
the neuron for an input current of 50 for three different
|
||||
adaptation time constants \texttt{adapttau} (10\,m, 100\,ms,
|
||||
1\,s). How do the neural responses look like and how do they
|
||||
depend on the adaptation time constant?
|
||||
|
||||
\uplevel{For all the following analysis we only use the spike
|
||||
times of the steady-state response, i.e. we skip all spikes
|
||||
occuring before at least three times the adaptation time
|
||||
constant.}
|
||||
|
||||
\part \label{ficurve} Measure the intensity-response curve of the
|
||||
neuron, that is the mean firing rate as a function of the input
|
||||
for a range of inputs from 0 to 120.
|
||||
|
||||
\part Additionally compute the correlations between each
|
||||
interspike interval $T_i$ and the next one $T_{i+1}$ (serial
|
||||
interspike interval correlation at lag 1) for the same range of
|
||||
inputs as in (\ref{ficurve}). Plot the correlation as a function
|
||||
of the input.
|
||||
|
||||
\part How does the intensity-response curve and the
|
||||
interspike-interval correlations depend on the adaptation time
|
||||
constant \texttt{adapttau}? Use several values between 10\,ms and
|
||||
1\,s for \texttt{adapttau} (logarithmically distributed).
|
||||
|
||||
\part Determine the firing rate at which the minimum interspike
|
||||
interval correlation occurs. How does the minimum correlation and
|
||||
this firing rate (or the inverse of it, the mean interspike
|
||||
interval) depend on the adaptation time constant
|
||||
\texttt{adapttau}? Is this dependence siginificant? If yes, can
|
||||
you explain this dependence?
|
||||
|
||||
\part How do all the results change if the level of the intrinsic
|
||||
noise \texttt{Dnoise} is modified? Use values of 1e-4, 1e-3,
|
||||
1e-2, 1e-1, and 1 for \texttt{Dnoise}.
|
||||
|
||||
\end{parts}
|
||||
|
||||
|
@ -41,11 +41,8 @@ function spikes = lifadaptspikes( trials, input, tmaxdt, D, tauadapt, adaptincr
|
||||
if v >= vthresh
|
||||
v = vreset;
|
||||
a = a + adaptincr/tauadapt;
|
||||
spiketime = i*dt;
|
||||
if spiketime > 4.0*tauadapt
|
||||
times(j) = spiketime - 4.0*tauadapt;
|
||||
j = j + 1;
|
||||
end
|
||||
times(j) = i*dt;
|
||||
j = j + 1;
|
||||
end
|
||||
end
|
||||
spikes{k} = times;
|
||||
|
11
projects/project_isicorrelations/solution/firingrate.m
Normal file
11
projects/project_isicorrelations/solution/firingrate.m
Normal file
@ -0,0 +1,11 @@
|
||||
function [ rate ] = firingrate(spikes, t0, t1)
|
||||
% compute the firing rate from spikes between t0 and t1
|
||||
|
||||
rates = zeros(length(spikes), 1);
|
||||
for k = 1:length(spikes)
|
||||
spiketimes = spikes{k};
|
||||
rates(k) = length(spiketimes((spiketimes>=t0)&(spiketimes<=t1)))/(t1-t0);
|
||||
end
|
||||
rate = mean(rates);
|
||||
end
|
||||
|
36
projects/project_isicorrelations/solution/isicorrelations.m
Normal file
36
projects/project_isicorrelations/solution/isicorrelations.m
Normal file
@ -0,0 +1,36 @@
|
||||
trials = 5;
|
||||
tmax = 10.0;
|
||||
Dnoise = 1e-2; % noise strength
|
||||
adapttau = 0.1; % adaptation time constant in seconds
|
||||
adaptincr = 0.5; % adaptation strength
|
||||
t0=2.0;
|
||||
t1=tmax;
|
||||
maxlag = 5;
|
||||
|
||||
taus = [0.01, 0.1, 1.0];
|
||||
colors = ['r', 'b', 'g'];
|
||||
for j = 1:length(taus)
|
||||
adapttau = taus(j);
|
||||
% f-I curves:
|
||||
Is = [0:10:80];
|
||||
rate = zeros(length(Is),1);
|
||||
corr = zeros(length(Is),maxlag);
|
||||
for k = 1:length(Is)
|
||||
input = Is(k);
|
||||
spikes = lifadaptspikes(trials, input, tmax, Dnoise, adapttau, adaptincr);
|
||||
rate(k) = firingrate(spikes, t0, t1);
|
||||
corr(k,:) = serialcorr(spikes, t0, t1, maxlag);
|
||||
end
|
||||
|
||||
figure(1);
|
||||
hold on
|
||||
plot(Is, rate, colors(j));
|
||||
hold off
|
||||
|
||||
figure(2);
|
||||
hold on
|
||||
plot(Is, corr(:,2), colors(j));
|
||||
hold off
|
||||
end
|
||||
|
||||
pause
|
50
projects/project_isicorrelations/solution/lifadaptspikes.m
Normal file
50
projects/project_isicorrelations/solution/lifadaptspikes.m
Normal file
@ -0,0 +1,50 @@
|
||||
function spikes = lifadaptspikes( trials, input, tmaxdt, D, tauadapt, adaptincr )
|
||||
% Generate spike times of a leaky integrate-and-fire neuron
|
||||
% with an adaptation current
|
||||
% 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
|
||||
% D: the strength of additive white noise
|
||||
% tauadapt: adaptation time constant
|
||||
% adaptincr: adaptation strength
|
||||
|
||||
tau = 0.01;
|
||||
if nargin < 4
|
||||
D = 1e0;
|
||||
end
|
||||
if nargin < 5
|
||||
tauadapt = 0.1;
|
||||
end
|
||||
if nargin < 6
|
||||
adaptincr = 1.0;
|
||||
end
|
||||
vreset = 0.0;
|
||||
vthresh = 10.0;
|
||||
dt = 1e-4;
|
||||
|
||||
if max( size( input ) ) == 1
|
||||
input = input * ones( ceil( tmaxdt/dt ), 1 );
|
||||
else
|
||||
dt = tmaxdt;
|
||||
end
|
||||
spikes = cell( trials, 1 );
|
||||
for k=1:trials
|
||||
times = [];
|
||||
j = 1;
|
||||
v = vreset + (vthresh-vreset)*rand();
|
||||
a = 0.0;
|
||||
noise = sqrt(2.0*D)*randn( length( input ), 1 )/sqrt(dt);
|
||||
for i=1:length( noise )
|
||||
v = v + ( - v - a + noise(i) + input(i))*dt/tau;
|
||||
a = a + ( - a )*dt/tauadapt;
|
||||
if v >= vthresh
|
||||
v = vreset;
|
||||
a = a + adaptincr/tauadapt;
|
||||
times(j) = i*dt;
|
||||
j = j + 1;
|
||||
end
|
||||
end
|
||||
spikes{k} = times;
|
||||
end
|
||||
end
|
15
projects/project_isicorrelations/solution/serialcorr.m
Normal file
15
projects/project_isicorrelations/solution/serialcorr.m
Normal file
@ -0,0 +1,15 @@
|
||||
function [ isicorrs ] = serialcorr(spikes, t0, t1, maxlag)
|
||||
% compute the serial correlations from spikes between t0 and t1
|
||||
|
||||
ics = zeros(length(spikes), maxlag);
|
||||
for k = 1:length(spikes)
|
||||
spiketimes = spikes{k};
|
||||
isis = diff(spiketimes((spiketimes>=t0)&(spiketimes<=t1)));
|
||||
if length(isis) > 2*maxlag
|
||||
for j=1:maxlag
|
||||
ics(k, j) = corr(isis(j:end)', isis(1:end+1-j)');
|
||||
end
|
||||
end
|
||||
end
|
||||
isicorrs = mean(ics, 1);
|
||||
end
|
@ -36,22 +36,29 @@ resting potential before stimulus onset.
|
||||
project, however, you can treat it as if it was the intensity.)
|
||||
|
||||
\begin{parts}
|
||||
\part{} Create a plot of the raw data. For each light intensity plot the average response
|
||||
as a function of time. This plot should also depict the across-trial
|
||||
variability in an appropriate way.\\[0.5ex]
|
||||
\part{} You will notice that the responses have three main parts, a
|
||||
\part Create a plot of the raw data. For each light intensity plot
|
||||
the average response as a function of time. This plot should also
|
||||
depict the across-trial variability in an appropriate way.
|
||||
|
||||
\part You will notice that the responses have three main parts, a
|
||||
pre-stimulus phase, the phase in which the light was on, and
|
||||
finally a post-stimulus phase. Create an characteristic curve that
|
||||
plots the response strength as a function of the stimulus
|
||||
intensity for the ``onset'' and the ``steady state''
|
||||
phases of the light response.\\[0.5ex]
|
||||
\part{} The light switches on at time zero. Estimate the delay between stimulus and response.\\[0.5ex]
|
||||
\part{} Analyze the across trial variability in the ``onset'' and ``steady state''. Check for statistically significant differences.
|
||||
\pate{} The membrane potential shows some fluctuations (noise)
|
||||
phases of the light response.
|
||||
|
||||
\part The light switches on at time zero. Estimate the delay
|
||||
between stimulus and response.
|
||||
|
||||
\part Analyze the across trial variability in the ``onset'' and
|
||||
``steady state''. Check for statistically significant differences.
|
||||
|
||||
\part The membrane potential shows some fluctuations (noise)
|
||||
compare the noise before stimulus onset and in the steady state
|
||||
phase of the response.
|
||||
\part{} (optional) You may also analyze the post-stimulus response in some
|
||||
more detail.
|
||||
|
||||
\part (optional) You may also analyze the post-stimulus response
|
||||
in some more detail.
|
||||
\end{parts}
|
||||
\end{questions}
|
||||
|
||||
|
Reference in New Issue
Block a user