我知道你可以在参数中指定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测试。
答案 0 :(得分:1)
maxlag
是用于autolag
搜索的最大延迟。
默认情况下,所选滞后的数量由所有滞后的最小AIC确定,最大值为maxlag。如果你想拥有固定数量的滞后,那么你需要使用autolag=None
作为参数。
请参阅docstring http://www.statsmodels.org/dev/generated/statsmodels.tsa.stattools.adfuller.html