自下而上 vs 自上而下 vs 最优组合预测策略解析

在多层级销量预测中,自下而上、自上而下与最优组合是三种核心的预测协调策略,旨在解决不同层级(如单品、品类、总店)预测结果不一致的问题。其原理与优缺点对比如下:

策略 核心原理 优点 缺点
自下而上 (Bottom-Up) 仅在最底层(如单品/SKU)训练预测模型,高层级(如品类、总店)的预测值通过汇总底层预测结果得到。 1. 简单直观 ,易于实现。 2. 保证一致性 ,高层预测天然等于底层预测之和。 3. 保留底层细节,对单品层面的促销或事件响应更敏感。 1. 误差累积 :底层模型的预测误差在向上汇总时会传递并可能放大,导致高层预测不稳定、波动大。 2. 依赖底层模型质量:若底层数据稀疏或噪声大,整体预测质量会受限。
自上而下 (Top-Down) 仅在最高层级(如总店)训练一个聚合模型得到预测,然后按照历史比例(如销售额占比)或预测比例将总量拆分至下层各级(品类、单品)。 1. 高层预测稳健 :聚合数据通常噪声更小、模式更稳定,总预测往往更准确。 2. 天然满足资源约束:适合预算或库存总量固定的分配场景。 1. 丢失个体特征 :假设下层结构比例固定,无法捕捉单品特有的趋势或对促销事件的响应,导致下层预测可能不准确。 2. 结构僵化:历史比例可能无法反映未来的结构性变化。
最优组合 (Optimal Combination) 允许所有层级独立生成预测,然后通过一个优化模型(如基于最小二乘的线性回归)对所有层级的原始预测进行加权调整,得到一个既满足层级加总一致性,又使整体预测误差最小的修正预测集。 1. 平衡精度与一致性 :在尊重各层级独立预测信息的同时,强制其满足加总约束。 2. 提升高层预测精度 :通过组合信息,常能显著降低高层级的预测误差。 3. 灵活:可以纳入各层预测的不确定性(误差协方差)进行优化。 1. 计算复杂 :需要估计协方差矩阵并求解优化问题,实现和计算成本较高。 2. 依赖底层预测质量:若底层预测质量极差,优化效果可能有限。

策略选择与代码示例

选择策略需权衡业务重点、数据质量和计算资源。若业务强依赖单品计划且底层数据质量高,可选自下而上 ;若更关注总量控制且高层模式稳定,可选自上而下 ;若需同时保证多层级决策的一致性与整体精度,最优组合是最佳实践。

以下是一个使用 hierarchicalforecast 库实现最优组合预测的简化示例:

python 复制代码
import pandas as pd
import numpy as np
from hierarchicalforecast.core import HierarchicalForecast
from hierarchicalforecast.methods import BottomUp, TopDown, OptimalCombination

# 1. 准备数据:假设已有包含日期、三个单品预测值的DataFrame
# Y_hat_df 结构示例:
# ds | SKU_A | SKU_B | SKU_C
# 2024-01-01 | 10.5  | 15.2  | 5.8
# 2024-01-02 | 11.3  | 14.8  | 6.1
Y_hat_df = pd.read_csv('your_forecasts.csv')  # 替换为你的预测数据
Y_hat_df['ds'] = pd.to_datetime(Y_hat_df['ds'])

# 2. 定义层级聚合矩阵 S(描述SKU如何加总为品类和总量)
# 此处简化:假设三个SKU直接加总为总销售额(单品类场景)
# 实际应用中,库会根据层级文本描述自动生成S矩阵
S = np.array([
    [1, 0, 0],  # SKU_A
    [0, 1, 0],  # SKU_B
    [0, 0, 1],  # SKU_C
    [1, 1, 1]   # Total (所有SKU之和)
])
# 注:hierarchicalforecast 通常使用 `aggregate` 函数或指定层级关系文本自动构建S,此处为原理展示。

# 3. 应用最优组合方法进行协调预测
# 首先需要将原始预测和层级信息封装
# 这里假设已按库要求格式准备好数据reconciler = HierarchicalForecast(
    models=Y_hat_df.set_index('ds'),  # 基础预测 reconciliation_methods=[OptimalCombination()]
)
reconciled_forecasts = reconciler.reconcile()

# reconciled_forecasts 即为协调后的一致预测结果
print(reconciled_forecasts.head())

在实际业务中,最优组合策略已被证明能有效降低高层预测误差(例如,在案例中使品类预测的WMAPE从18%降至11%),同时保证各层级预测完全一致。


参考来源

相关推荐
冬奇Lab9 分钟前
AI 评测系列(06):DeepEval 实战——企业级 Agent 评测套件
人工智能
冬奇Lab19 分钟前
开源项目第166期:worldmonitor — 实时全球情报仪表盘,73k Star 的 AI 驱动地缘政治监控平台
人工智能·开源·资讯
AI探索先锋22 分钟前
AMD 2nm 芯片炸裂、欧洲首家人形机器人独角兽诞生、AI Agent 互联标准打响:10 条信号看懂产业变局|今日科技 AI 机器人快讯
大数据·人工智能·深度学习·搜索引擎·机器人
卡梅德生物科技小能手26 分钟前
卡美德生物科普:RSPO3(R - 脊椎蛋白 3)
经验分享·深度学习·生活
ARM|X86+FPGA工业主板厂家28 分钟前
RK3588+FPGA+EtherCAT异构架构解析|工业场景如何同时保住AI算力与微秒级运动实时性
人工智能·fpga开发·架构
玖妍呐30 分钟前
2026实测|3款一键AI求职证件照生成工具,适配简历网申(无水印/免费)
人工智能
tedcloud12331 分钟前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
叩码以求索35 分钟前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
动物园猫42 分钟前
人体部位目标检测数据集:5类别、7,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
sramdram1 小时前
离线语音识别芯片_低功耗智能语音识别IC解决方案
人工智能·语音识别·语音识别芯片·离线语音识别芯片