ARIMA异常预测问题:不同训练时间范围样本预测结果偏差原因咨询
ARIMA训练时段差异导致预测值反向偏离问题解答
现象合理性判定
该现象属于ARIMA模型固有拟合逻辑下的正常结果,不存在代码运行错误类的异常问题。
遗漏的核心影响因素
- 平稳性预处理的逻辑偏差:ARIMA建模前会自动对序列做差分处理以满足平稳性要求,两次训练得到的差分规则存在本质差异:2017-2020年的训练序列包含疫情爆发初期的跳涨段,一阶差分后仍会保留正向增长趋势,模型会将疫情带来的突发跳涨识别为长期延续的增长趋势;加入2021年数据后,序列跳涨后大概率进入平台波动/小幅回落阶段,差分后正向趋势被抹平甚至出现负向修正,模型对后续增长的预期会主动下调。
- 滞后项参数的拟合偏差:
predict()输出的样本外预测值高度依赖自回归、移动平均项的拟合参数:2020年截止的训练集末尾几期都是疫情爆发初期的爆发式增长数据,自回归系数会被拟合为较高的正向值,直接推高后续预测结果;加入2021年全年数据后,若2021年数据不再延续跳涨走势,移动平均项会对冲前期跳涨的影响,自回归系数也会被拉低,最终预测值反而低于2020年截止的模型输出。 - 未考虑结构性突变的干扰:ARIMA是单变量时序模型,无法自动识别疫情这类外生结构性突变,两次训练均未将疫情作为外生控制变量纳入模型(即ARIMAX的
exog参数),导致模型只能从纯数值波动规律拟合,完全错配了真实业务逻辑:2020年截止的模型误将突发跳涨判定为长期趋势,2021年截止的模型误将跳涨判定为短期异常后续会均值回归,两种拟合结果都偏离实际情况。
排查与优化建议
- 分别导出两次训练得到的ARIMA阶数
(p,d,q)及对应系数,重点对比差分阶数d、自回归项系数的差异,即可直接验证上述推论 - 绘制两次训练序列差分后的时序图,可直观看到趋势项的拟合差异
- 后续改用带外生变量的ARIMAX模型,将疫情时段设为0-1虚拟变量纳入训练,可大幅降低结构性突变带来的拟合偏差
内容的提问来源于stack exchange,提问作者DIssawi
相关产品推荐
相关产品推荐

