Submit on Canvas by Tuesday 10/11/22 at 11:43 PM. Ask questions and discuss on Piazza. Have fun!
Action potential waveforms from multiple neurons can be recorded on a single electrode. Imagine that exactly two neurons are contributing spikes to the signal you are recording. Each neuron is spiking independently according to a Poisson process with rate λ1 and λ2, respectively.
We can describe the number of spikes a neuron produces in a one second window using a wide variety of random process models. Let's refer to the parameters of a given model as θ, and a set of neural counts as n. We can evaluate the quality of the model by asking for which model/parameters the likelihood of the data, P(θ∣n), is maximized. In this problem you will try to determine the model for the spikes from a synthetic neuron.
SpikeTimes
and SpikeCounts
. SpikeTimes
is a list of spike times recorded in one experimental
trial (each trial is 1 s for simplicity) from a neuron. For each trial, for convenience, the number of spikes is provided in the corresponding element of SpikeCount
. You can load the data into Python
using the following:import numpy as np
[SpikeTimes, SpikeCount] = np.load("hw2problem2a.npy")
Model | Parameters |
---|---|
Gaussian | Mean = 10.2, Variance = 9.5 |
Poisson | Rate = 9.8 |
SpikeTimes
list). If you were to model this neuron with a Poisson process, would you use a constant or a time-varying rate over the
1 second window? Justify your answer with one or more plots. Click for hint!
.__....._ _.....__, .": o :': ;': o :". `. `-' .'. .'. `-' .' `---' `---' _...----... ... ... ...----..._ .-'__..-""'---- `. `"` .' ----'""-..__`-. '.-' _.--"""' `-._.-' '"""--._ `-.` ' .-"' : `"-. ` ' `. _.'"'._ .' ` `. ,.-'" "'-., .' `. .' `-._ _.-' `"'--...___...--'"`
Here, we will characterize the neural activity recorded on a multielectrode array in a kitty's visual
cortex available at hw2problem3.npy or
hw2problem3.mat.
Spike times in (microseconds) for 10 neurons are given in spiketimes
, a 10 element numpy array,
where each element is a numpy vector of spiketimes. The time-varying stimulus is described in the stimulus
numpy array,
where the first column is timestamps (regularly sampled at 5 ms) and the second column is the direction of motion
(in degrees) of a moving bar. Stimulus directions are randomized, each direction is maintained for 4 s, and directions are
repeated 8 times. You can load the data into Python
as follows:
import numpy as np
[stimulus, spiketimes] = np.load('hw2problem3.npy')