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')