在python statsmodels不工作的情况下为ADF测试设置maxlag?
我曾尝试在statsmodels中使用ADF测试设置最大滞后,但测试使用的滞后数与我设置的不同。它几乎总是更少。这里有一个小例子来说明我的意思在python statsmodels不工作的情况下为ADF测试设置maxlag?,python,statsmodels,Python,Statsmodels,我曾尝试在statsmodels中使用ADF测试设置最大滞后,但测试使用的滞后数与我设置的不同。它几乎总是更少。这里有一个小例子来说明我的意思 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.6825663173
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设置为1,但在结果中,它表示使用的最大lags为0,对应于结果中的第三个条目
有人能解释为什么会发生这种情况,以及可能如何修复这种情况吗?maxlag参数是最大参数
adfuller
将尝试,但不一定使用。如果未指定,则通过计算[ceil(12*(n/100)^(1/4))]确定最大PAR,因此对于较长的数据集,它假设可能存在较高阶滞后(n是此处的观测量)
然后,它使用一个信息标准来决定哪个滞后给出了最佳模型。信息准则试图平衡拟合优度,同时最小化模型的复杂性。通过使用adfuller函数的autolag
参数,可以指定应使用哪种算法来确定哪种模型是最好的。默认值为Akaike信息标准
如果要强制模型使用指定的“最大滞后”,应使用autolag=None
关闭最佳模型的确定。你确定要这样做吗