在 statsmodels ADF 测试中如何设置要测试的滞后数?

How do you set the number of lags to test in the statsmodels ADF test?

我知道您可以在参数中指定 maxlags,但每当我这样做时,输出都会显示我使用的是零滞后。这是我遇到的问题的一般示例。我在这个例子中设置了 maxlag = 1。然而,结果显示使用的滞后数为 0,对应于输出中的第三个参数。

import numpy as np
import statsmodels.tsa.stattools as ts

x = np.array([1,2,3,4,3,4,2,3])
result = ts.adfuller(x, 1) # maxlag is now set to 1

>>> result
(-2.6825663173365015, 0.077103947319183241, 0, 7, {'5%': -3.4775828571428571, '1%': -4.9386902332361515, '10%': -2.8438679591836733}, 15.971188911270618)

我认为根据我对 maxlag 参数的输入,延迟数有一些内置的决定因素,但我无法在网上找到任何东西。

有人可以解释一下吗,以及如何使用我想要输入的滞后数进行 ADF 测试 运行。

maxlag 是用于 autolag 搜索的最大延迟。

默认情况下,选择的滞后数由所有滞后的最小 AIC 决定,直到 maxlag。如果你想有固定数量的滞后,那么你需要使用 autolag=None 作为参数。

查看文档字符串 http://www.statsmodels.org/dev/generated/statsmodels.tsa.stattools.adfuller.html