Conjugate Autoregressive node
The ConjugateAR node encodes the same Bayesian autoregressive process as the Autoregressive node:
\[y_t \sim \mathcal{N}(\theta^\top x_t, \, \gamma^{-1})\]
The likelihood is identical to the Autoregressive node, but the AR coefficients θ and the transition precision γ enter through a single edge w that carries the joint (θ, γ) as an MvNormalGamma variable, instead of the two separate mean-field edges θ and γ of AR.
Keeping (θ, γ) joint makes the parameter update exactly conjugate: under the structured factorization q(y, x) q(θ, γ) the posterior q(θ, γ) is again MvNormalGamma. This is a Bayesian linear regression with unknown noise precision, where the regression statistics are the expected sufficient statistics of q(y, x).
Interfaces
| Interface | Alias | Role |
|---|---|---|
y | out | Current observation yₜ |
x | — | Lagged state vector (yₜ₋₁, …, yₜ₋ₚ) |
w | — | Joint parameters (θ, γ) distributed as MvNormalGamma |
Metadata
ConjugateAR reuses ARMeta for the order and variate form, and — like AR — requires it to be passed explicitly:
y[t] ~ ConjugateAR(x[t], w) where { meta = ARMeta(Multivariate, order, ARsafe()) }The state messages (:y, :x), the (y, x) joint marginal, and the average energy delegate to the existing AR rules through the effective (q_θ, q_γ) moments computed by ReactiveMP.conjugatear_effective_marginals.
ReactiveMP.ConjugateAR — Type
ConjugateARAutoregressive node with a combined conjugate parameter interface. The likelihood is identical to AR — y₁ ∼ N(θᵀx, γ⁻¹) with companion-form state propagation — but the AR coefficients θ and the transition precision γ enter through a single edge w that carries the joint (θ, γ) as an MvNormalGamma variable, instead of the two mean-field edges θ and γ of AR.
Keeping (θ, γ) joint makes the parameter update exactly conjugate: under the structured factorization q(y, x) q(θ, γ) the posterior q(θ, γ) is MvNormalGamma. This is a Bayesian linear regression with unknown noise precision, where the regression statistics are the expected sufficient statistics of q(y, x). The node reuses ARMeta for the order and variate form.
Interfaces
y(aliasout) — current state.x— lagged state vector of lengthorder.w— joint parameters(θ, γ)distributed asMvNormalGamma.
ReactiveMP.conjugatear_effective_marginals — Function
conjugatear_effective_marginals(q_w::MvNormalGamma)Map the joint marginal q(θ, γ) = MvNormalGamma(μ, Λ, α, β) to the (q_θ, q_γ) pair under which the AR state/energy rules reproduce the exact ConjugateAR moments: E[γ] = α/β, E[θ] = μ, and the coefficient–precision coupling mγ·Vθ = Λ⁻¹ (i.e. E[γθθᵀ] − E[γ]μμᵀ). This lets the ConjugateAR state rules delegate to the tested AR rules without duplicating their algebra.