Comprehensive Analysis of Time Series Forecasting Using Neural Networks

1、INTRODUCTION

时间序列预测近年来受到了广泛的关注。这是因为许多现象,如股票价格,温度和天气可以建模为时间序列。在时序数据中最基本的挑战是不同时间点的观测是相互关联的,这使得一些改变或排列观测顺序的算法无法使用。
科学家和研究人员对时间序列预测做了广泛的研究,如[1],[2],[3],[4],[5]。
他们从各个领域借鉴工具,如图形建模和统计,以提高预测的准确性。例如,在[1]和[2]中,作者使用隐马尔科夫模型(HMM)来预测时间序列数据。在[2]中,作者证明了隐马尔可夫模型在预测学生在教育游戏中的表现方面可以达到很高的准确性。在[3]、[4]和[5]中,作者采用了著名的时间序列方法,即 自回归积分移动平均法(ARIMA) 对股票市场、电价和能源需求进行预测。
虽然经典的方法如ARIMA和HMM在时间序列数据建模中被证明是成功的,但是它们也存在如下的局限性:1)HMM依据一阶马尔科夫假设one step Markov assumption,这意味着以当前状态为条件未来状态独立于所有过去状态。(马尔科夫假设:某个单词出现的概率只与它前面的一个或几个单词有关。一阶马尔科夫模型对应二元语法模型bigram。)2)HMM认为有潜在的隐藏状态可用于产生观察结果,这可能对许多时间序列预测问题是不正确的。3)ARIMA等大多数经典时间序列模型只能用于单变量时间序列;此外,它们不能准确地模拟非线性时间序列。
计算机处理能力的最新进展使研究人员能够利用海量数据,开发更复杂的算法,如神经网络来建模和预测数据。许多研究人员已经将神经网络用于时间序列预测,结果表明,神经网络的预测效果优于ARIMA模型。
时间序列聚类是另一个受到广泛关注的主题。广泛的研究如[10],[11]和[12]在发展准确和有效的聚类算法。在[10]和[11]中,作者对时间序列聚类方法进行了全面的调查。他们描述了基于距离的聚类方法,如动态时间翘曲(DTW),以及基于特征和基于表示的聚类方法。在[13]中,作者将回归神经网络,特别是长短期记忆(LSTM)和基于特征聚类相结合,提高了时间序列预测的准确性。特别是,他们证明了他们的方法在平均sMAPE精度方面优于基线LSTM模型。
[14]、[15]、[16]等文献结合静态和动态特征,利用神经网络进行预测。结果表明,静态特征和动态特征相结合 的分类精度优于单独使用静态或动态特征的分类精度。
在这篇文章中,我们针对时间序列数据使用LSTM结合异常检测(anomaly detection)、聚类(clustering)、预测(forecasting)来实现更好的prediction。文章的贡献有四点:
1)首先进行异常检测,识别并替换时间序列数据中的异常值。这是一个主要的预处理步骤,可以显著影响预测和聚类。
2)其次,介绍了时间序列数据缺失值的填充方法。
3)第三,比较了基于距离的聚类和基于特征的聚类在速度(speed)和预测精度(prediction accuracy)方面的差异。
4)第四,引入多架构利用时间序列数据进行预测,而且多架构可以将静态数据与时间序列数据结合。

2、ALGORITHMS AND METHODS

异常数据监测 ——》 缺失值处理 ——》

2.1 Anomaly Detection

在应用任何机器学习算法之前,异常检测都是必不可少的一步。由于异常值会对缺失值产生影响,因此应在缺失值填充之前进行此步骤。离群值是指在数据中与所有其他观测值显著不同的观测值。如果不能正确地检测和替换它们,将会对聚类和预测结果产生负面影响。
ARMA process and the neural network 被提出用于异常检测,尤其是LSTM。在本文中,我们利用基于局部估计的散点图平滑(locally estimated scatterplot smoothing (Loess))的 seasonality and trend decomposition 来检测时间序列中的异常值。这是Twitter开发的算法,通过将时间序列分解为seasonality, trend, 和 random components来工作。它适用于 seasonality 时间序列,对additive outliers 比较准确。这个算法的实现示例可以在R的tsclean包中找到。

2.2 Missing Value Imputation

第二个主要预处理步骤是填补缺失值。根据数据的性质,有几种方法可以弥补缺失值。

2.3 Clustering

