GPFA

Gaussian Process Factor Analysis with diagonal observation noise.

Source

  • Registry name: gpfa
  • Model class: zynamics.models.gpfa.GPFA
  • Config class: zynamics.models.gpfa.GPFAConfig
  • Source file: src/zynamics/models/gpfa.py

When to use

Use GPFA as a classical latent-variable baseline for neural population activity with smooth low-dimensional trajectories. It is useful for comparing neural dynamics methods against a likelihood-based EM estimator.

Assumptions

Observations are modeled with Gaussian noise, a linear loading matrix, a per-neuron offset, diagonal private noise, and RBF Gaussian-process priors over latent trajectories.

Outputs

forward returns posterior latents, observation-space reconstructions, nonnegative rate estimates, orthonormalized latent diagnostics, and the marginal log likelihood used by the loss.

Configuration

Config for Gaussian-observation GPFA.

Field Type Default
name Literal['gpfa'] 'gpfa'
objective str 'negative_log_marginal_likelihood'
latent_dim int 3
bin_width float 20.0
start_tau float 100.0
start_eps float 0.001
min_var_frac float 0.01
learn_kernel_params bool True
fa_max_iters int 500
fa_tol float 1e-08
kernel_param_max_iters int 8
kernel_param_lr float 1.0
jitter float 1e-05
optimization OptimizationConfig OptimizationConfig(name='em')

Contracts