-
Notifications
You must be signed in to change notification settings - Fork 2
/
README.txt
66 lines (47 loc) · 2.19 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
----------------------------
Flexible Modulated Poisson
----------------------------
**Description:**
This code repository provides a MATLAB implementation
of the flexible over-dispersed Poisson model in
"Dethroning the Fano Factor: a flexible, model-based
approach to partitioning neural variability" published
in Neural Computation, 2018. [[link]](https://www.mitpressjournals.org/doi/full/10.1162/neco_a_01062)
The models fit in this code base are modulated Poisson
models where the data is described by the generative
model
r = Poiss(f(x+n))
where x is the stimulus-related response, n is trial
dependent noise that is normally distributed as
n ~ N(0,sigma^2)
and f() is a nonlinearity. The three possible
nonlinearities in thiscode package are the
exponential, soft-rectification and
power-soft-rectification functions. The model fits
the per-stimulus values x, the noise variance sigma^2
and the parameters of the nonlinearity using a Laplace
approximation method.
**Code desctiption:**
The main file to use in this repository is
negLfun_latentPoiss.m
which is a function that takes in a parameter set,
event count data, and a handle to a link function and
returns the negative log-likelihood value for that data.
The intended use is to use this function in conjunction
with fmincon.m or a similar optimization function in
order to optimize the negative log-likelihood with
respect to the parameter set.
**Usage**
* Launch matlab and cd into the `flexibleModulatedPoisson` directory.
* Examine the demo script `demo.m` for an example on the
appropriate use of this function. `demo.m` generates a set
of synthetic data that mimics the format of the data used
in the related paper. It then demonstrates the correct use
of the `negLfun_latentPoiss.m` function in fitting the
three models included in the package. The results are then
compared, showing how to extract the fit parameters correctly
from the fminunc output, as some of the parameters are fit
under an exponential transformation to ensure positivity.
**Code download:**
* **Clone**: clone the repository from github: ```git clone https://github.com/adamshch/flexibleModulatedPoisson.git```
----------------------------