聚类,将数据划分成不同的组,同组中的数据比较相似。分为基于距离的聚类、基于特征的聚类。在基于距离的聚类中,将数据点之间的距离作为相似度度量,目标是使聚类内距离低于聚类间距离。基于距离的聚类的主要挑战是距离计算方式。选择合适的距离取决于数据集的性质。对于static and cross-sectional data 欧氏距离、k -均值、层次聚类(hierarchical algorithms)最常用。层次法(Hierarchicalmethods)先计算样本之间的距离。每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成了一个类。其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。比如最短距离法,将类与类的距离定义为类与类之间样本的最短距离。
层次聚类算法 根据层次分解的顺序分为:自下底向上和自上向下,即凝聚的层次聚类算法和分裂的层次聚类算法(agglomerative和divisive),也可以理解为自下而上法(bottom-up)和自上而下法(top-down)。自下而上法就是一开始每个个体(object)都是一个类,然后根据 linkage 寻找同类,最后形成一个“类”。自上而下法就是反过来,一开始所有个体都属于一个“类”,然后根据 linkage 排除异己,最后每个个体都成为一个“类”。这两种路方法没有孰优孰劣之分,只是在实际应用的时候要根据数据特点以及你想要的“类”的个数,来考虑是自上而下更快还是自下而上更快。至于根据 Linkage 判断“类”的方法就是最短距离法、最长距离法、中间距离法、类平均法等等(其中类平均法往往被认为是最常用也最好用的方法,一方面因为其良好的单调性,另一方面因为其空间扩张/浓缩的程度适中)。为弥补分解与合并的不足,层次合并经常要与其它聚类方法相结合,如循环定位。
凝聚层次聚类比分裂层次聚类更popular,分裂层次聚类中每个数据点为一个聚类,每次迭代相似的聚类相互合并,直到形成K个聚类。与K-mean相比,分层聚类的优点是无需预先指定聚类的数量。
基于特征的聚类是首先从数据中提取特征,然后根据提取的特征构造特征矩阵。与基于距离的聚类方法相比,该方法具有一些优点。首先,它更快,这将在本文后面展示。其次,标准聚类方法如K-mean聚类和层次聚类可以直接应用于特征矩阵。

在本文中,我们介绍两种时序数据的特征提取方法。
Method A 主要提取时间序列的entropy, autocorrelation, partial autocorrelation, stability, and holt parameter 具体特征。这些特征对异常时间序列的聚类和检测非常有效。
Method B 将时间序列看做是一个信号,并提取出更详细的特征:energy,
fast Fourier transform (FFT) coefficients, continuous wavelet transform (CWT) coefficients, variance。
神经网络近年来受到了广泛的关注。它们已经在信号和图像处理、控制、生物和金融等领域得到了成功的应用。根据应用程序和数据集使用不同的神经网络架构。例如,如果目标是分类,而输入数据是一组图像,那么卷积神经网络(CNN)可能是最好的选择。如果输入数据是一个时间序列,那么递归神经网络(RNN),特别是LSTM,是一个更好的选择。然而,有时一个给定的问题可以使用不止一种网络类型。例如,一个多层感知器(MLP)和CNN也被用于时间序列预测。时间序列在输入和输出格式上需要 reshaped,以供MLP使用。例如,假设时间序列X的长度为n,元素如下 X ( 1 ) , X ( 2 ) , X ( 3 ) , . . . , X ( n − 1 ) , X ( n ) X(1),X(2),X(3),...,X(n-1),X(n) X(1),X(2),X(3),...,X(n1),X(n) 。为了使用MLP预测下一个值,需要对X进行 reshaped:
在这里插入图片描述
RNN网络主要用于序列预测问题。MLP认为输入和输出是独立的,RNN这一点与MLP不同,其网络由记忆单元组成,可以记住序列元素之间的长期依赖。在理论上,RNN可以记住任意长时间的步长,但在实际应用中,它们会遇到[29]、[30]梯度消失问题。LSTM是为解决梯度消失问题而设计的。它由单元状态和各种门元素组成,决定在一个序列中哪些数据是必要的保留或扔掉。通过这样做,它只能将相关信息传递到这条长长的序列中,从而做出预测。

2.4 Error Metrics

预测误差分为标度相关(scale-dependent)和标度无关(scale-independent)两类。两个著名的尺度相关度量是 平均绝对误差(MAE)均方根误差(RMSE) 。最小化MAE将导致对中值的预测,最小化RMSE将导致对均值的预测。虽然MAE和RMSE都是广泛使用的误差测量方法,MAE的优点是它更容易计算和理解[31]。MAE和RMSE的定义如下:
MAE和RMSE的定义
平均绝对百分比误差(MAPE) 是一种广泛使用的与尺度无关的误差度量,其定义如下:
在这里插入图片描述
虽然在实践中被广泛使用,但它有以下缺点:
1-当 y t y_t yt 的真实值为零时,它是不确定的,当 y t y_t yt 接近于零时,它会是一个很大的值。
2-它对负误差的权重大于正误差。
3-当测量有一个任意的零点时,它没有意义。

