智慧仓储-AI销量预测

1、预测系统技术选型

基础层:

        Hbase、ClickHouse、Hdfs 用来做数据存储

框架层:

以 Spark RDD、Spark SQL、Hive 为主, MapReduce 程序占一小部分,是原先遗留下来的,目前正逐步替换成 Spark RDD。 选择 Spark 除了对性能的考虑外,还考虑了 Spark 程序开发的高效率、多语言特性以及对机器学习算法的支持。 

工具层:

  比较常用的包有 xgboost、numpy、pandas、sklearn、scipy 和 hyperopt 等。

Xgboost:它是 Gradient Boosting Machine 的一个 C++ 实现,xgboost 最大的特点在于,它能够自动利用 CPU 的多线程进行并行,同时在算法上加以改进提高了精度。

numpy:是 Python 的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比 Python 自身的嵌套列表结构要高效的多(该结构也可以用来表示矩阵)。

pandas:是基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。

sklearn:是 Python 重要的机器学习库,支持包括分类、回归、降维和聚类四大机器学习算法。还包含了特征提取、数据处理和模型评估三大模块。

scipy:是在 NumPy 库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。例如线性代数、常微分方程数值求解、信号处理、图像处理和稀疏矩阵等等。

Hyperopt 是一个用于超参数优化的 Python 库,广泛应用于机器学习和深度学习模型的自动化调参。它通过贝叶斯优化算法(如随机搜索、模拟退火和 Tree-structured Parzen Estimator 算法 TPE)来寻找最优的超参数组合

算法层:

 用到的算法模型非常多

1. 机器学习算法主要包括 GBDT、LASSO 和 RNN :

GBDT:是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。我们用它来预测高销量,但历史规律不明显的商品。

RNN:这种网络的内部状态可以展示动态时序行为。不同于前馈神经网络的是,RNN 可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如时序预测、语音识别等。

LASSO:该方法是一种压缩估计。它通过构造一个罚函数得到一个较为精炼的模型,使得它压缩一些系数,同时设定一些系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。用来预测低销量,历史数据平稳的商品效果较好。

2. 时间序列主要包括 ARIMA 和 Holt winters :

ARIMA:全称为自回归积分滑动平均模型,于 70 年代初提出的一个著名时间序列预测方法,我们用它来主要预测类似库房订单量,这种平稳的序列。

Holt winters:又称三次指数平滑算法,Holt-Winters方法通过引入季节性因素来扩展了传统的霍尔特线性趋势方法。这种方法可以进一步分为加法模型和乘法模型两种类型,主要区别在于季节性波动的大小。加法模型适用于季节性变化幅度相对较小的情况,而乘法模型则适用于季节性变化幅度较大的情况。

         具体来说,Holt-Winters方法包括三个基本组件:水平(level)、趋势(trend)和季节性(seasonality)。这些组件共同作用,使得模型能够捕捉到数据中的长期趋势、短期波动以及周期性的季节性模式。我们用它来预测季节性和趋势都很明显的商品,比如 服装类、节日礼品。

3. 结合业务开发的独有算法包括 WMAStockDT、SimilarityModel 和 NewProduct 等:

WMAStockDT:库存决策树模型,用来预测受库存状态影响较大的商品。

SimilarityModel:相似品模型,使用指定的同类品数据来预测某商品未来销量。

NewProduct:新品模型,顾名思义就是用来预测新品的销量。

2 、预测模型逻辑流程

考虑参数如下:

生成历史时序:将历史销量、价格、库存等数据按照规定格式生成时序数据。

节假日因子:计算节假日与销量之间的关系,用来平滑节假日对销量影响。

周日因子:计算周一到周日这 7 天与销量的关系,用来平滑周日对销量的影响。

促销因子:计算促销与销量之间的关系,用来平滑促销对销量的影响。

因子平滑:历史销量是不稳定的,会受到节假日、促销等影响,在这种情况下进行预测有很大难度,所以需要利用之前计算的各类因子对历史数据进行平滑处理。

