预测需求,CC负载,产品推荐和发现异常的时间序列

本文讨论了时间序列的范围,要解决的任务以及所使用的算法。 时间序列预测用于诸如预测需求,联络中心的负载,道路和互联网流量,解决推荐系统中的冷启动问题以及搜索设备和用户行为异常的任务。

让我们更详细地考虑任务。



1)预测需求。


目的:降低仓库成本并优化员工工作计划。

解决方法:对商品购买和客户数量有预测,我们将仓库中的商品数量减至最少,并在给定的时间范围内存储与所购买商品相同的数量。 了解每个时刻客户的数量,我们将制定最佳的工作计划,以便以最低的成本获得足够的人员。

2)预测送货服务的负荷


目的:防止高峰期物流崩溃。

解决方法:预测订单数量,将最佳数量的汽车和快递员带到生产线上。

3)预测联络中心的负荷


目的:以最低的工资资金成本来确保联络中心所需的可用性。

解决方法:预测一段时间内的通话次数,我们将为运营商制定最佳计划。

4)流量预测


目的:预测服务器数量和带宽以实现可持续运行。 这样一来,您的服务就不会出现在热门系列赛或足球比赛的首映当天;)

5)预测现金收集自动柜员机的最佳时间


目的:最大限度地减少ATM网络中存储的现金量

6)推荐系统中的冷启动解决方案


目的:向新用户推荐相关产品。

当用户进行了几次购买时,可以构建协作过滤算法来推荐商品,但是当没有用户信息时,推荐最受欢迎的产品是最佳选择。

解决方案:产品的受欢迎程度取决于提出建议的时间。 使用时间序列预测有助于在任何给定时间识别相关产品。

上一篇文章中讨论了构建推荐系统的生活技巧。

7)搜索异常


目的:识别设备操作中的问题和业务中的非标准情况
解决方案:如果测量值超出了预测的置信区间,则会检测到异常。 如果这是核电站,那么该增加距离的平方了;)

解决问题的算法


1)移动平均


最简单的算法是移动平均值。 让我们计算最后几个元素的平均值并做出预测。 在超过10天的天气预报中,使用了类似的方法。



当重要的是行中的最后一个值会增加权重时,我们根据日期的远近性引入系数,从而获得加权模型:



因此,您可以设置系数W,以使最大重量落在最近2天以及输入的时间上。

循环因素

建议的质量可能受到周期性因素的影响,例如与星期几,日期,节假日之前的重合程度等。


1.将时间序列分解为趋势,季节成分和噪声的示例

指数平滑是考虑循环因素的一种解决方案。

考虑3种基本方法

1.简单平滑(棕色模型)


它是该系列的最后2个元素的加权平均值的计算。

2.双重抗锯齿(Holt模式)


考虑趋势变化以及该趋势周围的残差波动。



我们计算残差®和趋势(d)的变化预测。 最终的y值是这两个值的总和。

3.三重平滑(Holt-Winters模型)


三重平滑还考虑了季节性波动。



三重平滑公式。

ARIMA和SARIMA算法


使用ARIMA的时间序列的一个特点是将与当前和未来有关的过去值联系起来。

SARIMA是季节性系列的扩展。 SARIMAX是包含外部回归组件的扩展。

ARIMA模型允许您模拟积分或微分平稳时间序列。

ARIMA处理时间序列的方法是首先评估序列的平稳性。

接下来,通过取相应阶数的差对序列进行变换,并且已经为变换后的模型构建了一些ARMA模型。

ARMA是线性多元回归模型。

重要的是,该行是固定的,即 均值和方差没有变化。 如果该序列不稳定,则应将其简化为固定形式。

XGBoost-没有它的地方


如果系列没有内部明显的结构,但是有外部影响因素(经理,天气等),那么您可以安全地使用机器学习模型,例如增强,随机森林,回归,神经网络和SVM。

根据DATA4团队的经验,预测时间序列是解决优化仓库成本,人员成本,优化ATM网络维护,物流和建筑推荐系统的主要任务之一。 诸如SARIMA之类的复杂模型可提供高质量的结果,但既耗时又仅适用于特定范围的任务。

在下一篇文章中,我们将考虑搜索异常的主要方法。

为了使文章与您的兴趣相关,请进行以下调查,或在注释中写出有关撰写以下文章的主题。

Source: https://habr.com/ru/post/zh-CN477206/


All Articles