pyhgf.updates.prediction_error.exponential.prediction_error_update_exponential_family_dynamic#
- pyhgf.updates.prediction_error.exponential.prediction_error_update_exponential_family_dynamic(attributes: Dict, edges: Tuple[AdjacencyLists, ...], node_idx: int, sufficient_stats_fn: Callable, **args) Dict[int | str, Dict] [source]#
Pass the expected sufficient statistics to the implied continuous nodes.
When updating an exponential family state node without assuming that \(nu\) is fixed, the node convert the new observation into sufficient statistics and pass the values to the implied continuous nodes. The new values for the vector \(nu\) are recovered in another posterior update, by observing the learning rate in the continuous nodes, usually at the end of the sequence.
- Parameters:
- attributes
The attributes of the probabilistic nodes.
- edges
The edges of the probabilistic nodes as a tuple of
pyhgf.typing.Indexes
. The tuple has the same length as the node number. For each node, the index lists the value and volatility parents and children.- node_idx
Pointer to the value parent node that will be updated.
- sufficient_stats_fn
Compute the sufficient statistics of the probability distribution. This should be one of the method implemented in the distribution class in
pyhgf.math.Normal
, for a univariate normal.
- Returns:
- attributes
The updated attributes of the probabilistic nodes.
References
[1]Mathys, C., & Weber, L. (2020). Hierarchical Gaussian Filtering of Sufficient Statistic Time Series for Active Inference. In Active Inference (pp. 52–58). Springer International Publishing. https://doi.org/10.1007/978-3-030-64919-7_7