Python | 需求预测模型
目录
需求预测
1.方法选择
2.颗粒度选择
3.在医药行业的应用
预测模型
1.模型对比
2.Prophet
3.Holt-Winters
需求预测
1.方法选择
方法 | 适用范围 | 分类 |
---|---|---|
移动平均法 | 中小企业、SKU较少的卖家 | 低成本预测方案 |
Excel趋势线预测 | 中小企业、SKU较少的卖家 | 低成本预测方案 |
季节性系数法 | 中小企业、SKU较少的卖家 | 低成本预测方案 |
机器学习模型(XGBoost/LSTM神经网络) | 大型企业、SKU>1万、需求波动大的行业(如3C/快消) | 高阶预测模型 |
动态贝叶斯网络 | 大型企业、SKU>1万、需求波动大的行业(如3C/快消) | 高阶预测模型 |
协同预测(CPFR) | 大型企业、SKU>1万、需求波动大的行业(如3C/快消) | 高阶预测模型 |
2.颗粒度选择
维度 | SKU级预测 | 大类级预测 | 整体级预测 |
---|---|---|---|
数据特征 | 数据稀疏(尤其长尾SKU) | 数据较平稳 | 高度聚合,趋势明显 |
典型误差率 | 30%-50%(长尾品更高) | 15%-25% | 5%-10% |
决策应用 | 采购订单/仓库补货 | 产能规划/原料采购 | 财务预算/战略规划 |
计算成本 | 高(需分布式计算) | 中 | 低 |
灵活性 | 可捕捉单品波动 | 无法识别黑马单品 | 完全忽略结构变化 |
→实际不是颗粒度越细 预测就越准。
颗粒度选择策略:用最粗的颗粒度实现业务目标,仅在关键品项细化。
- 战略层用整体预测 → 把握方向
- 战术层用大类预测 → 优化资源
- 执行层对头部SKU精细化 → 降本增效
3.在医药行业的应用
医药特性:
需求特性 | OTC | RX | 生物制剂(含疫苗) |
---|---|---|---|
1 | 零售渠道主导(药店/电商占比高) | 受带量采购政策直接影响 | 强突发性(如疫情爆发) |
2 | 受广告投放和促销活动影响显著 | 医院库存主导(占销量70%以上) | 超短效期 |
3 | 季节性波动明显(如感冒药冬季需求+200%) | 医生处方习惯决定销量 | 接种率依赖政府计划 |
药品分类预测需遵循 "三层递进原则":
- 强制分层:生物制剂/RX必须独立预测(人命关天+政策敏感)
- 推荐分层:OTC/中药/保健品按渠道特性细分(成本收益平衡)
- 可选合并:低值耗材等长尾品类(避免过度细化)
预测模型
特性 | Holt-Winters | Prophet |
---|---|---|
适用场景 | 单一、稳定季节性数据 | 复杂多季节性、含外部事件数据 |
数据需求 | 完整历史数据,明确周期 | 支持缺失值、异常点,灵活处理多源数据 |
灵活性 | 低(固定季节周期) | 高(支持自定义季节性和节假日) |
计算复杂度 | 简单(参数少) | 较高(需拟合非线性趋势) |
异常值处理 | 敏感,需人工干预 | 自动检测和调整 |
可解释性 | 高(直接分解趋势/季节) | 中(依赖可视化解释) |
1.模型对比
模型基础与结构:
Holt-Winters | Prophet |
---|---|
基于三重指数平滑(Triple Exponential Smoothing),直接建模时间序列的趋势、季节性和水平。 | 基于加法模型,将时间序列分解为趋势、季节性、节假日效应和外部变量(可选)。 |
仅支持单一季节性(如月/季度/年)。 | 支持多个季节性(如年、周、日的季节性)。 |
模型结构相对简单,参数少(平滑系数 α, β, γ)。 | 模型结构更复杂,包含变点检测、可配置的趋势增长(线性/逻辑)和傅里叶级数季节性。 |
季节性与节假日处理:
Holt-Winters | Prophet |
---|---|
季节性需手动指定周期(如 seasonal_periods=12 ),仅支持加法或乘法模型。 | 使用傅里叶级数自动拟合季节性,支持多周期(如同时拟合周+年周期)。 |
不支持节假日或事件的显式建模。 | 内置对节假日/特殊事件的支持,可自定义影响范围和强度。 |
自动化与易用性:
Holt-Winters | Prophet |
---|---|
参数需要手动调优(如平滑系数),对统计知识要求较高。 | 高度自动化,提供默认参数,适合非专业用户。 |
需自行处理缺失值和异常值。 | 自动处理缺失值,鲁棒性更强,支持异常值检测。 |
趋势建模:
Holt-Winters | Prophet |
---|---|
趋势为线性(可扩展为阻尼趋势)。 | 支持分段线性趋势或逻辑增长趋势,自动检测变点(Trend Changepoints)。 |
无法捕捉趋势变化(如市场突变)。 | 可识别历史数据中的趋势转折点,适应长期趋势变化。 |
适用场景:
Holt-Winters | Prophet |
---|---|
适合简单季节性数据(如月度销量、能源消耗)。 | 适合复杂商业数据(如含节假日促销的零售数据、多周期影响的用户活跃度)。 |
数据需完整,无大量缺失值或异常。 | 对缺失值、异常值容忍度高,适合非平稳、有噪声的数据。 |
二三方医药物流对比
物流模式 | 推荐模型 | 核心原因 |
---|---|---|
二方物流(2PL) | Holt-Winters | 数据简单稳定,需低成本、高可解释性方案,人工干预可行。 |
三方物流(3PL) | Prophet | 需求动态性强,需灵活整合多源数据与外部事件,自动化处理异常。 |
对比维度 | 二方物流(2PL) | 三方物流(3PL) |
---|---|---|
适用模型 | Holt-Winters | Prophet |
核心场景 | 单一业务源(如药企自有仓库),需求稳定、周期性明确(如季节性药品)。 | 多客户、多品类混合需求(如疫苗、慢性病药),需灵活响应外部事件(促销、政策调整)。 |
数据特征 | - 数据规范、完整 - 周期性强(月/季度) - 历史数据充足 | - 数据多源、异构 - 需求波动频繁 可能含缺失值或异常点 |
季节性处理 | 固定周期(如12个月),仅支持单一季节性 | 支持多季节周期(周、月、年)和节假日自定义 |
异常值鲁棒性 | 敏感,需人工干预修正异常数据 | 自动检测并平滑异常点,支持外部事件标记(如疫情突发需求) |
外部变量支持 | 不支持,仅依赖历史时序数据 | 支持加入外部变量(如促销活动、温度波动、政策生效日期) |
实施复杂度 | - 参数少、调优简单 - 适合IT资源有限的团队 | - 需配置季节性和节假日参数 - 依赖数据清洗与特征工程 |
典型用例 | 连锁药店感冒药库存预测(稳定季节性) | 疫苗配送中心多客户需求预测(整合促销日历与突发订单) |
输出与诊断:
Holt-Winters | Prophet |
---|---|
提供模型系数(α, β, γ)和统计指标(AIC/BIC)。 | 提供趋势、季节性和节假日的可视化分解图,直观展示各组分影响。 |
预测结果较难解释。 | 预测结果可解释性强,支持交互式图表分析。 |
2.Prophet
Prophet在医药物流中适用于需求预测、库存优化等场景,尤其在处理季节性和节假日效应时表现突出。但其在复杂外部因素和实时性要求高的场景需结合其他技术。实际应用中建议:
- 优先验证历史数据的季节性模式;
- 与业务部门合作定义关键事件变量;
- 针对冷链等特殊需求进行模型后处理。
算法本质:
Prophet使用结构化时间序列模型(趋势+季节+节假日),通过梯度下降优化参数,属于监督学习框架。
功能特性:
支持自动化特征工程(如傅里叶项、事件标记)、超参数调优(如季节性强度的MCMC采样),与XGBoost/LSTM同为数据驱动的预测工具。
应用场景(医药物流):
局限性:
3.Holt-Winters
相关文章:

