用深度学习来做时间序列分析的三大理由--1原创
金蝶云社区-墨家总院
墨家总院
7人赞赏了该文章 1886次浏览 未经作者许可,禁止转载编辑于2019年03月21日 21:39:35
封面

(本文独家发布在金蝶云社区上)


前言

在许多行业中,精准得预测一个未来的序列的能力是非常重要的:比如金融,供应链和制造业,这些行业只是其应用范围的冰山一角。虽然经典的时间序列技术已经运用了好几十年,但是现在就像用在计算机视觉和自动翻译上的深度学习技术将有潜力在时间序列预测上也发生革命性得进展。

由于它们在许多实际问题上的成功应用,比如欺诈检测,垃圾邮件过滤,财务和医疗诊断 — 以及它们产生可实践结果的能力,深度学习神经网络在近几年博取了极大的业界关注。一般来说,深度学习方法已进被用到了单变量时间序列的预测上,这种时间序列是由均匀时间间隔内的单个的观测值组成的。 
因为这个原因,深度学习技术在时间序列预测这块表现得比传统经典方法差很多,比如,指数平滑(exponential smoothing),以及ARIMA(autoregressive integrated moving average)。这样就导致了一个基本的偏见,即深度学习模型在时间序列预测上没有什么效果,而且许多数据科学家还考虑是否真的有必要将其他方法加入到时间序列分析工具列表中,例如卷积神经网络(convolutional neural networks),和循环神经网络(recurrent neural networks)

在这篇文章里,我将探讨一些非常实用的原因来解释为何当数据科学家们做时间序列模型预测的时候还是应该考虑一下深度学习。

深度学习神经网络:一些基本的概念

机器学习的目的是通过找到可以用来训练模型的特征数据,即将其作为输入数据(比如图片,时间序列,或者是语音数据),染把它转换成为一个给定的输出(比如标题,价格数据,以及从语音转来的文本)。而深度学习是机器学习算法的一个子集,它是将特征信息抽取之后将其表达为数学上的向量,作为输入数据,然后通过一系列漂亮的线性代数运算来得到一个给定结果。

然后数据科学家使用一个叫做损失函数(Loss function)的方程式来衡量输出是否是他们所期望的值。这个过程的目的是用每条训练数据输入损失函数后得到的结果来指导和保证下一条数据的损失函数的值会更低。这个计算过程已经被用来对大容量数据信息进行分类和集群。比如,数以百万张的卫星图像,来自于yotube数以千计的音视频记录,还有来自Twitter的历史文本数据。

深度学习神经网络有三个主要的内在能力:

  1. 它们可以从输入到输出的任意映射中学习

  2. 它们支持多输入和多输出

  3. 它们可以自动地从很长的序列数据中提取模式

由于这三个特征,当数据科学家处理更加复杂但仍然非常常见的问题(如时间序列预测)时,深度学习神经网络可以提供很多帮助。

以下是数据科学家应该考虑在其时间序列工具包中添加深度学习的三个原因。

理由 1: 深度学习的神经网络能够从未加工的不完美数据中自发地学习和提取特征

时间序列是一种衡量事物随时间变化的数据。在时间序列中,时间不仅是一种度量,更是其在二维图像中的主轴(从时间序列数据的二维图形来看)。 这个时间维度表现出了时间序列数据的机会和约束,因为它提供了附加信息的来源,但由于需要对数据进行专门处理,因此时间序列问题更具挑战性。此外,这种时间结构可以携带数据科学家需要处理的其他信息,如趋势和季节性,以便使时间序列更容易用其他经典预测方法来进行建模。

在时间序列预测的相关问题中,神经网络可以用来减少大量的特征工程,数据缩放过程,以及平稳数据的差分运算。

在现实世界的时间序列案例中,比如,天气预测,空气与交通流量预测,以及一些基于流媒体的IOT设备(类似地理信息传感器)的预测里,经常会出现不规则的时间结构,缺失数据,重度噪声,以及多变量之间的复杂关系,都会给经典预测方法带来局限性。这些技术通常需要干净,完整的数据集才能更好地工作:而缺失数据值,异常值和其他有缺陷的特征通常是不被支持的。

说到更多人工的完美的数据集,经典预测方法基于这样的假设:数据集的变量之间存在线性关系和固定的时间依赖性,在默认情况下,这种假设排除了探索变量之间更复杂关系的可能性(也可能更有趣)。数据科学家在为使用经典分析方法准备数据的时候必须做出一些主观判断 ——— 比如用于消除趋势的滞后期———这项工作比较耗时,并且引入了人类的干扰。相反,神经网络对输入数据和映射函数中的噪声具有鲁棒性,甚至可以在存在缺失值的情况下支持学习和预测。

卷积神经网络(CNN)已经被证明在图像识别和分类等领域非常有效。除了为机器人和自动驾驶汽车提供视觉能力外,卷积神经网络还成功识别了面部,物体和交通标志。 卷积神经网络的名字来自其“卷积”运算符。在CNN中卷积的主要目的是从输入图像中提取特征。卷积计算通过对小方块的输入数据学习图像特征来保持像素之间的空间关系。换句话说,该模型学习如何从原始数据中自动提取对正在解决的目标问题直接有用的特征。这被称为“表示学习”(representation learning),并且CNN以这样的方式实现这一点:无论它们以什么样的方式在数据中出现,特征都会被提取出来,即所谓的对于“变换”或“失真”的不变性。

卷积神经网络的这种学习能力和自动从原始输入数据中提取特征的能力可以应用于时间序列预测问题。比如,可以将一系列观察点视为一维图像,CNN模型可以读取该一维图像并将其细化为最有相关性的元素。卷积神经网络的这种能力已被证明对时间序列分类任务有很好的效果,例如室内运动预测, 即可以使用无线传感器的信号强度数据来预测建筑物内物体的位置和运动。


赞 7