时序预测:在一个相对平稳的销量数据上通过算法进行预测。

因子叠加:结合未来节假日、促销计划等因素对预测结果进行调整。

3、决策系统技术选型

        决策优化系统利用精准的预测数据结合运筹学技术得出最优的决策,并将结果提供给更上层的业务执行系统或是业务方直接使用,比如。

  • 商品补货:考虑在什么时间,给哪个 RDC 采购什么商品,采购量是多少?
  • 商品调拨:考虑在什么时间,给哪个 FDC 调配什么商品,调配量是多少?
  • 仓储运营:在大促来临之际,仓库和配送站要增配多少人手、多少辆货车?

详情参考我上篇文章:智慧仓储-AI人工智能在仓储中的应用-CSDN博客

欢迎来踩我的代码仓库,一起学习,与君共进 :

learning-rec: 推荐系统 基于pytorch,召回模型 ,排序模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145921.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

rsyslogd 内存占用很高解决方案

在Kubernetes(K8S)集群中,监控日志是非常重要的,而rsyslogd是Linux系统中用于处理系统和应用程序日志的守护进程。有时候rsyslogd可能会占用较高的内存,这时候我们就需要对其进行优化和调整。 阿里云虚拟服务器&…

创客中国AIGC专题赛冠军天鹜科技:AI蛋白质设计引领者

“落霞与孤鹜齐飞,秋水共长天一色——这句出自《滕王阁序》的诗句,是我作为江西人熟记于心的佳句。它描绘的天地壮丽景色常浮现于我的脑海,正是这种豁达与壮观,启发我们将公司命名为‘天鹜科技’,我们希望将源自自然的蛋白质与现代科技的创新精神相结合,打造蛋白质设计与应用的…

16_Python的迭代器

在Python中,迭代是一个非常重要的概念。迭代通常指的是按照某种顺序逐个访问容器中的元素的行为。如使用for循环遍历取值的过程。 可迭代对象(Iterable) 可迭代对象是任何可以返回一个迭代器的对象。简单来说,它是可以逐一返回其…

机器学习模型中特征贡献度分析:预测贡献与错误贡献

在机器学习领域,特征重要性分析是一种广泛应用的模型解释工具。但是特征重要性并不等同于特征质量。本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。 核心概念 预测贡献度:衡量特征在…

【C++】—— stack queue deque

【C】—— stack & queue & deque 1 stack 与 queue 的函数接口2 适配器2.1 发现问题2.2 什么是适配器 3 stack 与 queue的模拟实现3.1 栈的基础框架3.2 栈的模拟实现3.3 队列的模拟实现 4 模板的按需实例化5 deque 的简单介绍5.1 vector 与list对比5.1.1 vector5.1.2 …

C++函数重载完成日期类相关计算

本文内容如下: 1.创建类以及函数的声明2.日期加减天数1.月份天数2.函数实现 3.日期比较大小4.日期减日期1.日期的前置和后置加加2.日期减日期的实现 5.内置类型的cout和cin本文代码如下: 要完成日期类的相关计算要创建自定义的类型,然后用函数…

获取IPV6地址的参考网站|nginx解析IPV6|linux服务器获取IPV6的方法

获取IPV6地址的参考网站 网址1 https://v6.ident.me/ 网址2 https://ifconfig.co/ 网址3 https://ifconfig.me/ IPV6检测站点推荐 网址1 http://ipv6-test.ch/ linux服务器获取IPV6的方法 以centos7为例 curl -6 ifconfig.mecurl -6 https://v6.ident.mecurl -6 https:…

python安装-升级

这里写自定义目录标题 欢迎使用Markdown编辑器 欢迎使用Markdown编辑器 运行python 或pycharm时报错 [notice] A new release of pip is available: 23.1.2 -> 24.2 [notice] To update, run: python.exe -m pip install --upgrade pipCMD 进入 DOS C:\Users\wang>pyt…

解密MQ消息积压:让你系统瞬间卡死的幕后黑手

