HierarchicalBVARResult.hyperparameter_interval#

HierarchicalBVARResult.hyperparameter_interval(name)[source]#

One hyperparameter’s posterior summary: 16th percentile, mean, 84th.

Parameters:

name (str) – A label from hyper_names.

Return type:

NDArray[double]

Returns:

A (3,) array (low, mean, high).

Raises:

SpecificationError – If the name is unknown, or the fit was empirical Bayes and holds no hyperparameter draws.

Example

>>> import numpy as np
>>> rng = np.random.default_rng(0)
>>> y = 5.0 + np.cumsum(0.0 * rng.standard_normal((150, 2)), axis=0)
>>> y += rng.standard_normal((150, 2))
>>> model = HierarchicalBVAR(y, order=1)
>>> full = model.fit(method="full", n_draws=200, n_burn=200, seed=0)
>>> low, mean, high = full.hyperparameter_interval("delta")
>>> bool(low < mean < high)
True
>>> full.hyperparameter_interval("rho")
Traceback (most recent call last):
cultivars.exceptions.SpecificationError: unknown hyperparameter 'rho'; ...
>>> empirical = model.fit(method="empirical", n_draws=50, seed=0)
>>> empirical.hyperparameter_interval("lambda")
Traceback (most recent call last):
cultivars.exceptions.SpecificationError: the empirical-Bayes fit conditions on the ...