pyhgf.updates.prediction.continuous.predict_precision#
- pyhgf.updates.prediction.continuous.predict_precision(attributes: Dict, edges: Tuple[AdjacencyLists, ...], node_idx: int) Array [source]#
Compute the expected precision of a continuous state node.
The expected precision at time \(k\) for a state node \(a\) is given by:
\[\hat{\pi}_a^{(k)} = \frac{1}{\frac{1}{\pi_a^{(k-1)}} + \Omega_a^{(k)}}\]where \(\Omega_a^{(k)}\) is the total predicted volatility. This term is the sum of the tonic (endogenous) and phasic (exogenous) volatility, such as:
\[\Omega_a^{(k)} = t^{(k)} \exp{ \left( \omega_a + \sum_{j=1}^{N_{vopa}} \kappa_j \mu_a^{(k-1)} \right) }\]with \(\kappa_j\) the volatility coupling strength with the volatility parent \(j\).
The effective precision \(\gamma_a^{(k)}\) is given by:
\[\gamma_a^{(k) = \Omega_a^{(k)}} \hat{\pi}_a^{(k)}\]This value is also saved in the node for later use during the update steps.
- Parameters:
- attributes
The attributes of the probabilistic network that contains the continuous state node.
- edges
The edges of the probabilistic network as a tuple of
pyhgf.typing.Indexes
. The tuple has the same length as the number of nodes. For each node, the index list value/volatility - parents/children.- node_idx
Index of the node that should be updated.
- Returns:
- expected_precision
The new expected precision of the value parent.
- effective_precision
The effective_precision \(\gamma_a^{(k)}\). This value is stored in the node for later use in the update steps.
References
[1]Weber, L. A., Waade, P. T., Legrand, N., Møller, A. H., Stephan, K. E., & Mathys, C. (2023). The generalized Hierarchical Gaussian Filter (Version 1). arXiv. https://doi.org/10.48550/ARXIV.2305.10937