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

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之类的复杂模型可提供高质量的结果,但既耗时又仅适用于特定范围的任务。
在下一篇文章中,我们将考虑搜索异常的主要方法。
为了使文章与您的兴趣相关,请进行以下调查,或在注释中写出有关撰写以下文章的主题。