Gaussian-Process Factor Analysis (GPFA)

GPFA extracts low-d latent trajectories from noisy, high-d time series data. It combines linear dimensionality reduction (factor analysis) with Gaussian-process temporal smoothing in a unified probabilistic framework. GPFA is particularly useful for exploratory analysis of spike trains recorded simultaneously from multiple neurons on individual experimental trials.

Matlab code (version 2.03, 119 kB)

References: Yu et al., J Neurophysiol, 2009; Churchland et al., Nat Neurosci, 2010

Time-Delay Gaussian-Process Factor Analysis (TD-GPFA)

TD-GPFA is an extension of GPFA that allows for a time delay between each latent variable and each neuron. This is useful when the same latent variable describes the activity of different neurons after different time delays. As a result, TD-GPFA can be used to extract a more compact latent representation than GPFA.

This code pack also includes an updated version of GPFA that allows for parallel computing to speed up cross-validation.

Matlab code (version 3.00, 657 kB), Github page

Reference: Lakshmanan et al., Neural Comput, 2015

Distance Covariance Analysis (DCA)

DCA is a linear dimensionality reduction method that can identify linear and nonlinear relationships between multiple data sets. For example, DCA can identify dimensions of population activity in different brain areas that are related to one another and to stimulus or behavioral variables.

Matlab code (version 1.0, 30 kB)   Python code (version 1.0, 30 kB)
Github page

Reference: Cowley et al., AISTATS, 2017


DataHigh is a Matlab-based graphical user interface to visualize and interact with high-dimensional neural population activity. DataHigh has built-in tools to perform dimensionality reduction on raw spike trains, and includes a suite of visualization tools tailored for neural data analysis.

DataHigh webpage

Reference: Cowley et al., J Neural Eng, 2013