HeteroscedasticModel#
- class gpjax.gps.HeteroscedasticModel(prior, likelihood, noise_prior)[source]#
Bases:
JointModel[M,K,HL]A joint model with input-dependent (heteroscedastic) noise.
The joint holds two priors — one over the signal process and one over the latent noise process — which is why it is constructed directly rather than via
prior * likelihood:model = gpx.gps.HeteroscedasticModel( prior=signal_prior, likelihood=gpx.likelihoods.HeteroscedasticGaussian(), noise_prior=noise_prior, )
Inference is delegated to
gpjax.variational_families.HeteroscedasticVariationalFamilyand theheteroscedastic_elboobjective; the noise process is exposed as the nested joint modelnoise_model.The noise prior is stored only inside
noise_model, andnoise_priorreads through to it. Holding it in both places would duplicate its parameters across two pytree paths, which an optimiser step would then drive out of sync.- condition(train_data)[source]#
Not available: heteroscedastic conditioning has no closed form.
- Parameters:
train_data (Dataset) – Unused; present for interface uniformity.
- Raises:
NotImplementedError – Always. Heteroscedastic models are the one documented exclusion from universal conditioning.
- Return type: