基于 XGBoost、LightGBM 与随机森林的集成模型,预测 5 个经营中类、 20,000+ 个 SKU 的每日销量;以 2 年以上交易历史训练,包含促销在内共 24 个基础特征(+6 个自动发现特征)。
三个机器学习模型——两个梯度提升、一个 Bagging 集成——加上一个季节性朴素基准。 树模型共享 24 个基础特征 + 6 个自动发现特征,采用递归多步预测覆盖 46 天预测窗口; 最终提交取三个树模型的均值。
梯度提升决策树,采用 Leaf-wise 生长与 GOSS 采样。每一轮新树拟合残差梯度, 迭代修正此前误差,在大规模稀疏特征上训练高效。
梯度提升决策树,采用 Level-wise 生长与损失函数的二阶泰勒展开。 通过对叶子权重施加 L1/L2 正则,抑制 SKU 级噪声信号上的过拟合。
Bagging 集成:每棵树在自助采样与随机特征子集上训练,再对预测取平均。 各树误差互不相关,方差以 1/B 速率下降。
快速的星期基准。对每个预测日,融合该星期几的最近一次取值与过去 4 周 同星期几均值——零训练即可捕捉周内季节性,作为所有模型的对照基准。
对三个树模型(LightGBM、XGBoost、随机森林)取简单平均。两种提升变体 与 Bagging 混合,误差来源多样化——误差不相关时,集成方差正比于 1/K。
树模型使用 24 个人工基础特征 + 6 个自动发现特征 (来自 10,000 维 FunSearch 候选库)= 30 个。 季节性朴素基准仅使用原始时间序列。
| 特征组 | LightGBM | XGBoost | 随机森林 | 季节性朴素 |
|---|---|---|---|---|
| 滞后特征 (lag_1–28) · 7 | ✓ | ✓ | ✓ | — |
| 滚动均值 (roll7/14/28) · 3 | ✓ | ✓ | ✓ | — |
| 日历 (星期/日/月) · 3 | ✓ | ✓ | ✓ | 隐式 |
| 促销标志 · 8 | ✓ | ✓ | ✓ | — |
| 品类信号 (cat_lag1/roll7) · 2 | ✓ | ✓ | ✓ | — |
| SKU 标识 (sku_id) · 1 | ✓ | ✓ | ✓ | — |
| 自动发现特征 (FunSearch) · 6 来自 10,000 候选 | ✓ | ✓ | ✓ | — |
| 特征总数 | 30 | 30 | 30 | 1(序列) |
机器能否发现比人工 24 维更好的特征?我们在 2000 个 SKU 样本上运行 FunSearch 循环: 候选库最多含 10,000 个自动生成的特征,以三种方式搜索:基于特征组合的遗传算法、LLM 采样器(Kimi),以及特征级遗传程序(淘汰弱特征,对幸存者做交叉与变异)。
将 Kimi 发现的同一组 6 维特征加到 base-24,在每个模型上评估 · 各品类与整体 FA · 4 个验证周(2025-06-03 → 06-30),训练截止 2025-06-02
8802 品类A · 8803 品类B · 8804 品类C · 8805 最难 · 8807 品类E · 整体 = 五类按销量加权
| 模型 | 8802 | 8803 | 8804 | 8805 | 8807 | 整体 | 提升 |
|---|---|---|---|---|---|---|---|
| LightGBM | 79.1% | 81.4% | 62.0% | 47.0% | 63.8% | 67.25% | +1.72 pp |
| XGBoost | 74.1% | 78.7% | 58.5% | 45.0% | 60.5% | 63.62% | +0.71 pp |
| 随机森林 | 77.8% | 78.6% | 55.5% | 40.1% | 61.9% | 63.25% | +0.16 pp |
| OLS (Ridge) | 45.3% | 45.4% | 44.7% | 27.0% | 44.3% | 42.54% | +26.70 pp |
LLM 采样器(Kimi,30 轮迭代)在最佳轮次自动生成的
add_features()——它自行发现的
动量 + 品类相对 + 波动率组合:
独立的遗传搜索以相同的特征族(离散度 · 近期性 · 趋势) 达到相当的 +2.46 pp——两种方法收敛到 相同上限,印证瓶颈在问题本身而非搜索方法。
上限洞察:间歇性零售需求上的对称周度 FA 主要由基础滞后项已捕捉的周季节性主导, 因而限制了特征工程的提升空间。
F = 每周预测合计 · A = 每周实际合计(按单店单 SKU)
加权汇聚(3 步):
POC 经营中类(门店 常兴天虹00110)
上传预测提交文件或加载演示数据,可视化各模型在 SKU 级别的每日预测。
uvicorn api_server:app --port 8000 以启用实时多模型预测
上传实际销量文件,浏览器内按 POC 公式计算 FA 指标——数据不离开本机。
自动识别列名:
日期 / date ·
条码 / 条形码 / barcode ·
当天全部销售数量 / 销量 / quantity
| 周期 | 加权 FA | SKU 数 | 预测合计 | 实际合计 | 偏差 |
|---|