澳门hg2088赌博 澳门hg2088赌博 澳门hg2088赌博

时间序列可以预测吗?尝试 DeepAR

在 2019 WAIC(世界人工智能大会)上,笔者在 AWS 展台布置并演示了一个使用 DeepAR 进行时间序列预测的项目,受到了客户、参观者和同事的广泛关注,其中大部分被展示项目中真实电商客户的数据和结果,进行了一定的经验交流。在得到肯定后,笔者几年前与一些互联网和旅游行业的商业领袖交流,发现时间序列预测具有广泛的适用场景,可以直接帮助决策者做出有数据支持的重要决策。

ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列_预测除了时间序列还有哪些

图1 WAIC中的时间序列预测DEMO

在本篇博客中,我将简要介绍时间序列预测的场景、常用分类和对应算法、DeepAR算法的优势,以及如何使用DeepAR算法进行时间序列预测。

场景介绍

大多数行业场景,尤其是互联网行业,每天都会产生大量的数据。在游戏中,每时每刻都会产生大量的玩家日志信息;在旅游应用中,每天都有各种酒店和各种交通工具的实时价格;涉及供应链和日销量的零售电商企业每月生产(采购)量。担心有多少货;即使是电子元器件、电源盒等传统生产企业,这些零部件每时每刻都会产生大量的数据。我们将这些在不同时间收到的、描述一个或多个特征随时间变化的数据称为时间序列数据。

我们可以用上面的时间序列数据做什么?最明显的是,我们可以使用过去生成的时间序列数据来预测未来。我们可以通过玩家在游戏历史中的消费时间序列数据来预测玩家下周的付费意愿和大概的付费金额预测除了时间序列还有哪些,从而定制推送相关的游戏套餐和活动,通常是对传统用户的补充肖像。在旅游应用中,利用历史数据来预测未来酒店和机票的价格,从而为用户推荐价格最低的购买点(例如提示用户五天后购买会更便宜) . 这个小功能就足以获取大量忠实用户并实现变现,并且北美已经有网站实现了这个功能来预测机票价格。借助每日销售的历史数据,我们可以预测第二天的销售范围,从而更有针对性地进行采购或推出折扣促销政策,确保商品供需平衡。大型电源箱生产销售公司经常为维护电源箱而头疼,价格昂贵,价格不菲。如果可以利用传感器采集的历史数据对模型进行训练,并且可以在故障前提前预警电源盒,无论是维修还是提前更换,总成本都是一样的。比电箱完全不工作后维修还少。借助每日销售的历史数据,我们可以预测第二天的销售范围,从而更有针对性地进行采购或推出折扣促销政策,确保商品供需平衡。大型电源箱生产销售公司经常为维护电源箱而头疼,价格昂贵,价格不菲。如果可以利用传感器采集的历史数据对模型进行训练,并且可以在故障前提前预警电源盒,无论是维修还是提前更换,总成本都是一样的。比电箱完全不工作后维修还少。借助每日销售的历史数据,我们可以预测第二天的销售范围,从而更有针对性地进行采购或推出折扣促销政策,确保商品供需平衡。大型电源箱生产销售公司经常为维护电源箱而头疼,价格昂贵,价格不菲。如果可以利用传感器采集的历史数据对模型进行训练,并且可以在故障前提前预警电源盒,无论是维修还是提前更换,总成本都是一样的。比电箱完全不工作后维修还少。大型电源箱生产销售公司经常为维护电源箱而头疼,价格昂贵,价格不菲。如果可以利用传感器采集的历史数据对模型进行训练,并且可以在故障前提前预警电源盒,无论是维修还是提前更换,总成本都是一样的。比电箱完全不工作后维修还少。大型电源箱生产销售公司经常为维护电源箱而头疼,价格昂贵,价格不菲。如果可以利用传感器采集的历史数据对模型进行训练,并且可以在故障前提前预警电源盒,无论是维修还是提前更换,总成本都是一样的。比电箱完全不工作后维修还少。

简单来说,时间序列预测就是利用历史数据,通过时间与数据在各个维度的内在关系来预测未来的情景,可能包括季节性、趋势等。除了介绍之外,还有很多很多. 由于篇幅关系,这里就不过多介绍了。

预测除了时间序列还有哪些_ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列

时间序列预测分类与算法

