machenslab/dPCA

An implementation of demixed Principal Component Analysis (a supervised linear dimensionality reduction technique)

What it solves

It addresses the challenge of extracting essential features from complex population activities (such as neural data) where multiple task parameters—like stimuli, decisions, or rewards—influence the population's response. Unlike standard PCA, it allows for the decomposition of data into components that are specifically tied to these different task parameters.

How it works

It is a linear dimensionality reduction technique that decomposes population activity into "demixed components." These components capture the majority of the variance in the data while highlighting how the population is dynamically tuned to specific task parameters.

Who it’s for

Researchers and data scientists analyzing high-dimensional population data, particularly in neuroscience, who need to separate the influence of different experimental variables on the observed activity.

Highlights

  • Provides both Python and MATLAB implementations.
  • API designed to be similar to scikit-learn for ease of use in Python.
  • Supports custom labels for parameter axes to simplify marginalization.
  • Allows flexible configuration of the number of components per marginalization.

Related

  • Project
  • Project
  • Project
  • Project
  • Project