我在分析时间序列。它显然有一个趋势和一个季节性的组成部分。当我做adf根测试时,我得到的p值为0.98,这意味着它是非平稳的。
但是当我在pmdarima做and时,Philippe Perron和Dickey Fuller得到0,而这显然是有趋势的。KPSS返回1,这似乎更准确。当做nsdiffs时,当明显是静止时,也会发生同样的情况。
我做错什么了?为什么我会得到不同的结果?这是否意味着没有趋势?
from pmdarima.arima.utils import ndiffs
difs_adf = ndiffs(train_, test = "adf")
difs_kpss = ndiffs(train_, test = "kpss")
difs_pp = ndiffs(train_, test = "pp")
print(difs_adf , difs_kpss , difs_pp)另一方面,什么是在统计工具中adf测试中的“回归”参数。当系列有趋势时,是否使用"ct“?常数是异方差的同义词吗?
from statsmodels.tsa.stattools import adfuller, kpss
adf = adfuller(train_, regression='ct', autolag='AIC')
print(f'ADF Statistic: {adf[0]}')
print(f'p-value: {adf[1]}')发布于 2022-11-21 10:27:02
不确定是否有帮助,但我发现了这个示例,其中的方法是获取这些测试的最大结果并继续进行:https://notebook.community/tgsmith61591/pyramid/examples/stock_market_example
from pmdarima.arima import ndiffs
kpss_diffs = ndiffs(y_train, alpha=0.05, test='kpss', max_d=6)
adf_diffs = ndiffs(y_train, alpha=0.05, test='adf', max_d=6)
n_diffs = max(adf_diffs, kpss_diffs)
print(f"Estimated differencing term: {n_diffs}")https://stackoverflow.com/questions/63859508
复制相似问题