展开本页目录
开始前准备什么
- 没有目标账户权限时保留可操作步骤与真实本地原生参考,明确未实测范围;不把官方产品能力写成作者已跑通。
- 本页使用原创虚构教学材料。已执行本地文件生成、解析或重算;目标SaaS账号未运行,官方图与作者参考分别标注。
- 核对36个连续月份与零值
- 预先固定30月训练和6月验证
- 只用训练窗拟合两种方法
- 在留出验证窗计算MAE
- 比较两种预定方法并选型
- 保留训练参数预测未观测月份
- 从头复跑并检查拟合边界
含原始输入、7步README、原生作者参考、参数/检查表与verify.py;不是目标SaaS运行回执。
原生文件、作者本地运行范围和目标账号步骤分开记录。
forecast-reference.xlsx;具体身份见README。
1. 核对36个连续月份与零值
上传36个连续月份与口径,先验收月份唯一、无未说明缺值,零不是缺失。
预先限定季节朴素与线性趋势,前30月拟合。后6月验证MAE约41.1667与40.6837,选择趋势;该窗用于选型,不能称独立最终测试的无偏泛化精度。
2. 预先固定30月训练和6月验证
固定前30个月训练、后6个月为留出验证窗,预先限定季节朴素与线性趋势两种方法;不随机打乱,拟合及预处理不得读取后6个月。
3. 只用训练窗拟合两种方法
仅用训练数据建立去年同月季节朴素基线和线性趋势,两套参数与预测全保存。
4. 在留出验证窗计算MAE
在后6个月留出验证窗计算两种预定方法的MAE,遇到零销量不使用未定义的百分比误差。
5. 比较两种预定方法并选型
用验证窗MAE比较并选择两种预定方法之一;如趋势更差就保留季节基线,不把该选型误差称独立最终测试的无偏泛化精度。
6. 保留训练参数预测未观测月份
确定方法后保留前30个月的拟合结果,输出2026-10至2027-03六个未观测月,区分真实/回测预测/未观测期预测三段。
7. 从头复跑并检查拟合边界
导出XLSX、CSV、代码和图;独立从头复跑检查后6个月未进入拟合或预处理,并保留两种方法的验证比较与选型记录。
在独立副本运行 python3 -B verify.py,检查本题原生对象与数据约束;自己的目标工具结果另存,不覆盖教材原件。
怎样确认已经完成
- 训练/回测验证按时间固定30/6,不打乱;拟合及预处理均不得读取后6个月真实值。
- 两方法MAE由留出验证窗6个误差重算,零销量月不产生伪0%误差或被删除;该窗用于选型,不宣称独立最终测试的无偏泛化精度。
- 未观测6个月不填造actual,图例区分训练历史/留出回测/预测;两种方法输赢和选择如实报告。
常见问题
后六个月是独立最终测试集吗?
不是。它用于比较预先限定的两种方法并选型,是留出回测验证窗,选型MAE不能宣称独立测试的无偏泛化精度。
为什么零销量不用MAPE?
真实零值会让该月百分比误差分母为零,不能静默删除或当0%误差。本题统一以单位数MAE比较,并保持前30月拟合参数。



