ADF检验Python中statsmodels(ADF test in statsmodels in

2019-06-25 21:44发布

我试图运行在扩张的Dickey-Fuller检定statsmodels在Python,但我似乎失去了一些东西。

这是我想的代码:

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)

我得到以下错误:

Traceback (most recent call last):
  File "C:\Users\Akavall\Desktop\Python\Stats_models\stats_models_test.py", line 12, in <module>
    result = ts.adfuller(x)
  File "C:\Python27\lib\site-packages\statsmodels-0.4.1-py2.7-win32.egg\statsmodels\tsa\stattools.py", line 201, in adfuller
    xdall = lagmat(xdiff[:,None], maxlag, trim='both', original='in')
  File "C:\Python27\lib\site-packages\statsmodels-0.4.1-py2.7-win32.egg\statsmodels\tsa\tsatools.py", line 305, in lagmat
    raise ValueError("maxlag should be < nobs")
ValueError: maxlag should be < nobs

我NumPy的版本:1.6.1我statsmodels版本:我使用Windows 0.4.1。

我在看的文件在这里 ,但找不出什么我做错了。 我在想什么?

提前致谢。

Answer 1:

我想到了。 默认情况下, maxlag设置为None ,而应该设置为整数。 像这样的工作:

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)


文章来源: ADF test in statsmodels in Python