Probabilistic Tensor Decomposition of Neural Population Spiking Activity
Matlab (recommended) and Python (in developement) implementations of Soulat et al. (2021).
The model (A) decomposes an observed count tensor (eg. binned spikes) using a Negative Binomial distribution that depends on a shape parameter, a constrained offset (B) and low rank tensor (C). Variational inference is implemented using a Pólya-Gamma augmentation scheme.
Demo
To train the model(s) on the toydataset described in the paper open:
matlab/demo_vbgcp.m
Or:
python/examples/demo_tensor_variational_inference.ipynb
PG approximation Figures can be generated with:
matlab/study_polyagamma.m
Data Analysis
We process results from S.Keshavarzi (2021) https://doi.org/10.1101/2021.01.22.427789 and benchmark performance of our method compared to standard (G)CP baselines in terms of Variance Explained (A) Deviance Explained (B) and a robustness/similarity metric (C)
Figure generated using:
matlab/data_benchmark.m
matlab/data_benchmark_process.m
Citing us
If our work helps you in a way that you feel warrants reference, please cite the following paper:
@inproceedings{
soulat2021probabilistic,
title={Probabilistic Tensor Decomposition of Neural Population Spiking Activity},
author={Hugo Soulat and Sepiedeh Keshavarzi and Troy William Margrie and Maneesh Sahani},
booktitle={Thirty-Fifth Conference on Neural Information Processing Systems},
year={2021},
url={https://openreview.net/forum?id=1bBF5Zq1YHz}
}