我在Python中使用statsmodels.tsa.statespace.sarimax中的 SARIMAX 。
我有一个简单的一列能源消耗数据集,包含27679行。频率为小时。
借助Gridsearch和Hyperopt,我可以进行超参数优化。
为此,我将数据集 NO NOT RANDOMLY (我使用shuffle = False)拆分为 X_train 和 X_test 数据集,然后拆分 X_train 进入 X_train_subset 和 X_valid 集,这样我就可以对X_valid集进行优化,除非最后我不使用X_test集
from sklearn.model_selection import train_test_split
# We want to forecast on 72 hours, 3 days
test_size = 72/len(result_data)
X_train, X_test = train_test_split(result_data, test_size=test_size, shuffle=False)
X_train_subset, X_valid = train_test_split(X_train, test_size=0.3, shuffle=False)
问题是,有时候,我得到了最佳的超参数,它是由优化产生的(拟合X_train_subset并通过X_valid计算指标),然后当我将模型与 X_train 上的这些超参数拟合时,它不合适,我得到了:
ValueError: Non-stationary starting autoregressive parameters found with `enforce_stationarity` set to True.
对于一个具有超参数组合的Sarima模型,要恢复,请执行以下操作:
有人知道我为什么会出现这种行为以及它对我的模型意味着什么吗?