3、DATASET

在本文中,我们使用以下合成数据:首先,我们使用随机AR和MA系数的 ARIMA模型 来生成长度为L的多变量时间序列,不同维度取值范围不同;其次,我们求出时间序列中每一列的绝对值,以确保每一列只包含正数;第三,我们向之前两步生成的列中添加任意数量的列,通过模拟 piecewise continuous function ,对于 0 0 0 t 1 t_1 t1 采用常数 C 1 C_1 C1 ,对于 t 1 t_1 t1 L L L 采用常数 C 2 C_2 C2 ;第四,将时间序列的 L 1 L_1 L1 元素替换为大于每一列(measurement)最大值的值,将 L 2 L_2 L2 元素替换为零来模拟离群值(outliers)的效果;最后,加性白高斯噪声(AWGN)与特定的方差取决于数据的范围被添加到每一列。

以上方法具有以下优点:第一,数据的参数,例如时间序列的维度、噪声的方差、时间序列数据每个维度的最大值最小值、离群点的数量,可以在模拟中被定义修改。第二,可以很容易地在循环中生成任意数量的多元时间序列数据。
生成静态数据比较直接,通过如下方法:首先,确定特征的数量为 K K K。第二,确定每个feature的最大值、最小值、类型(type)。第三,在给定每个feature的值的范围、类型的情况下生成或者是采样数据。

这篇文章中,我们生成 400 份具有 3 个 measurement columns 的多变量时间数据。每个 measurement 的离群点总数为10。每一个 measurement 的长度也是400。我们生成400个具有5个连续特征的静态数据。因此静态数据是一个 400 × 5 400 \times 5 400×5 的矩阵。

对于多变量时序数据,我们将使用与 physical phenomena 对应的名称。例如,第一个 measurement 是 oil ,然后是 water ,第三个 measurement 是 gas 。对于静态特性,我们称之为特性1,特性2,…,特征5。

所有的模拟都运行在Mac pro笔记本电脑上,内存为16 GB, CPU为2.80 GHz。

4、PROBLEM FORMULATION

在本文中,目标是 预测天然气的价格 (predict the cumulative
gas value),时序数据有3列,即有3个变量,给定 all other data
and measurements。我们使用时序数据前 N N N 个元素以及静态数据训练,并且预测 K t h K^th Kth 时刻的天然气价值( K > N K>N K>N)。更具体地说,我们使用N = 100和K=150、200、300、400。
我们用神经网络(LSTM)进行预测。用时序数据进行训练,并且设计了几种不同的结构(如图1所示):
在这里插入图片描述
结合时序数据和静态数据的架构如图2所示:
在这里插入图片描述
在这里插入图片描述
图1和图2 所示的架构,在聚类数据和未聚类数据中进行了测试,条件如下:

  • 只有天然气的时序数据(third column of time series data)和静态数据被用于未来天然气价格的预测。
  • 所有时序数据变量 或是 时序数据的一个切片,除了静态数据之外,都被用于预测未来的天然气价格。

5、RESULTS AND DISCUSSION

在本节中,我们描述了在聚类数据和未聚类数据中 异常检测 和 预测 的结果。图3给出了第二节中异常检测算法的一些示例。图3中蓝色曲线为原始曲线,红色为去除异常值后的曲线。可以看出,第二节中所述的异常检测算法能够准确地识别出异常值。说明异常检测 对于确保预测任务中时序数据的可用性 是一个非常重要的预处理工作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

