pyhgf.updates.prediction.volatile.predict_precision_value_level#
- pyhgf.updates.prediction.volatile.predict_precision_value_level(attributes, edges, node_idx)[source]#
Predict the value-level precisions using the implicit volatility level.
The implicit volatility level is treated as a full Gaussian parent: the exact moment-generating-function correction \(\kappa^2 / (2 \, \hat{\pi}_{\mathrm{vol}})\) is added inside the log-volatility exponent. In addition, each value parent contributes a first-order Laplace term \((t^{(k)} \, \alpha \, g'(\hat{\mu}_b))^2 / \tilde{\pi}_b\) to the marginal predictive variance (using each parent’s marginal predicted precision,
expected_precision).Two predicted precisions are returned (see
pyhgf.typing.LayerStatefor the notation table):\[\frac{1}{\hat{\pi}_a^{(k)}} = \frac{1}{\pi_a^{(k-1)}} + \Omega_a^{(k)}, \qquad \frac{1}{\tilde{\pi}_a^{(k)}} = \frac{1}{\hat{\pi}_a^{(k)}} + \sum_{b} \frac{ (t^{(k)} \, \alpha_b \, g'(\hat{\mu}_b))^2 } { \tilde{\pi}_b }.\]\(\hat{\pi}_a\) is the conditional predicted precision used by the parent’s posterior-step Schur complement; \(\tilde{\pi}_a\) is the marginal predicted precision consumed by downstream surprise/likelihood code.
- Parameters:
attributes (dict) – The attributes of the probabilistic nodes.
edges (tuple[AdjacencyLists, ...]) – The edges of the probabilistic network as a tuple of
pyhgf.typing.AdjacencyLists.node_idx (int) – Index of the volatile state node.
- Returns:
expected_precision – The marginal predicted precision \(\tilde{\pi}_a^{(k)}\).
conditional_expected_precision – The conditional predicted precision \(\hat{\pi}_a^{(k)}\).
effective_precision – The effective precision \(\gamma_a^{(k)} = \Omega_a^{(k)} \tilde{\pi}_a^{(k)}\), consumed by the volatility-coupling posterior update.
- Return type: