2.5 滚动预测与误差指标


2.5 滚动预测与误差指标

本节摘要:诊断通过只说明样本内相关被吃完。对外承诺要用持出样本。固定原点一次预测未来 h 步会让误差累积;滚动原点每走一步用新观测更新,更接近值班室用法。MAE、MSE、RMSE、MAPE 尺子不同:MAPE 在近零处爆炸,MSE 被大误差主导。示意数字只演示计算,不代表真实业务精度。

读前必看

阅读完本节,你应当能够:

  1. 区分固定原点与滚动原点,并说明多步预测误差为何通常变大。
  2. 用同一组示意预测计算 MAE、RMSE、MAPE,并解释它们可能选出不同赢家。
  3. 说明为何拟合 R 方不能代替持出误差。

一、预测是把差分「积」回去

ARIMA 在差分序列上建模,预报时要把差分还原成水平。一步预报用到最新观测;多步预报会把前面的预报值当成「假观测」再往前推,所以不确定度随步数涨。随机游走(ARIMA(0,1,0))的多步区间以根号 h 变宽,这不是软件 bug。值班室若要的是「明天到货量」,应对一步误差;若要「未来四周总量」,应对四步路径的和,而不是把一步 RMSE 乘 4。

固定原点:在时刻 T 一次给出 T+1…T+h,期间不用新到的真实值更新。适合模拟「周五下班前就要交下周全表」。滚动原点(rolling origin):每获得一天真实值,原点前移,重新预报下一步或下一段。更接近每日晨会。评价模型时我默认滚动一步,再另报固定原点的多步,两套都给,避免只在一种规则下偶然赢。

固定原点(示意) T=10 预报 11..14:51, 52, 53, 54 真实 11..14:50, 54, 53, 57 误差:+1, -2, 0, -3 滚动一步(示意) 用到 10 预报 11;用到 11 预报 12;…

二、四把尺子,脾气不同

记 e_t = 真实 - 预测(符号约定以你团队为准,比较时保持一致)。

指标 公式直觉 脾气 我何时用
MAE 绝对值平均 抗个别大错,好讲「平均偏了几件」 给业务的主指标
MSE 平方平均 放大离群误差 更偏统计训练
RMSE MSE 开方 与原单位相同,仍受大错拉动 和技术同事对齐
MAPE 绝对值百分比平均 真实值近 0 会爆炸;有零不可用 仅当水平远离 0 且要相对误差

示意四步误差 1, -2, 0, -3:

MAE = (1+2+0+3)/4 = 1.5

MSE = (1+4+0+9)/4 = 3.5

RMSE = √3.5 ≈ 1.87

若真实为 50,54,53,57,预测 51,52,53,54,MAPE ≈ (1/50 + 2/54 + 0/53 + 3/57)/4 ≈ 2.9%。把其中一天真实改成 2、预测 5,MAPE 会被这一天撕开,MAE 只多记 3。发货量、潮位接近零或过零(差分序列)时,不要把 MAPE 当主赛。

⚠️ 常见坑:在差分序列上算 MAPE,或在含零的件数上算 MAPE,然后宣布模型「百分之几百误差」。先回到原尺度,再决定相对误差有没有意义。

图 固定原点与滚动原点:值班室更接近哪一种

图 固定原点与滚动原点:值班室更接近哪一种

三、滚动怎么做才不算作弊

持出段必须在估计前切开。用全部历史估完再在同一段上算「预测误差」,那是拟合误差换了马甲。常见切法:最后 8~12 周当持出;或时间序列交叉验证,多个原点各留一段。样本短时持出太长会让估计不稳,太短又比不出模型。写进报告:切点日期、是否每步重估参数。

每步重估更诚实也更贵:每天重新跑一遍似然。只更新状态、参数冻住,接近滤波,省计算,但结构变化时会迟钝。仓库流程大改后应重估;潮汐这种结构慢变,冻参数加滚动一步往往够。

和朴素预报比:永远报「明天等于今天」,在近随机游走上很难打。若你的 ARIMA 滚一步还赢不了这个朴素规则,不要上线,回去查 d 和是否过拟合。和季节朴素(去年同星期)比,是 SARIMA 该打的比赛,普通 ARIMA 输了不丢人,说明季节门还没进。

💡 关键直觉:样本内残差白是「作业做完」;滚动误差小于朴素规则是「值班能用」。两张通行证都要。

拟合优度(下一章展开)在预测任务里最多当配角。R 方在有趋势的水平上会虚高。对外只贴持出 MAE/RMSE,对内才贴 AIC 与 Q 检验。概念滚动:

errors = [] for t in holdout_index: pred = refit_or_update(data_up_to=t-1) errors.append(actual[t] - pred) mae = mean(abs(e) for e in errors) rmse = sqrt(mean(e**2 for e in errors))

区间覆盖率也该报:名义 95% 的区间在持出段实际盖住多少。长期低于 80%,不是「运气差」,是异方差或未建模的季节。点预测还行、覆盖率很差时,把结论写成「给点可以,给区间需另法」,比假装高斯区间有效更负责任。

四、区间、覆盖率,以及总量预报不要用一步误差乘天数

高斯预测区间依赖残差方差和新息的传递。多步区间通常变宽,随机游走按根号步数变宽。持出段应报名义 95% 区间的实际覆盖率。长期只有 70%,不是「最近运气差」,是漏季节或异方差。覆盖率 99% 且区间极宽,对值班无用,等于没给约束。点预测还行、覆盖很差时,书面结论写成「给点可以,给区间需另法」,比假装高斯有效更负责。

周总量、月总量不能用一步 RMSE 乘 7 或 30。总量是路径之和,误差会部分抵消,但若误差高度正相关(欠差分、漏趋势),总量误差会接近相加。正确做法是直接评价「未来 7 天之和」的预报误差,或从多步路径加总。业务要的是总量时,把总量误差当主指标,一步 MAE 当配角。

是否每步重估:结构慢变的潮位,冻参数加滚动一步通常够;仓库大促前后,应重估或分段。重估会让持出分数更好看,也更接近「每天晨会改模型」的成本。比较两个模型时,重估政策必须相同。只更新卡尔曼状态、不重估 φ、θ,计算省,但遇到结构折会迟钝,覆盖率先掉。

泄漏:持出段的预处理(用未来均值填缺口、用含持出的标准差砍异常)会让滚动分数假好。预处理参数只能用训练段估计,再应用到持出。变换的 λ、季节指数同理。这是比选错 p、q 更隐蔽的作弊。

示意数字只演示算术。不要把本节的 1.5、1.87、2.9% 写成某仓精度。对外任何真实精度声明都不属于本教程。

五、动手对照:四步示意误差怎么报

误差 1,-2,0,-3:MAE=1.5,RMSE≈1.87。真实若近零,不要算 MAPE。先切开持出,再用训练段估计。滚动一步打「明天等于今天」;有星期形态再打季节朴素。赢不了基线不上线。区间覆盖率长期偏低,点预测与区间分开写结论。

问题:周总量能不能用一步误差乘 7?

不能。要直接评价七步之和,或从路径加总。误差可能抵消也可能因欠差分而相加。

问题:每步都要重估吗?

结构慢变可冻参数;大促前后应重估。比较模型时重估政策必须相同。

六、场景推演(示意,非真实序列)

固定原点模拟周五交下周全表,滚动一步模拟晨会。两套都报。示意误差算 MAE 与 RMSE,水平远离零才谈 MAPE;差分序列或含零件数上 MAPE 会炸,改绝对误差。持出必须先切开,预处理的 λ、砍点阈值只用训练段。周总量直接评价七天之和,不用一步 RMSE 乘 7。覆盖率长期 70% 是漏季节或异方差,不是运气;覆盖 99% 且区间极宽对值班无用。输给朴素规则就不上线。示意的 1.5 与 1.87 只演示算术,不宣称某仓精度。每步重估更诚实也更贵,比较模型时政策必须相同。泄漏(用未来均值填缺口)比选错 p、q 更隐蔽。

七、口令卡与计算备忘

口令:先切开持出;滚动像晨会,固定原点像交周表。MAE 给业务,RMSE 给技术,MAPE 仅水平远离零。多步不用一步误差乘 h,总量直接评价和。覆盖率长期偏低改口,不装高斯。输给朴素不上线。预处理参数只用训练段。重估政策比较时对齐。示意算术不是真实精度。差分还原后再算误差。区间覆盖与点预测分开写结论。泄漏比错阶更隐蔽,用含持出的统计量砍异常就是作弊。把切点日期写进报告第一行。

八、原文要点补全

原文定义 e_t=y_t-ŷ_t,指标在测试或验证集上算以评估泛化。MAE 是绝对值平均,单位与原数据相同,对异常值相对稳健,惩罚线性,缺点是绝对值不可导。MSE 平方平均,放大离群点,单位是原单位平方,解释差一些。RMSE 是 MSE 开方,回到原单位,仍受大错拉动。MAPE 是绝对百分比平均,真实值近零会爆炸,有零不可用。原文强调这些指标用于未知数据,不是训练段拟合误差。把「在持出集上算」写进每一指标的使用说明,并补充滚动原点与固定原点两种值班规则,以及不要用一步 RMSE 乘天数去报周总量。示意数字只练公式,不代表真实精度。

对照表(补全动作)

指标 原文要点 本教程用法
误差定义 真实减预测 符号在团队内统一
MAE 原单位、线性惩罚、较抗大错 给值班主报
MSE 平方、放大离群、单位平方 偏训练内部
RMSE 开方回原单位 和技术对照
MAPE 百分比,近零爆炸 水平远离零才用
计算集合 测试或验证集 必须先切开持出
固定原点 一次交未来多步 模拟周五交周表
滚动原点 每步纳入新真实值 模拟晨会
覆盖率 名义区间实际盖住多少 长期偏低要改口
朴素基线 明天等于今天 赢不了不上线

九、示意算术走一遍

四步误差 1,-2,0,-3:绝对值平均 1.5 即 MAE;平方平均 3.5 即 MSE;开方约 1.87 即 RMSE。真实 50,54,53,57 时 MAPE 约百分之三;若有一天真实为 2,MAPE 会被撕开,改报 MAE。周总量不要用 1.87 乘 7。覆盖率名义百分之九十五、实际百分之七十,写「给点可以给区间需另法」。切点必须在估计前。示意算术禁止写成某仓精度。把公式、切点、基线三行放进对外附录,误差指标才不会被拿去优化到近零的 MAPE 上。

十、对外怎么报误差

对外第一页只报持出段的误差,并写明切点日期、滚动还是固定原点、对照了哪条朴素规则。禁止把全样本拟合残差开方后称作预测精度。周总量用周频模型或先聚合再评,不要把日频一步误差乘七。区间覆盖率若长期低于名义水平,点预测仍可值班,但口吻必须改成「给点可以,给区间需另法」。

核心回顾

  • 多步会累积不确定度:不要用一步 RMSE 乘 h。
  • 滚动原点更像晨会,固定原点更像一次交周表:两套都报。
  • MAE 好讲,RMSE 被大错拉,MAPE 怕近零
  • 必须先切开持出:全样本拟合误差不是预测误差。
  • 先打朴素规则:赢不了「明天等于今天」就不要上线。
  • R 方不准当预测成绩:尤其有趋势时。
  • 示意数字只练算术:不宣称任何真实序列精度。

下一章回头补理论:趋势季节噪声、平稳性、AR、MA、差分算子——解释你已经跑过的每一步在公式里对应什么。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U