Skip to content

[Task]: MvNormalWishart node to enable joint μ–Λ priors for NormalMixture #542

@albertpod

Description

@albertpod

It'd be nice to have MvNormalWishart factor/node (Normal–Wishart) to express a joint prior over component mean and precision:

Why

NormalMixture currently enforces separate mean-field over means and precisions, which can degrade inference (it really does). A joint μ–Λ node (prior) will let us keep mean-field at the mixture level while coupling mean and precision as a single interface, not the nicest, but a pragmatic workaround until mixture nodes support true joint interfaces.

Minimal proposal

  • New node: (μ, Λ) ~ MvNormalWishart(m0, κ, ν, W)

Intended usage with NormalMixture:

# per component k
μΛ[k] ~ MvNormalWishart(m0, κ, ν, W)
y[i] ~ NormalMixture(switch = z[i], mp = μΛ)

Note

MvNormalWishart exists in ExponentialFamily.jl (distribution side), which is helpful, this request is specifically for a ReactiveMP node/factor with conjugate message passing.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions