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
forwardinputs use(batch, time, neurons)observations.- Runtime outputs follow the model output contract.
- Optimizer epochs follow the optimizer contract.