MODWTResult.variance_interval#

MODWTResult.variance_interval(alpha=_DEFAULT_ALPHA)[source]#

Chi-squared confidence band for the wavelet variance at each level.

From \(\eta_j \hat\nu^2_j / \nu^2_j \sim \chi^2_{\eta_j}\),

\[\Bigl[\frac{\eta_j \hat\nu^2_j}{\chi^2_{\eta_j, 1-\alpha/2}},\; \frac{\eta_j \hat\nu^2_j}{\chi^2_{\eta_j, \alpha/2}}\Bigr].\]
Parameters:

alpha (float) – Two-sided miscoverage.

Return type:

tuple[NDArray[double], NDArray[double]]

Returns:

(lower, upper) each (J,), from nu v / chi2 quantiles with the level’s equivalent degrees of freedom.

Example

>>> rng = np.random.default_rng(0)
>>> res = MODWT(wavelet="haar", levels=3).transform(rng.standard_normal(256))
>>> lower, upper = res.variance_interval()
>>> bool(np.all(lower < res.variance) and np.all(res.variance < upper))
True
>>> (upper / lower).round(2).tolist()
[1.64, 2.02, 2.74]