Python | 需求预测模型
目录 需求预测 1.方法选择 2.颗粒度选择 3.在医药行业的应用 预测模型 1.模型对比 2.Prophet 3.Holt-Winters 需求预测 1.方法选择 方法 适用范围分类移动平均法中小企业、SKU较少的卖家低成本预测方案Excel趋势线预测中小企业、SKU较少的卖家低成本预测方案季节性系数法中小企…...

双指针算法:原理与应用详解
文章目录 一、什么是双指针算法二、双指针算法的适用场景三、双指针的三种常见形式1. 同向移动指针2. 相向移动指针3. 分离指针 四、总结 一、什么是双指针算法 双指针算法(Two Pointers Technique)是一种在数组或链表等线性数据结构中常用的高效算法技…...

打造灵感投掷器:我的「IdeaDice」开发记录
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 起源:我只是想“摇”出点灵感 有时候面对写作或者做产品设计,我会卡在「不知道从哪开始…...

2025ICPC邀请赛南昌游记
滚榜时候队伍照片放的人家的闹麻了,手机举了半天 。 最后银牌700小几十罚时,rank60多点。 参赛体验还行,队长是福建人,说感觉这个热度是主场作战哈哈哈哈。空调制冷确实不太行吧。 9s过A是啥,没见过,虽然…...

