我想测试时间序列(nobs = 23)的平稳性,并从 statsmodels.tsa.stattools 实现了 adfuller 测试。
以下是原始数据:
1995-01-01 3126.0
1996-01-01 3321.0
1997-01-01 3514.0
1998-01-01 3690.0
1999-01-01 3906.0
2000-01-01 4065.0
2001-01-01 4287.0
2002-01-01 4409.0
2003-01-01 4641.0
2004-01-01 4812.0
2005-01-01 4901.0
2006-01-01 5028.0
2007-01-01 5035.0
2008-01-01 5083.0
2009-01-01 5183.0
2010-01-01 5377.0
2011-01-01 5428.0
2012-01-01 5601.0
2013-01-01 5705.0
2014-01-01 5895.0
2015-01-01 6234.0
2016-01-01 6542.0
2017-01-01 6839.0
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的自定义 ADF 函数(归功于此博客):
def test_stationarity(timeseries):
print('Results of Dickey-Fuller Test:')
dftest = adfuller(timeseries, autolag='AIC', maxlag = None)
dfoutput = pd.Series(dftest[0:4], index=['ADF Statistic', 'p-value', '#Lags Used', …Run Code Online (Sandbox Code Playgroud)