OILMMPosterior#

class gpjax.models.OILMMPosterior(latent_posteriors, latent_datasets, mixing_matrix)[source]#

Bases: object

Posterior distribution for OILMM.

Wraps M independent ConjugatePosterior objects and provides a unified predict() interface that reconstructs predictions in output space.

This is a plain class (not eqx.Module) because it holds Dataset objects which are not JAX pytree nodes. The latent posteriors and mixing matrix are still eqx.Modules and participate in JAX transformations when accessed.

Parameters:
latent_posteriors#

Tuple of M independent ConjugatePosterior objects

latent_datasets#

Tuple of M projected training Datasets (one per latent GP)

mixing_matrix#

OrthogonalMixingMatrix for reconstruction

num_latent_gps#

Number of latent GPs (m)

predict(test_inputs, return_full_cov=True)[source]#

Predict at test locations.

Reconstructs predictions in output space from M independent latent posteriors: 1. Predict each latent GP independently 2. Reconstruct mean: f_mean = H @ latent_means 3. Reconstruct covariance: Sigma_f = (H x I) Sigma_x (H x I)^T

Parameters:
  • test_inputs (Float[jaxlib._jax.Array, 'N D']) – Test input locations [N, D]

  • return_full_cov (bool) – If True, return full [NP, NP] covariance. If False, return diagonal covariance matrix.

Returns:

  • loc: [NP] flattened output-major

  • scale: lx.MatrixLinearOperator [NP, NP] covariance (full or diagonal)

Return type:

GaussianDistribution with