python重庆旅游系统-旅游攻略
目录 技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理,难度适中…...

MySQL企业版免费开启,强先体验
近期Oracle突然宣布,MySQL企业版面向开发者免费开放下载,这一消息瞬间引爆DBA圈。作为数据库领域的“顶配车型”,企业版长期因高昂授权费让中小团队望而却步,如今免费开放无异于“劳斯莱斯开进菜市场”。 本文将深度拆解企业版的…...
从纸质契约到智能契约:AI如何改写信任规则与商业效率?——从智能合约到监管科技,一场颠覆传统商业逻辑的技术革命
一、传统合同的“低效困境”:耗时、昂贵、风险失控 近年来,全球商业环境加速向数字化转型,但合同管理却成为企业效率的“阿喀琉斯之踵”。据国际商会(International Chamber of Commerce)数据显示,全球企业…...
常见的 HTTP 接口(请求方法)
一:GET 作用:从服务器获取资源(查询数据)。特点: 请求参数通过 URL 传递(如https://api.example.com/users?id123),参数会显示在地址栏中。不修改服务器数据,属于幂等操…...
iOS 抓包实战:从 Charles 到Sniffmaster 的日常工具对比与使用经验
iOS 抓包实战:从 Charles 到抓包大师 Sniffmaster 的日常工具对比与使用经验 抓包这件事,不是高级黑客才要做的。作为一名移动端开发,我几乎每天都要和网络请求打交道,尤其是 HTTPS 请求——加密、重定向、校验证书,各…...
Lodash isEqual 方法源码实现分析
Lodash isEqual 方法源码实现分析 Lodash 的 isEqual 方法用于执行两个值的深度比较,以确定它们是否相等。这个方法能够处理各种 JavaScript 数据类型,包括基本类型、对象、数组、正则表达式、日期对象等,并且能够正确处理循环引用。 1. is…...

Qt Widgets模块功能详细说明,基本控件:QCheckBox(三)
一、基本控件(Widgets) Qt 提供了丰富的基本控件,如按钮、标签、文本框、复选框、单选按钮、列表框、组合框、菜单、工具栏等。 1、QCheckBox 1.1、概述 (用途、状态、继承关系) QCheckBox 是 Qt 框架中的复选框控件,用于表示二…...

第四天的尝试
目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 很抱歉的说一下,我昨天看白色巨塔电视剧,看的入迷了,同时也看出一些道理,学到东西; 但是把昨天的写事情给忘记了,今天…...
【git进阶】git rebase(变基)
git rebase有很多用武之地,我一一道来 合并分支 当多人协作同一个分支时,在提交我们自己版本之前,我们会先用git pull获取远端最新的版本。但是 git pull = git fetch + git mergegit merge是一个非线性的合并操作,大量的merge会造成日志线的分散和交错。实际上 git pu…...

WPS中代码段的识别方法及JS宏实现
在WPS中,文档的基本结构可以通过对象模型来理解: (1)Document对象:表示整个文档 (2)Range对象:表示文档中的一段连续区域,可以是一个字符、一个句子或整个文档 &#…...

小米MUJIA智能音频眼镜来袭
智能眼镜赛道风云再起,小米新力作MIJIA智能音频眼镜2正式亮相,引发市场热议。 这款产品在设计和功能上都有显著提升,为用户带来更舒适便捷的佩戴体验,同时也标志着小米在智能眼镜领域的持续深耕。 轻薄设计,舒适体验 …...
【神经网络与深度学习】GAN 生成对抗训练模型在实际训练中很容易判别器收敛,生成器发散
引言部分 在深度学习领域,生成对抗网络(GAN)是一种强大的数据生成方法,它通过生成器(G)和判别器(D)之间的博弈来不断优化模型。然而,在实际训练过程中,GAN 往…...

基于SpringBoot的家政预约系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
[服务器备份教程] Rclone实战:自动备份数据到阿里云OSS/腾讯云COS等对象存储
更多服务器知识,尽在hostol.com 各位服务器的守护者们,咱们都知道,数据是数字时代的“黄金”,而服务器上的数据更是我们业务的命脉。可天有不测风云,硬盘可能会突然“寿终正寝”,手滑执行了“毁灭性”命令…...
使用 Whisper 生成视频字幕:从提取音频到批量处理
生成视频字幕是许多视频处理任务的核心需求。本文将指导你使用 OpenAI 的 Whisper 模型为视频文件(如电视剧《Normal People》或电影《花样年华》)生成字幕(SRT 格式)。我们将从提取音频开始,逐步实现字幕生成…...

Axure难点解决分享:垂直菜单展开与收回(4大核心问题与专家级解决方案)
亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢!如有帮助请订阅专栏! Axure产品经理精品视频课已登录CSDN可点击学习https://edu.csdn.net/course/detail/40420 课程主题:垂直菜单展开与收回 主要内容:超长菜单实现、展开与收回bug解释、Axure9版本限制等问题解…...

Linux:网络层的重要协议或技术
一、DNS DNS(Domain Name System)是一整套从域名映射到IP的系统 1.1 DNS的背景 TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序. 但是IP地址不方便记忆. 于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用hosts文件来描述主机名和IP地址的关系. 最初,…...
【Hadoop 实战】Yarn 模式上传 HDFS 卡顿时 “No Route to Host“ 错误深度解析与解决方案
🌟 飞哥带你攻克 Hadoop 网络通信难题 大家好,我是小飞!最近在大数据集群运维中遇到一个典型问题:使用 Yarn 模式向 HDFS 上传大文件时进度条卡住不动,查看日志发现关键报错: No Route to Host from BigDat…...

JAVA请求vllm的api服务报错Unsupported upgrade request、 Invalid HTTP request received.
环境: vllm 0.8.5 java 17 Qwen3-32B-FP8 问题描述: JAVA请求vllm的api服务报错Unsupported upgrade request、 Invalid HTTP request received. WARNING: Unsupported upgrade request. INFO: - "POST /v1/chat/completions HTTP/1.1&…...

基于 CSS Grid 的网页,拆解页面整体布局结构
通过以下示例拆解网页整体布局结构: 一、基础结构(HTML骨架) <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"…...
华为云Astro轻应用创建业务对象(BO)的概念梳理
目录 一、业务对象(BO)是什么?——【详细概念解释】 二、形象理解业务对象(BO) 🍱 类比方式: 📦 举个具体例子:以做一个“智能烟雾报警系统”应用 三、为什么使用BO很重要? 四、小结: 一、业务对象(BO)是什么?——【详细概念解释】 在华为云Astro轻应用…...
利用systemd启动部署在服务器上的web应用
0.背景 系统环境: Ubuntu 22.04 web应用情况: 前后端分类,前端采用react,后端采用fastapi 1.具体配置 1.1 前端配置 开发态运行(启动命令是npm run dev),创建systemd服务文件 sudo nano /etc/systemd/…...
ArkUI Tab组件开发深度解析与应用指南
ArkUI Tab组件开发深度解析与应用指南 一、组件架构与核心能力 ArkUI的Tabs组件采用分层设计结构,由TabBar(导航栏)和TabContent(内容区)构成,支持底部、顶部、侧边三种导航布局模式。组件具备以下核心特…...

psotgresql18 源码编译安装
环境: 系统:centos7.9 数据库:postgresql18beta1 #PostgreSQL 18 已转向 DocBook XML 构建体系(SGML 未来将被弃用)。需要安装 XML 工具链,如下: yum install -y docbook5-style-xsl libxsl…...

虚幻引擎5-Unreal Engine笔记之Pawn与胶囊体的关系
虚幻引擎5-Unreal Engine笔记之Pawn与胶囊体的关系 code review! 文章目录 虚幻引擎5-Unreal Engine笔记之Pawn与胶囊体的关系1. 什么是Pawn?2. 什么是胶囊体(Capsule Component)?3. Pawn与胶囊体的具体关系(1&#x…...
python创建flask项目
好的,我会为你提供一个使用 Flask、pg8000 和 Pandas 构建的后台基本框架,用于手机理财产品 App 的报表分析接口。这个框架将包含异常处理、模块化的结构以支持多人协作,以及交易分析和收益分析的示例接口。 项目结构: financial_report_ap…...