文章目录 什么是MQ消息积压?消息积压的常见原因案例分析:如何处理消息积压?场景1:消费者处理速度过慢场景2:消息生产速度过快 如何预防消息积压?1. **监控与告警**2. **动态扩容**3. **限流与降级**4. **合…

插入与冒泡排序(C++)

\一、插入排序 1 简介 插入排序,也称为直接插入排序,其排序思想和我们平时打扑克牌时排序类似。 2 算法步骤 将第一个元素看作已排序序列,第二个到最后一个看作未排序序列。 第二个元素,与之前已排序号的序列进行对比&#x…

面试题---链表分割(安全性问题)

题目: 现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。 假设有一链表: 给定x6 MySingleList …

乐(智)尚代驾-------Day3(afternoon关于aop特殊一栏)~

谢谢你们的阅读uu们!~~ 下午这部分内容是aop往后啦,大家要明确一个思路,用aop进行简化操作更加方便 紧接上部分~ 登录校验 如何判断是否登录状态? – 判断请求头里面是否包含token字符串 – 根据token查询redis 如何实现&…

多源最短路径

文章目录 1. 01 矩阵(542)2. 飞地的数量(1020)3. 地图分析(1162)4. 地图中的最高点(1765) 1. 01 矩阵(542) 题目描述: 算法原理: 这…

骨传导耳机怎么选?健身教练测评五大畅销爆款骨传导耳机!

随着健康生活方式的普及,越来越多的人开始注重日常锻炼与健康管理。而在这股健身热潮中,骨传导耳机因其独特的佩戴方式和开放耳道的设计,成为了运动爱好者的新宠。它们不仅能够在运动时提供安全舒适的听觉体验,还能让使用者随时留…

Java入门:09.Java中三大特性(封装、继承、多态)03

5 多态 首先,什么是多态呢? 多态即事物的多种表现形态。 就像生活中,人就有多种表现形态:学生,老师,警察,医生等。 那么在Java中也有类似的概念 它的作用就是:在封装时&#xf…

【Deloitte】AI大模型时代C端应用生态变局

类比PC时代到移动互联网时代的发展,可以窥见AI时代的来临将带来诸多颠覆与创新,这让所有关注AI发展的人们既心生期待又满怀敬畏。 德勤中国《AI大模型时代C端应用生态变局》报告深入探讨了AI对C端应用影响的四大发展趋势。 趋势一:AI 大模型…

【zookeeper安装】zookeeper安装详细教程(单机/集群部署)(linux版)

文章目录 前言一、zookeeper简介二、获取Zookeeper安装包2.1. 离线获取2.2. 在线获取2.3. 解压包 三、单机部署3.1. 配置conf文件3.2. 启动服务 四、集群部署4.1. 概念4.2. 配置conf文件4.3. 创建myid文件4.3. 启动每个节点的zookeeper服务 五、配置systemctl管理(选…

修改 Visual Studio 的主题颜色、背景颜色、字体

本人使用的是 VS2019 版本的。 点击上方工具栏中的【工具】-> 【选项】。 在 【环境】->【常规】中,可以更改整个界面的主题颜色。 浅色和深色的主题如下: 在【环境】->【字体和颜色】中,可以更改代码区的背景色。 不同背景示例&…

RK3568笔记六十:V4L2命令测试

若该文为原创文章,转载请注明原文出处。 测试V4L2是想移植韦老师的相机程序,但他使用的是V4L2方式采集摄像头。 而正点原子的rknn使用的是opencv。 这里记录测试过程 一、常用调试命令 1、抓取图像 使用 v4l2-ctl 抓取一帧图像:v4l2-ctl -d /dev/video0 --set-fmt-video…

计算机图形学 中心画圆算法 原理及matlab代码实现

中心画圆算法原理 总体思路: 将圆划分为八部分,先通过diF(xi1,yi-0.5)和隐函数Fx2y2-R2绘制八分之一的圆,然后通过圆的对称性确定另外七个部分的相应坐标绘制完整的圆。 求中点误差项递推公式: 从(x0,y0r)开始,因绘…