gpt4 book ai didi

python - Augmented Dickey–Fuller 测试中的 BIC 在 Python 中究竟如何工作?

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:20 27 4
gpt4 key购买 nike

这个问题是关于 statsmodels.tsa.stattools python 库中的 Augmented Dickey–Fuller 测试实现 - adfuller()。

原则上,AIC 和 BIC 应该为一组可用模型计算信息标准,并选择最佳模型(信息损失最低的模型)。

但是它们如何在 Augmented Dickey–Fuller 的背景下运作?

我没有得到的东西:我设置了 maxlag=30,BIC 选择了带有一些信息标准的 lags=5。我设置了 maxlag=40 - BIC 仍然选择 lags=5 但信息标准已经改变!为什么相同数量的滞后的信息标准会随着 maxlag 的改变而不同?

有时这会导致模型选择的改变,当 maxlag 从 20 更改为 30 时 BIC 从 lags=5 切换到 lags=4,这没有意义,因为 lag=4 以前可用。

最佳答案

当我们在 adfulller 中请求自动滞后选择时,该函数需要比较所有模型直至给定的 maxlag 滞后。对于这种比较,我们需要对所有模型使用相同的观察结果。因为滞后观测值进入回归矩阵,所以我们将观测值作为与包含的最大滞后相对应的初始条件。

因此 autolag 对所有模型使用 nobs - maxlags 观察值。为了计算 adfuller 本身的测试统计量,我们不再需要模型比较,我们可以使用所有可用于所选滞后的观察结果,即 nobs - best_lag

更一般地说,如何处理初始条件和不同数量的初始条件并不总是很明确,自相关和部分自相关主要基于使用所有可用的观察结果,AR 和 ARMA 模型的完整 MLE 使用平稳模型来包括初始条件,而条件 MLE 或最小二乘法会根据需要丢弃它们。

关于python - Augmented Dickey–Fuller 测试中的 BIC 在 Python 中究竟如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464294/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com