【发布时间】:2016-02-01 13:11:47
【问题描述】:
这个问题是关于 statsmodels.tsa.stattools python 库 - adfuller() 中的 Augmented Dickey–Fuller 测试实现。
原则上,AIC 和 BIC 应该为一组可用模型计算信息标准,并选择最好的(信息损失最低的模型)。
但它们如何在 Augmented Dickey-Fuller 的背景下运作?
我没有得到的东西:我设置了 maxlag=30,BIC 选择了带有一些信息标准的 lags=5。我已设置 maxlag=40 - BIC 仍选择 lags=5 但信息标准已更改!为什么在世界上相同数量的滞后的信息标准会随着 maxlag 的变化而不同?
有时这会导致模型选择发生变化,当 BIC 从 lags=5 切换到 lags=4 时,而 maxlag 从 20 更改为 30,这是没有意义的,因为 lag=4 以前可用。
【问题讨论】:
-
这不是一个真正的编程问题 - stats.stackexchange.com 可能更合适。
-
如果我没记错的话,原因是为了确保 AIC、BIC 搜索对所有模型使用相同的观察结果,所有滞后的初始观察次数都相同。如果 maxlag 发生变化,那么样本也会发生变化。
-
@tzaman:嗯,我考虑过统计部分,但问题是关于其中一个包中统计方法的具体实现,因此我选择了这个部分。
-
@user333700:这很合适!那么,您是否暗示第一个 BIC 使用 (NumOfObs - maxlag) 观察次数搜索最佳模型,然后使用 (NumOfObs - LagsOfChosenOne) 观察运行选择的模型?您可以将此作为答案发布。我想,就是这样。
-
我写了一个答案。我不记得
runs the chosen one with (NumOfObs - LagsOfChosenOne),但我检查了代码,这就是 adfuller 正在做的。
标签: python statsmodels