首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >20k不同时间序列的物流需求预测

20k不同时间序列的物流需求预测
EN

Data Science用户
提问于 2021-04-08 07:52:26
回答 3查看 111关注 0票数 1

我正试图解决一个很有挑战性的问题,我很感谢你的帮助。

我的公司有很多不同的项目可供我们的客户要求。这些物品也可以退回我们的仓库。我们的目标是预测我们的客户(它们是实际的仓库)明年需要的每个项目的实例数量。

目前,我的组织正在根据过去7年的季度需求,使用加权平均值来预测需求。这给了我们对下一季度需求的预测。然后,他们将这一预测乘以4,得到下一年的预测。这是我要打败的底线。我们的数据是不规则抽样的,这意味着需求随时可能发生。这也意味着我们必须自己重新整理数据(我们尝试了每月和每季度)。

每个需求都有以下几个特点:

  1. 项目Id
  2. 索款日期
  3. 接收仓库-我们的组织有很多仓库分布在全国各地,这就是接收物品的仓库。
  4. 寄件人仓库-寄出物品的仓库。
  5. 需求类型
  6. 数量--可以是正数(如果客户从仓库中消费了商品),也可以是负数(如果客户端将项目返回仓库)。

再次澄清:目标是预测每个项目下一年的总数量。显然,这是一种时间序列预测情况.问题是,我们有超过20K不同的时间序列(因为每个项目的历史是一个不同的时间序列)。

我们迄今所做的工作:

  1. 简单统计模型(指数平滑法、Holt-趋势法等)
  2. 经典机器学习模型(线性回归、决策树等)
  3. 集合方法(随机森林,增强等)
  4. 简单的深度学习模型-几个线性层和一个RNN层的神经网络。
  5. 时间序列预测的复杂神经网络(我们尝试了Google的时间融合变压器)
  6. 计算规则加权平均值(就像公司现在所做的那样),但只在去除异常需求之后(基于DBSCAN算法)。

主要的问题是,对于我们所拥有的所有时间序列,上述任何一种方法都不能超过规则加权平均--这意味着对其中许多人来说,新提出的模型比加权平均更糟糕。此外,我们找不到任何模式,使我们能够将每个时间序列与“获胜”方法相匹配。

我们正在寻找的是一种能够更好地处理所有不同时间序列的方法。

任何帮助都将不胜感激。

提前谢谢。

EN

回答 3

Data Science用户

发布于 2021-04-08 08:15:00

首先,不能保证你可以通过机器学习超过一个基线。这是你应该考虑的事情。

由于某些内部行为,您可能还会为某些特定的Type Of Demand找到解决方案,但这可能不能很好地推广到其他情况。

我也会尝试使用Facebook`s的的先知

提交人:

Prophet是一种基于加性模型预测时间序列数据的过程,其中非线性趋势与年度、周和日季节性以及假日效应相适应。它最有效的时间序列,具有强大的季节效应和几个季节的历史数据。Prophet对丢失的数据和趋势的变化非常健壮,并且通常能够很好地处理异常值。

它可能在没有任何重大调整的情况下很好地发挥作用。您也可以并行运行它(因为拟合模型的过程是自动的),当您有这么多时间序列时,这是很有帮助的。

这里是关于如何有效地实现它的链接(但请注意,原始文档非常好)。

以及关于并行执行的职位

我还会花更多的时间来分析结果:你能检查不同类型需求之间的错误吗?当预言家超过基线时,你能搜索特定的案例吗?试着理解为什么会这样等等。

票数 0
EN

Data Science用户

发布于 2021-09-29 12:49:59

你也可以试试ARIMA & SARIMA。

ARIMA有三个超参数(p,d,Q) & SARIMA (季节性ARIMA)有三个附加参数(P,D,q)。您可以使用网格搜索为数据集找到最佳的超级参数。

https://people.duke.edu/~rnau/411arim.htm

票数 0
EN

Data Science用户

发布于 2021-10-01 11:21:34

您已经尝试了许多建模选项,其中有几种往往在您描述的环境中起作用。如果所有这些都比不上移动平均线,那么建模很可能不是问题的瓶颈。要想弄清楚它是什么,可以在下面的问题上玩一玩:

  • 您是否做了足够的探索性分析和与业务专家交谈,以了解数据和数据生成过程?
  • 您使用什么样的绩效评估策略来评估您的模型?有比大多数人意识到的更多的选择,而且没有一般性的最佳选择。如果你想知道我在说什么,本论文可能会给你一些新的想法。
  • 什么样的特性可能更适合于帮助预测?
  • 当我用简单的数据给复杂的模型(complex =比运行的平均值更复杂)时会发生什么,也就是说,只向运行平均值输入过去的周期。使用这些,并且只使用这些作为LightGBM的输入,看看会发生什么。看看LightGBM适合的第一棵树,看看哪里出了问题。如果没有出错,则向其提供额外的数据特性,直到出现错误为止。
  • 如果你有了这个想法,你可能会有自己的一些想法。只是不要尝试下一个建模技术。看看其他的一切。
票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/92733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档