表III给出了MAPE、MAE和RMSE误差测量方法,使用了上一节介绍的不同神经网络结构的5交叉验证,仅使用 时序数据 来预测气体的未来值。表III中,红色表示最佳RMSE;蓝色表示最佳MAPE,黑色表示所有架构中最佳MAE值。
从表III可以看出, 模型3(双向LSTM)总体上性能最好 ,因为它给出了K=150、300、400时的最佳RMSE值,以及K=200、300、400时的最佳MAPE值。
在时间方面,模型4的平均时间复杂度最高,为2938(s)。 不聚类的预测存在以下问题

  • 预测耗时长。如果进程由于内存或CPU不足而中断,那么不可避免的需要再次对所有数据进行培训和预测。
  • 由于数据表现出不同的patterns, shapes, and characteristics,将它们全部放在一起训练可能会降低预测性能。
    在这里插入图片描述
    I V IV IV 总结了 2.3 所述的各种聚类算法的聚类特征。从表 I V IV IV可以看出,基于特征的聚类方法在速度上优于基于距离的聚类方法;此外,方法A在两种基于特征的方法中速度更快。表 I V IV IV中的最优聚类数是使用几个聚类有效性指标(CVI)来确定的,例如Silhouette, Dunn, and Gamma。
    在这里插入图片描述
    接下来,我们将用DTW聚类的方法给出仅利用气体时序数据来预测气体未来值的预测结果。根据表V,采用 聚类 有以下优点:
  • 不同 clusters 的预测可以在不同时间进行,也可以并行进行,大大缩短了预测时间。
  • 对于每个K,可以选择不同 clusters 的最佳架构来提高总体性能。例如,不聚类时考虑K=150;误差度量如下:RMSE =9.216, MAPE = 33.94, MAE = 6462.38。用DTW聚类进行预测时,假设有94个时间序列在 cluster 1 中,188 个时间序列在 cluster 2 中,118个时间序列在 cluster 3 中,误差度量公式为:
    在这里插入图片描述
    (6)中, E T o t E_Tot ETot 为总误差, E i E_i Ei 为每个簇对应的误差, P i P_i Pi 为选择一个簇的概率。式(6)遵循全概率定律。
    在这里插入图片描述
    将(7)、(8)和(9)中的结果与表III中的RMSE、MAPE和MAE进行比较,可以发现 聚类可以显著提高预测性能

在这里插入图片描述
在这里插入图片描述

表VI和表VII分别给出了采用A方法和B方法的基于特征聚类的预测结果。由表VI可知,A方法K=150时的总误差测度为:
在这里插入图片描述
在这里插入图片描述
对于方法B和K=150,可根据表VII进行同样的计算:

在这里插入图片描述
比较(7)和(15)可知,DTW聚类方法和B聚类方法对预测误差的改善效果最好。
此外,从表 IV 可以看出,基于特征的聚类方法(方法A、方法B)在速度上明显优于DTW方法。因此, 如果速度和效率是主要考虑的,方法A和方法B可以与神经网络相结合,提高效率和误差。如果改进误差是主要目标,那么方法B和DTW是一个明确的选择。
现在考虑的目标是比较不同的聚类算法,基于它们提供的改进对所有架构的预测误差。这意味着我们不会像以前那样选择最好的模型,而是考虑每种聚类方法的所有模型。例如,为了找到模型1用于DTW聚类的RMSE误差,我们找到了当所有聚类都使用模型1时的总RMSE。DTW、方法A、方法B的分析结果分别见表VIII、IX、X。
在这里插入图片描述
在这里插入图片描述
分析表VIII、IX和X可以发现,当K= 150,200,300时,DTW聚类对MAPE、RMSE和MAE评分有更好的整体改进,而对于K=400时,方法A和方法B都优于DTW。但是,对比表III、VIII、IX和X可知, 无论采用哪种聚类算法,聚类后的预测精度都有显著提高 。例如,考虑K=300,无聚类时,模型3的最佳MAPE得分为38.52;而DTW聚类模型3的MAPE得分为27.57,方法A和方法B的MAPE得分分别为31.10和28.88。

A. Influence of adding more Time Series Measurements

到目前为止,我们已经使用天然气时序数据和静态数据来预测未来的气体值。然而,一个重要的问题是,预测误差是否可以通过 增加时序变量的维度 来改善?
为了回答这个问题,我们将考虑多元时间序列 column 的所有可能组合,并将其预测误差与表三进行比较。为了体现该概念并缩短仿真时间,仅对模型1和模型3进行了测试。
在这里插入图片描述
比较表XI和表III,可以发现增加更多的时间序列测量并不能改善RMSE、MAPE和MAE。表XI中对应模型1和模型3第一项的高误差表明,单靠第一列和第二列并不能很好地预测第三列。

5、CONCLUSION

在本文中,我们提供了一个综合分析的时间序列预测神经网络。我们介绍了几种结构,结合静态和动态测量,以预测时间序列使用神经网络。我们的结果表明:
首先,并不是一种体系结构就能够准确地预测所有时间序列的未来值,应该对多种体系结构进行测试,并且最好的体系结构应该基于模型选择标准(如交叉验证)来确定。
其次,在预测中加入静态数据并不一定会提高预测的误差。
我们讨论了两种主要的聚类方法,即基于距离和基于特征的聚类。结果表明,DTW在大多数架构中都优于基于特性的聚类;然而,基于特征的聚类方法在速度和时间复杂度上都优于DTW方法,与不聚类方法相比,仍能显著提高预测精度。最后,我们提出了几种方法,如异常检测、缺失数据补全,以准备时间序列数据进行预测和聚类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值