Microsoft Word - Poisson Process
1
Abstract—The Poisson Process is widely used to model a
ivals
(or occu
ence of events) in a system. They are events that occur
continuously and independently of each other. A Poisson process
can be modeled by determining the value of λλλλ, the rate at which
the event occurs over a selected time frame. Our Assignment
deals with the firing rates of Neurons, which can be modeled
using the Poisson Process. Using the given time each neuron spike
occurs from the given time period, we can use MATLAB
determine λλλλ in all three different cases using the information
provided.
I. INTRODUCTION
HE objective of this assignment is to examine Poisson
data from a different perspective by analyzing three
different neural firing data sets. Neuron firing times can be
modeled using the Poisson Process because the events occur
continuously and independently of each other. The other
eason as to why it can be modeled as a Poisson process
instead of a Binomial or Uniform is because of the events
occu
ing under a specific time period. A Poisson process is
governed by the average a
ival rate, known as λλλλ (lambda),
whose equation is shown below:
���� = ��
�
λ�
�! �1�
When we completed the previous Computer Assignment
that had asked us to analyze numerous histograms and
determine which histogram coincides with which type of
probability distribution model, we learned that the mean and
variance of a Poisson process had to be equal. Taking this
intuition into account, the following equation set takes this
method into account:
���� = λ� ������ = �� = λ� �2�
There are other special Poisson Process identities that must
e discussed before beginning our analysis. If we were to
measure the time between successive trials (difference), we
can find these times to be distributed along an Exponential
distribution. However, determining the expected value would
e different as opposed to the expected value equation shown
in Equation 2. The expected value of an Exponential
Distribution is simply the reciprocal of λ. The equation for this
method is shown below, along with determining the expected
value:
���� = λ
λ� ���� = 1
λ
�3�
Using the two various discussed methods of the Poisson
Process, our objective is to analyze three different sets of
neural firing samples and determine the “firing rate” (λ) for
each data set. Each data set was sampled at 1000Hz, which
means that each sample time step co
esponds to 1ms. Each of
three data a
ays co
espond to data recorded over a 300
second interval. We are given a
ief behavioral description of
the firing rate for each data set, with the table below
summarizing the description for all three a
ays:
Neural Spike Data
A
ay
Behavior of λλλλ
Spiketimes1 Value is constant
Spiketimes2
Value changes instantly
from one value to
another value over some
point in time
Spiketimes3
Value is changing
consistently
XXXXXXXXXXTable 1 – Summary for each Data A
ay for λλλλ
We can assume that determing the firing rate of neurons for
“spiketimes1” will be simple since the value of λ is considered
to be constant. Determining λ for “spiketimes2” will prove to
e much more challenging, but still moderately easy since λ
changes once at a certain time period. We are assuming that
there will be two values of λλλλ instead of just one value. Since
the value of λ is constantly changing over time, “spiketimes3”
will prove to be most challenging to complete.
Nonetheless, using the knowledge we acquired in the
previous Homework Assignment along with the useful
Poisson Process identities mentioned above, we can
incorporate all these methods to help solve for λ in each data
a
ay.
Determining the Firing Rate of Neurons Using
the Poisson Process
Nabidur Rahman
T
2
II. PROCEDURE AND RESULTS (SPIKETIMES1)
If we closely observe the equations shown on the previous
page, we can see that λ is being multiplied by time (t).
Another symbol that represents that relationship is µ.
Therefore, � = λλλλ�. In our case, µ is denoting the length of
the data vector, with t representing the difference in time.
In MATLAB, we can use the diff function to compute the
time difference between each successive neural spike. Using
those values for t, we can simply divide the length of the data
a
ay with the given time to determine λ. The difficult
assertion of this procedure is that “spiketimes2” and
“spiketimes3” offer varying values of λ. To help overcome
that situation, we need to
eak the data a
ay into time
windows so that under enough time samples, we can gain an
approximately accurate result.
Using MATLAB to perform the above procedure, the
esults of this experiment are shown below for further
analysis:
From Figure 1, we can observe that as the instructor had
stated in the assignment, the values of λ are fairly within
consistent range. The red line shown in Figure 1 is
epresenting the actual value of λ, which results as λλλλ = 0.0488
spikes/millisecond, or 48.8 spikes per second, with E(t) =
20.52 milliseconds using Equation 3. The segments are
denoting the windows of time used to collect the spike time
samples for all 300 seconds. The following table shows the
values of λ that were calculated for each spike time segment,
along with an explanation as to how the actual value of λ was
computed for this selected data a
ay:
Spike time Segment Value of λλλλ (spikes/ms)
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
Actual Value 0.0488
XXXXXXXXXXTable 2 – Summary of Results pertaining to Figure 1 for λλλλ
The actual value was obtained by the number of spikes and
dividing it by the time period which is 300 seconds. We also
took the mean of the 10 λ values and received a calculation of
0.048 as well. Since the values of λ were within constant
ange, solving the firing rate for “spiketimes1” was not
challenging at all. We now continue on to our next analysis:
“spiketimes2”.
III. PROCEDURE AND RESULTS (SPIKETIMES2)
As we did for the “spiketimes1” data set, we will divide the
time segments into windows with a total of 10 segments as
done before. The result of this method are shown below:
XXXXXXXXXX10 11
0.04
0.045
0.05
0.055
0.06
Lambda over 10 Spike Segments
Segment of Spiketimes
λ
(
s
p
ik
e
s
m
s
)
Figure 1 – Plot of λ over the 300 second interval with each
Spike time grouped in segments. Each segment represents an
individual time window. The red line represents the actual λ
for this Data A
ay, which is λλλλ = 0.0488
XXXXXXXXXX10 11
0.015
0.02
0.025
0.03
0.035
0.04
0.045
0.05
0.055
Lambda Distribution for Spiketimes2
Segment of Spiketimes
λ
(
s
p
ik
e
s
m
s
)
Figure 2 – Plot of λ for “Spiketimes2” with each Spike time
grouped in segments. The red line represents the actual λ for
this Data A
ay, where λλλλ� = 0.0254 & λλλλ� = 0.0433
3
We can observe that λ does chance instantaneously at one
point in time since Figure 2 shows the change after Spike time
segment 5 reaching segment 6. Since we took 300 seconds
and divided it into 10 windows, each Spike time segment
consists of 30 seconds of data. Since we observed λ changing
instantly at Segment 6, we assume that the instantaneous
change happens around 180 seconds (Calculation shown
elow):
∆� = �30 seconds1 segment ( ∗ *6
,- segment. = �/0 1234561
The table below lists the values of λ found in each segment of
Spike times:
Spike time Segment Value of λλλλ (spikes/ms)
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
Value of λλλλ� 0.0254
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
Value of λλλλ� 0.0443
XXXXXXXXXXTable 3 – Summary of Results for “Spiketimes2”
Using Equation 3, the expected values for both λ’s are
39.37ms and 22.57ms respectively for this Data Set. Now
that we have determined the firing rate of neurons for
“spiketimes2”, we can continue on to our final analysis,
“spiketimes3”.
IV. PROCEDURE AND RESULTS (SPIKETIMES3)
Determining λ for this Data Set will prove to be difficult
since the Assignment outlines that “spiketimes3” has a
consistently changing λ. As we did before, we will divide the
300 seconds into 10 segments as our 10 individual time
windows. We expect that each Spike time segment will have a
different value of λ associated with it. We are assuming that
the final answer of λ will be an equation rather than an actual
numerical value with respect to time. The results of our
experiment are shown on the right, along with a table
summarizing all values obtained from each time segment:
Spike time Segment Value of λλλλ (spikes/ms)
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXXTable 4 – Summary of Results for “Spiketimes3”
Using Figure 3 as our guide, we realized that λ for this data
a
ay must be a polynomial equation rather than an exact
value. Using MATLAB’s built in function “polyfit”, we
determined the coefficients of the polynomial, which resulted
in λλλλ = XXXXXXXXXX:; − 0. 99:� + 0. 0�>: − 0. 000;� ∗