时间序列预测从不同的角度有不同的分类。从实现原理来看,可以分为传统统计和机器学习(也分为非深度学习和深度学习)。根据预测步长大小可分为单步预测和多步预测。简而言之,就是预测未来一个时间单位和预测未来多个时间单位的区别。根据输入变量,可以分为自回归预测和使用协变量的预测。区别在于维度是否包含协变量。例如,在预测未来销售时预测除了时间序列还有哪些,如果只接受时间和历史销售数据,则属于自回归预测。如果其他相关变量(称为协变量)如天气、经济指数、政策事件分类等是可以接受的,则称为使用协变量进行预测。根据输出结果可分为点预测和概率预测。许多模型只提供点预测而不提供概率预测。点预测模型后的蒙特卡罗模拟(或其他转换为概率预测的方法)通常不准确。它体现了模型输出的预测概念,在大多数场景下,概率预测更接近实际情况,对未来的预测本身应该是一个概率分布。按目标数量可分为单变量、多变量和多时间序列预测。例如,用历史销量预测第二天的销量是一维时间序列预测,用历史购物人数、销售额、退货量来预测下一天的购物人数、销售额、退货量day(预测目标有3个)是多元时间序列预测,利用红烧牛肉面、酸菜牛肉面、海鲜面的历史销量来预测红烧牛肉面、酸菜牛肉面、海鲜面的销量次日(有三个预测目标):多时间序列预测。这些分类是从不同角度进行的分类,同一个算法往往只能是其中一种分类。例如,

ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列_预测除了时间序列还有哪些

时间序列预测算法有很多,这里只介绍四种典型算法,重点介绍DeepAR算法。

基4时间抽取fft算法中由短序列_预测除了时间序列还有哪些_ae渲染序列没有tga格式targa序列

图 3 四种时间序列预测算法

简单移动平均 SMA 是一种易于在统计中实现的算法。它可以有效地反映数据的长期趋势,但不能反映数据的周期性变化。将自回归 (AR) 算子添加到移动平均 (MA) 是 ARIMA 算法。回归可以反映数据的周期性,补充移动平均线。从统计学的角度来看,它可以很好地预测一个变量与时间强相关的场景下的时间序列。由于原理简单易懂,算法只是一个数学公式,ARIMA 也经常被用作时间序列预测中的第一步实验(基线)。

长短时记忆算法LSTM是在循环神经网络RNN的基础上,引入遗忘门和记忆门,让我们在长时训练过程中筛选出我们需要的内容。在时间序列预测中,LSTM 适用于单变量预测场景。

ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列_预测除了时间序列还有哪些

DeepAR 是一种自回归循环神经网络,它使用循环神经网络 (RNN) 结合自回归 AR 来预测标量(一维)时间序列。在许多应用程序中,一组具有代表性的单元格中会有多个相似的时间序列。DeepAR 将结合多个相似的时间序列,例如不同方便面口味的销售数据,通过深度循环神经网络学习不同时间序列的内部相关特征,并使用多个或多个目标数字来提高整体预测准确率。DeepAR 最终生成具有可选时间跨度的多步预测结果。单个时间节点的预测为概率预测,默认输出P10、P50、P90三个值。这里的P10指的是概率分布,即 10% 的概率会小于 P10 的值。通过给出概率预测,我们既可以综合三个值给出一个值预测,也可以使用区间P10-P90做出相应的决策。有关 DeepAR 数学背景的更多信息,请参阅 DeepAR:概率预测和自回归循环网络。

DeepAR 算法的优势

实际做时间序列预测时,难免会遇到数据问题。例如,不可能完全收集所有影响因素的数据。未来影响因素不确定,有时历史数据很少或没有。数据往往是大多数时间序列预测工作负载中的最大问题。

DeepAR 可以在一定程度上缓解数据需求。作为一种监督学习算法,DeepAR 直接在模型内部补充默认值。在导入数据的过程中,我们不需要手动扫描数据来查找默认值,也不需要花费大量时间在如何填写默认值上。DeepAR 模型将在内部解决这个问题。使用 DeepAR,时间序列可以与多个分组相关联,可以处理统计难以处理的非线性和规模问题,可以用很少的历史数据执行冷启动时间序列预测,并且只需要支持类似的事件序列。比如我有一些方便面的历史销售数据,现在市场上有一种新的自热米,只有几天的数据,我仍然可以使用 DeepAR 结合历史方便面数据来预测自热米未来的销售趋势。这也是算法的一大亮点。

组合多个时间序列本身就是一件非常具有挑战性的事情,数据样本的不平衡导致不同的时间序列对模型的影响程度不同。以商品销售为例,商品销售数量多一个数量级,商品数量少一个数量级。如果有 10 万种商品每月销售 10 件,那么每月销售 100 件的商品只有 10000 种,每月销售 1000 种商品。产品只有1000种。这种不平衡的样本导致输入值的幅度差异。产品A每天销售数百种产品,产品B每天销售数万种产品。当两个产品联合训练时,产品A的信息会被忽略,因为相对于B,产品A的信息将被忽略。,A对神经网络参数的影响太小。但是,A 时间序列中隐含的信息很有价值,数百次销售仍然可以反映季节性和趋势变化。

ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列_预测除了时间序列还有哪些

