observation.realizations#

Concrete parameter values for observation models.

Classes

ObsParamsRealization

A single realization of observation model parameters.

ObsParamsPoint

Point estimates of observation model parameters.

Functions

adjust_snr

Scale observation precisions to achieve target signal-to-noise ratios.


class ObsParamsRealization(
C: ndarray,
d: ndarray,
phi: ndarray,
alpha: ndarray,
y_dims: ndarray,
x_dim: int,
)[source]#

A single realization of observation model parameters.

Sources: prior sampling, posterior means, posterior samples.

Parameters:
Cndarray of float, shape (y_dim, x_dim)

Loading matrices.

dndarray of float, shape (y_dim,)

Observation means.

phindarray of float, shape (y_dim,)

Observation precisions.

alphandarray of float, shape (n_groups, x_dim)

ARD parameters.

y_dimsndarray of int, shape (n_groups,)

Dimensionalities of each observed group.

x_dimint

Number of latent dimensions.

class ObsParamsPoint(
C: ndarray,
d: ndarray,
phi: ndarray,
y_dims: ndarray,
x_dim: int,
)[source]#

Point estimates of observation model parameters.

Source: Non-Bayesian fitting (FA, GPFA, etc.)

Semantically distinct from ObsParamsRealization—represents “the” optimized answer, not “a” sample from a distribution. Does not include alpha (non-Bayesian methods do not use ARD).

Parameters:
Cndarray of float, shape (y_dim, x_dim)

Loading matrices.

dndarray of float, shape (y_dim,)

Observation means.

phindarray of float, shape (y_dim,)

Observation precisions.

y_dimsndarray of int, shape (n_groups,)

Dimensionalities of each observed group.

x_dimint

Number of latent dimensions.

adjust_snr(
realization: ObsParamsRealization,
snr: float | ndarray,
y_dims: ndarray | None = None,
) ObsParamsRealization[source]#

Scale observation precisions to achieve target signal-to-noise ratios.

SNR is defined as var(signal) / var(noise), where signal variance comes from the loading matrices C and noise variance from observation precisions phi. This function scales phi to achieve the target SNR per group.

Parameters:
realizationObsParamsRealization

Observation parameters to adjust.

snrfloat or ndarray

Target SNR. Either a scalar (broadcast to all groups) or per-group array of shape (n_groups,).

y_dimsndarray of int, shape (n_groups,) or None, default None

Dimensionalities of each group. If None, uses realization.y_dims.

Returns:
ObsParamsRealization

New realization with adjusted phi values. Other parameters unchanged.