Python implementation of the svGPFA algorithm (Duncker and Sahani, 2018)
Project description
Python implementation of Sparse Variational Gaussian Process Factor Analysis (svGPFA, Duncker and Sahani, 2018)
svGPFA identifies common latent structure in neural population spike-trains. It uses shared latent Gaussian processes, which are combined linearly as in Gaussian Process Factor Analysis (GPFA, Yu et al., 2009). svGPFA extends GPFA to handle unbinned spike-train data by using a continuous time point-process likelihood model and achieving scalability using a sparse variational approximation.
Examples and Documentation
You can run svGPFA on sample data, plot its estimates and perform goodness-of-fit tests (without installing anything in your computer) by just running this Google Colab notebook. You can also do this by installing svGPFA (instructions below) and running this Jupyter notebook. In addition, after installing svGPFA, you can estimate models using a script, as shown in section Testing the installation below.
Documentation can be found here.
Installation
-
clone this repo
-
change the current directory to that of the cloned repo
cd svGPFA
-
if you will not run the example notebooks (see above), in the root directory of the cloned repo type
pip install -e .
If you will run the example notebooks (see above), in the root directory of the cloned repo type
pip install -e .[notebook]
Testing the installation
-
From the root directory of the cloned svGPFA directory, change the current directory to examples/scripts.
cd examples/scripts
-
run the estimation of svGPFA parameters (for only two EM iterations)
python doEstimateSVGPFA.py --em_max_iter=2
-
if everything went well the previous script should terminate after showing the following line in the standard output:
Saved results to results/xxxxxxxx_etimationRes.pickle
Citing us
If you use svGPFA, please cite the following paper:
@article{duncker2018temporal,
title={Temporal alignment and latent Gaussian process factor inference in population spike trains},
author={Duncker, Lea and Sahani, Maneesh},
journal={Advances in neural information processing systems},
volume={31},
year={2018}
}
Development team
-
Joaquin Rapela (Gatsby Computational Neuroscience Unit, University College London)
-
Maneesh Sahani (Gatsby Computational Neuroscience Unit, University College London)
Acknowledgements
The research and development for svGPFA is supported by funding from the Gatsby Charitable Foundation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file svGPFA-1.0.0.tar.gz
.
File metadata
- Download URL: svGPFA-1.0.0.tar.gz
- Upload date:
- Size: 56.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7bc87ce7dcfbbfc011cfa0a414600603c4e96159bd51dd8d17aa80e19b7be7b |
|
MD5 | e9df6e30440badb2ef3742b0f38ded62 |
|
BLAKE2b-256 | 91432294cda34588df2606ec97e86797a6377f804432ee93bb3f6a33914d5c1b |
File details
Details for the file svGPFA-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: svGPFA-1.0.0-py3-none-any.whl
- Upload date:
- Size: 62.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 852ca413e85725380f321eebb4f2f67a2e6662f819241190643523d1962784c1 |
|
MD5 | 03c739005a9479f545b777fbd8e3fff7 |
|
BLAKE2b-256 | 73d32af5e3772c3b253f1f1b5f2b70f3f46b0483120c053f231b2390c2d82373 |