图 4 组合多个时间序列的问题

对于这个样本量差异的解决,需要对商品的销售量进行缩放并对应神经网络,即在输入到神经网络前除以v,输出后乘以v。如何为每种商品选择对应的 v 是一个挑战。在实践中发现,使用商品的平均历史销量是一个不错的选择。

ae渲染序列没有tga格式targa序列_预测除了时间序列还有哪些_基4时间抽取fft算法中由短序列

ae渲染序列没有tga格式targa序列_预测除了时间序列还有哪些_基4时间抽取fft算法中由短序列

图 5 组合多个时间序列的可行方案

在 DeepAR 中,这些问题的解决方案都包含在算法中,节省了前期大量的数据正则化和清洗。这也让 DeepAR 从使用的角度来看并不难用。此外,在 Amazon SageMaker 和 Amazon Forecast 两项服务中,您可以直接快速便捷地调用现成的算法,并输入自己的数据进行训练。

DeepAR 使用

如果您不熟悉机器学习,Amazon Forecast 是一项完全托管的服务,它使用机器学习算法(包括 DeepAR)来提供高度准确的预测。您可以手动指定算法或让服务根据预测性能执行。为自己选择。基于 Amazon.com 使用的相同技术,Amazon Forecast 使用机器学习将时间序列数据与其他变量相结合以获得预测结果。使用 Amazon Forecast 不需要任何机器学习经验。您只需提供历史数据,其他您认为可能影响预测结果的数据。训练、超参数调优、模型部署等过程均由服务自动执行,生成的终端节点可在数小时内用于预测。

如果您想要动手培训、更多自定义和手动数据处理、控制培训过程和自定义部署过程,Amazon SageMaker 是更好的选择。Amazon SageMaker 是一项完全托管的服务,可帮助开发人员和数据科学家快速构建、训练和部署机器学习 (ML) 模型。SageMaker 完全消除了机器学习过程每一步的繁重工作,让开发高质量模型变得更加容易。Amazon SageMaker 涵盖了从数据标记到最终模型部署的一整套分步支持和开箱即用的容器化方法,让开发人员和数据科学家能够专注于他们擅长的业务和科学研究。DeepAR 作为 SageMaker 的内置算法,只需几行代码即可调用,可以直接开始模型训练。SageMaker 还提供了几个 DeepAR 相关的示例,您可以通过早期模仿示例笔记本来处理自己的业务数据并生成模型,减少学习曲线。

在 SageMaker 上启用笔记本实例,DeepAR 的示例笔记本可以在 Jupyter 的示例中找到:

ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列_预测除了时间序列还有哪些

预测除了时间序列还有哪些_基4时间抽取fft算法中由短序列_ae渲染序列没有tga格式targa序列

图6

点击使用进入示例笔记本:

ae渲染序列没有tga格式targa序列_预测除了时间序列还有哪些_基4时间抽取fft算法中由短序列

图 6 在 SageMaker 中使用 DeepAR

使用内置算法 DeepAR,我们需要设置容器的名称 forecasting-deepar:

ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列_预测除了时间序列还有哪些

数据预处理,根据文档中的数据格式要求进行数据预处理,设置时序跨度、预测跨度、起止时间,拆分训练和测试数据集:

基4时间抽取fft算法中由短序列_ae渲染序列没有tga格式targa序列_预测除了时间序列还有哪些

ae渲染序列没有tga格式targa序列_预测除了时间序列还有哪些_基4时间抽取fft算法中由短序列

图 8 数据预处理

打包的 DeepAR 模型容器用于 SageMaker。我们只需要在 notebook 中指定相关的命令参数和训练参数即可开始训练。Aspect 给出了一个示例定义:

ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列_预测除了时间序列还有哪些

图 9 训练参数定义

模型训练完成后,您可以定义预测方法类并调用API一步执行部署:

预测除了时间序列还有哪些_ae渲染序列没有tga格式targa序列_基4时间抽取fft算法中由短序列

图 10 定义推理模式并部署

这样,我们训练了一个预测电源的 DeepAR 模型,可以继续尝试预测 notebook 中接下来的几组数据,并与历史数据进行对比。在使用 SageMaker 的实际过程中,我们可以简单地运行示例代码,然后逐步替换数据,重写数据预处理代码。掌握了相关代码后,可以尝试独立编写其他流程的代码,在每一步定制业务需求。

最后,希望这篇博客能给大家一些时间序列预测方面的指导。作为时间序列预测中的一个亮点算法,DeepAR 可以帮助你在短时间内达到很好的准确率。Amazon Forecast 和 Amazon SageMaker 都可以在不同阶段为您提供支持。