使用ExponentialSmoothing能否跳过2020直接预测2021年日度数据
Holt-Winters指数平滑预测相关问题解答
1. 能否跳过2020年预测步骤直接输出2021年预测值
可以直接实现,不需要逐段预测中间时间段的数值。
Holt-Winters指数平滑模型完成拟合后,会基于训练数据拟合得到的水平、趋势、季节分量直接外推任意时长的未来值,你只需要调整forecast()方法的步长参数为训练集结束时间到2021年末的总天数,再截取对应时间段的结果即可。
你当前训练集结束时间为2018年12月31日,要获取2021年全年预测值,可参考如下代码调整:
# 2019.01.01到2021.12.31共3年,外推总步长为3*365(若包含闰年可调整为对应实际天数 full_forecast = fit1.forecast(3*365) # 截取最后365条结果即为2021年日度预测值 pred_2021 = full_forecast[-365:]
如果你的数据集带pandas datetime索引,也可以直接通过时间筛选获取2021年的预测结果,准确性更高。
2. 预测结果起始时间紧接训练集结束时间是否正常
该现象属于工具的标准设计,完全正常。
statsmodels中forecast()方法的默认逻辑就是从训练集最后一个观测值的下一个时间点开始生成预测序列,步长由传入的参数决定,符合时序预测的常规使用逻辑,方便用户做样本外验证、远期外推的结果对齐。
补充说明:你当前设置的seasonal_periods=730对应2年的季节周期,日度数据常规使用较多的周期为7(周度)、365(年度),可结合你的业务场景确认周期设置是否符合实际数据规律,避免预测误差偏大。
内容的提问来源于stack exchange,提问作者Mihai Domocoş
相关产品推荐
相关产品推荐

