增广Dickey-Fuller测试中的BIC在Python中是如何工作的?

2024-06-10 18:42:26 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题是关于增强Dickey-Fuller测试实现的statsmodels.tsa.stattoolspython库-adfuller()。在

原则上,AIC和BIC应该计算出一组可用模型的信息准则,并从中选出信息损失最小的模型。在

但在增强Dickey-Fuller的背景下,它们是如何运作的呢?在

我不明白的是:我设置了maxlag=30,BIC选择了lags=5,并给出了一些信息标准。我已经设置了maxlag=40-BIC仍然选择lags=5,但是信息标准已经改变了!为什么相同滞后数的信息准则会随着maxlag的变化而不同?在

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


Tags: 模型信息标准aic损失fullerstatsmodels准则
1条回答
网友
1楼 · 发布于 2024-06-10 18:42:26

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

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

更一般的是,如何处理初始条件和不同数目的初始条件并不总是一目了然的,自相关和部分自相关很大程度上是基于所有可用的观测值,AR和ARMA模型的完全极大似然估计使用平稳模型来包含初始条件,而条件极大似然估计或最小二乘法则是必要时放下。在

相关问题 更多 >