结果以 Python 形式返回以进行 adfuller 测试

问题描述 投票:0回答:1

我使用以下代码对时间序列“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>
是什么意思?我期待“完全回归结果”。

python
1个回答
0
投票

获取完整回归表:

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)
© www.soinside.com 2019 - 2024. All rights reserved.