我使用以下代码对时间序列“X”运行 adfuller 测试:
from statsmodels.tsa.stattools import adfuller
X = df["Close"].values
adfuller(X, maxlag=None, regression="c", autolag='AIC', regresults=True)
Python返回的结果为:
(2.8197855029954364,
1.0,
{'1%': -3.430949746911846,
'5%': -2.8618050548838534,
'10%': -2.5669110835837743},
<statsmodels.stats.diagnostic.ResultsStore at 0x1b605e5e050>)
<statsmodels.stats.diagnostic.ResultsStore at 0x1b605e5e050>
是什么意思?我期待“完全回归结果”。
获取完整回归表:
from statsmodels.tsa.stattools import adfuller
X = df["Close"].values
reg_res = adfuller(X, maxlag=None, regression="c", autolag='AIC', regresults=True)
print(reg_res.resols.summary())
添加后您也可以将其转换为简单的DataFrame:
import pandas as pd
regression_table = {
'Variable': reg_res.resols.model.exog_names,
'Coefficient': reg_res.resols.params,
'Std. Error': reg_res.resols.bse,
't-Statistic': reg_res.resols.tvalues,
'P-Value': reg_res.resols.pvalues
}
regression_df = pd.DataFrame(regression_table)
print(regression_df)