根据这个博主的代码,滚动预测该怎么预测未来数据呢
https://blog.csdn.net/weixin_46649052/article/details/109561393
# 设置滚动预测的参数
columns = 'sale'
ts = data[columns]
test_size = 100 # 需要预测的个数
rolling_size = 120 # 滚动窗口大小
ps = 1 # 每次预测的个数
horizon = 1 # 用来消除切片的影响
pre = [] # 存放预测值
test = ts[-test_size:]
# 滚动预测
for i in range(test_size):
print(i)
train = ts[-(rolling_size + test_size - i):-(test_size + horizon - i)]
#print(train)
model = auto_arima(train, start_p=0, start_q=0, max_p=6, max_q=6, max_d=2,
seasonal=True, test='adf',
error_action='ignore',
information_criterion='aic',
njob=-1, suppress_warnings=True)
model.fit(train)
forecast = model.predict(n_periods=ps)
pre.append(forecast[-1])
predictions_ = pd.Series(pre,index=test.index)
# print(predictions)
# 计算RMSE
rmse = np.sqrt(mean_squared_error(predictions_, test))