全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
3487 0
2020-08-25
ARIMA / SARIMA与LSTM结合Ensemble学习洞察时间序列数据
动机
流行时间序列预测最常用的传统时间序列模型有五种,其中包括
自回归(AR)
移动平均线(MA)
自回归移动平均线(ARMA),
自回归综合移动平均值(ARIMA),以及
季节性自回归综合移动平均线(SARIMA)模型。
AR模型根据其先前值和当前残差线性地表示时间序列的当前值,而MA模型根据其当前和先前残差序列线性地表示时间序列的当前值。
ARMA模型是AR和MA模型的组合,其中时间序列的当前值根据其先前值以及当前和先前残差序列线性表示。AR,MA和ARMA模型中定义的时间序列是平稳过程,这意味着这些模型中的任何一个的序列均值及其观测值之间的协方差都不会随时间变化。
对于非平稳时间序列,必须先将序列转换为平稳序列。ARIMA模型通常适合基于ARMA模型的非平稳时间序列,并具有微分过程,可有效地将非平稳数据转换为平稳数据。将季节性差异与ARIMA模型相结合的SARIMA模型用于具有周期性特征的时间序列数据建模。
比较可用于时间序列的所有算法模型的性能,发现机器学习方法的性能均优于简单的经典方法,其中ETS和ARIMA模型总体上表现最佳。下图表示模型比较。
单步预测的比较模型性能(sMAPE)的条形图:来源:  https://journals.plos.org/plosone/article?id = 10.1371 / journal.pone.0 ...
但是,除了传统的时间序列预测之外,如果我们关注深度学习领域中的时间序列预测方面的进步,我们会发现递归神经网络(RNN)和长短期记忆(LSTM)在以下方面引起了很多关注近年来,它们在许多学科中的应用包括计算机视觉,自然语言处理和金融。深度学习方法能够识别数据的结构和模式,例如时间序列预测中的非线性和复杂性。
关于新开发的基于深度学习的用于预测时间序列数据的算法(例如“长短期记忆(LSTM)”)如何优于传统算法仍存在悬而未决的研究问题。
该博客的结构如下:
了解深度学习算法RNN,LSTM,以及LSTM集成学习对提高性能的作用。
了解传统的时间序列建模技术ARIMA,以及与MLP和多元线性回归结合使用时,如何帮助改善集合方法中的时间序列预测。
了解可以使用ARIMA与LSTM对比的问题和场景,以及在采用一个相对于另一个的优缺点。
了解如何使用集成学习将SARIMA的时间序列建模与其他空间,基于决策和基于事件的模型结合在一起。
但是,需要更详细的了解该研究没有研究更复杂的时间序列问题,例如那些具有复杂的不规则时间结构,缺失的观测值,重噪声和多个变量之间的复杂相互关系的数据集。
LSTM
LSTM是一种特殊的RNN,它由一组具有记忆数据序列特征的单元格组成。单元捕获并存储数据流。此外,单元将过去的一个模块互连到当前的一个模块,以将信息从过去的几个时刻传递到当前的一个模块。由于在每个单元中使用门,因此可以为下一个单元处理,过滤或添加每个单元中的数据。
这些门基于S型神经网络层,使单元可以选择让数据通过或处理。每个S形层产生的数字在零到一的范围内,表示每个单元中应通过的每个数据段的数量。更准确地说,零值的估计意味着“不让任何东西通过”。而 估计值为1表示“让所有内容通过”。每个LSTM涉及三种类型的门,其目的是控制每个单元的状态:
忘记门  输出0到1之间的数字,其中1表示“完全保留”;而0表示“完全忽略这一点”。
Memory Gate  选择需要通过S型层然后是tanh层将哪些新数据存储在单元中。最初的S形层(称为“输入门层”)选择要修改的值。接下来,tanh层创建一个可以添加到状态的新候选值的向量。
输出门  决定从每个单元中得到多少。产生的值将基于单元状态以及过滤后的数据和新添加的数据。
与ARIMA相比,在学习如何工作和实现方面,LSTM模型都提供了更多的微调选项。
用于时间序列预测的LSTM集成
几项研究发现,除非进行严格的参数优化,否则使用特定数据集训练的单个LSTM网络在完全不同的时间序列上的性能很可能会很差。由于LSTM在预测领域非常成功,因此研究使用了所谓的  堆叠集成  方法,其中将  多个LSTM网络进行堆叠  和组合以提供更准确的预测,旨在为预测问题提供更通用的模型
对四种不同预测问题的研究得出的结论是,就评估指标RMSE进行比较时,堆叠的LSTM网络优于常规LSTM网络和ARIMA模型。
可以通过调整每个LSTM的参数来提高所研究的集成方法的总体质量。单个LSTM网络性能不佳的原因是LSTM网络的参数调优过大,以及单个LSTM网络的使用,这些LSTM网络用于与训练过的数据集不同的数据集时,效果较差。因此,集成LSTM网络的概念   演变成可以为预测问题提供更好的选择,从而减少了对参数进行大量优化并提高预测质量的需求。
如上图所示,在其他合奏 技术中,   具有  长短期记忆(LSTM)的  混合合奏学习可用于预测财务时间序列。adaBoost  算法用于组合来自多个单独的长期短期记忆(LSTM)网络的预测。
首先,通过使用AdaBoost算法,通过从原始数据集中生成替换样本来训练数据库以获取训练数据。其次,利用LSTM分别预测每个训练样本。第三,使用AdaBoost算法对所有LSTM预测器的预测结果进行积分,以生成整体结果。在两个主要日汇率数据集和两个股市指数数据集上的经验结果表明,AdaBoost-LSTM集成学习方法优于其他单个预测模型和集成学习方法。
AdaBoost-LSTM集成学习方法对于金融时间序列数据预测,具有非线性和不规则性的时间序列数据(例如汇率和股票指数)看起来很有希望。
来源  -https://www.semanticscholar.org/paper/A-real-time-ensemble-classifi ...
如上图所示,在LSTM中进行集成学习的另一个示例发生在输入层包含从时间  t1  到  tn的输入时,每个时刻的输入被馈送到每个LSTM层。来自LSTM层  hk的  代表信息时间k的一部分的输出被馈送到最终输出层,该输出层汇总并从接收到的所有输出中计算平均值。此外,将平均值输入逻辑回归层以预测样品的标签。
有马
ARIMA算法是一类模型,可捕获时间序列数据中的时间结构。但是,仅使用ARIMA模型,很难对变量之间的非线性关系建模。
自回归综合移动平均模型(ARIMA)是自回归移动平均(ARMA)的通用模型,该模型结合了自回归(AR)过程和移动平均(MA)过程,并建立了时间序列的复合模型。
AR:自回归。使用观察值与许多滞后观察值之间的依赖性的回归模型。
一:集成。通过测量不同时间观测值的差异来使时间序列固定。
MA:移动平均线。当移动平均模型用于滞后观测值(q)时,该方法考虑到观测值和残差项之间的依赖性。p阶AR模型(??即AR(p))的简单形式可以写成线性过程,由下式给出:
这里  XT 表示 固定变量,  ?  是恒定的,在术语  ? 吨  是在滞后1,2,...,p和自相关系数  ξt, 残差,是高斯白噪声系列均值为零,方差  σt2。
ARIMA模型的一般形式表示为ARIMA(p,q,d)。根据季节性时间序列数据,短期的非季节性因素很可能对模型有所贡献。ARIMA模型通常表示为ARIMA(p,q,d),其中:
p是训练模型时使用的滞后观察次数(即滞后顺序)。
d是应用差异的次数(即差异程度)。
q被称为移动平均窗口的大小(即移动平均的顺序)。
例如,ARIMA(5
因此,我们需要估计季节性ARIMA模型,该模型在乘法模型中同时包含了非季节性因素和季节性因素。季节性ARIMA模型的一般形式表示为(p,q,d)X(P,Q,D)S,其中p是非季节性AR阶,d是非季节性差分,q是非季节性差分。 -季节性MA阶,P是季节性AR阶,D是季节性差分,Q是季节性MA阶,S是重复季节性模式的时间跨度。估计季节性ARIMA模型的最重要步骤是确定(p,q,d)和(P,Q,D)的值。
根据数据的时间图,例如,如果方差随时间增长,则应使用方差稳定化变换和差分。
然后,使用自相关函数(ACF)来测量时间序列中由滞后p分开的观测值之间的线性相关性,并使用偏自相关函数(PACF)来确定需要多少个自回归项q和逆自相关用IACF(函数)检测超差,我们可以确定自回归阶数p的初值,差分阶数d,移动平均阶数q及其相应的季节性参数P,D和Q。参数d是阶差从非平稳时间序列到平稳时间序列的频率变化。
在针对单个时间序列数据的流行的单变量方法“自动回归移动平均值(ARMA)”中,将自动回归(AR)模型和移动平均(MA)模型组合在一起。单变量“自回归综合移动平均值(ARIMA)”是ARMA的一种特殊类型,在模型中考虑了差异。
多元ARIMA模型和向量自回归(VAR)模型是其他最受欢迎的预测模型,它们反过来通过允许多个演化变量来推广一元ARIMA模型和一元自回归(AR)模型。
ARIMA是一种基于线性回归的预测方法,最适合于预测单步样本外预测。在这里,开发的算法 通过重新估算执行  多步样本外预测,即每次重新拟合模型以构建最佳估算模型时。该算法可处理输入的“时间序列”数据集,构建预测模型并报告预测的均方根误差。它存储两个数据结构,以保存每次迭代时累积添加的训练数据集“历史”和测试数据集的连续预测值“预测”。
季节性ARIMA模型,资料来源:  http://sfb649.wiwi.hu-berlin.de/fedc_homepage/xplore/tutorials/xegb ...
与ARIMA整合学习
分别对ARIMA,多层感知器(MLP)和多重线性回归(MLR)这三个预测模型进行了训练,验证和测试,以获得目标污染物浓度的预测。为了训练和拟合ARIMA模型,根据自相关函数(ACF)和部分自相关函数(PACF)估算p,d,q值。MLP模型是使用以下参数构建的:用于权重优化的求解器为“ lbfgs”,因为它收敛速度更快,并且对于尺寸较小的数据有更好的性能。
来源:  http://nebula.wsimg.com/5b49ad24a16af2a07990487493272154?AccessKeyI ...
与随机梯度下降优化器相比,它提供了更好的结果。使用激活功能“ relu”,它代表线性整流单位(RELU)功能。它避免了梯度消失的问题。然后,使用加权平均集成技术将来自每个模型的预测合并为最终预测。加权平均集合是一种方法,其中将每个模型的预测值乘以权重,然后计算其平均值。根据每个模型的性能来调整每个基本模型的权重。
使用加权平均技术组合来自每个模型的预测,其中基于模型的性能为每个模型赋予不同的权重。性能更好的模型具有更大的权重。分配权重以使权重之和必须等于1。
萨里玛
ARIMA是用于单变量时间序列数据预测的最广泛使用的预测方法之一,但它不支持具有季节性成分的时间序列。ARIMA模型已扩展(SARIMA)以支持该系列的季节性要素。SARIMA(季节性自回归综合移动平均线)是一种用于时间序列预测的方法,用于包含趋势和季节性的单变量数据。SARIMA由该系列的趋势和季节性元素组成。
与ARIMA模型相同的一些参数是:
p:趋势自回归顺序。
d:趋势差顺序。
q:趋势移动平均线
ARIMA不包含以下四个季节性要素:
P:季节性自回归阶。
D:季节性差异顺序。
问:季节性移动平均线顺序。
m:单个季节周期的时间步数。
因此,SARIMA模型可以指定为:
萨里玛(p,d,q)(P,D,Q)m
如果m为12,则指定每月数据建议每年的季节周期。
SARIMA时间序列模型也可以与基于空间和事件的模型相结合,以产生可解决多维机器学习问题的集成模型。可以将这种ML模型设计为预测一年四季不同时间的蜂窝网络中的蜂窝负载,如下面的示例图中所示。
时间序列分析中的自相关,趋势和季节性(工作日,周末影响)可用于解释时间影响。
区域和按单元划分的负荷分布可用于预测变化时间间隔内的稀疏和超负荷单元。
可以使用决策树预测事件(节假日,特殊的群众聚会等)。
来源:  https://www.cse.cuhk.edu.hk/lyu/_media/conference/slzhao_sigspatial ...
数据集,问题和模型选择
在分析经典机器学习或深度学习机制要解决的问题的领域时,在最终选择正确的模型之前,需要考虑某些因素。
传统时间序列模型(ARIMA / SARIMA)与深度学习模型相比,绩效指标的差异。
由于模型选择而产生的长期或短期业务影响。
设计,实施和维护成本较为复杂的模型。
丧失可解释性。
首先,数据是高度动态的。通常很难弄清楚嵌入在时间序列数据中的结构。第二,时间序列数据可以是非线性的,并且包含高度复杂的自相关结构。跨不同时间段的数据点可以相互关联,并且线性近似有时无法对数据中的所有结构进行建模。诸如自回归模型之类的传统方法试图估计模型的参数,这些参数可以看作是生成数据的结构的平滑近似。
在上述因素的影响下,发现ARIMA可以更好地建模遵循线性关系的数据,而RNN(取决于激活函数)可以更好地建模具有非线性关系的数据。ARIMA模型为将其应用于数据集的数据科学家提供了一个不错的选择。当数据仍通过Lee,White和Granger(LWG)测试在残差中包含非线性关系时,可以使用诸如RNN的非线性模型进一步处理此类数据集。
在将LSTM和ARIMA用于一组财务数据上时,结果表明LSTM优于ARIMA,因为基于LSTM的算法与ARIMA相比平均将预测提高了85%。
结论
这项研究以一些案例研究作为结束语,考虑到特定的机器学习方法在人工智能的其他领域中的出色表现,为什么它们在实践中表现如此差劲。面临的挑战使我们可以评估ARIMA / SARIMA和LSTM模型的性能不佳的原因,并设计出机制来改善模型的性能不佳和准确性。下面列出了模型的一些应用领域及其性能:
ARIMA在短期预测中产生更好的结果,而LSTM在长期建模中产生更好的结果。
传统的时间序列预测方法(ARIMA)专注于具有线性关系以及固定和手动诊断的时间依赖性的单变量数据。
对于大量数据集的机器学习问题,研究人员发现,与ARIMA相比,LSTM所获得的错误率平均降低了84-87%,这表明LSTM优于ARIMA。
训练次数(在深度学习中称为“时期”)对训练的预测模型的性能没有影响,并且表现出真正的随机行为。
与RNN和MLP等较简单的NN相比,LSTM似乎更适合拟合或过度拟合训练数据集,而不是对其进行预测。
具有庞大数据集的神经网络(LSTM和其他深度学习方法)提供了将其分为几个较小的批次并在多个阶段训练网络的方法。批次大小/每个块大小是指使用的训练数据总数。术语“迭代”用于表示使用整个数据集完成训练模型所需的批次数量。
LSTM无疑更加复杂且难以训练,并且在大多数情况下不会超过简单ARIMA模型的性能。
ETS和ARIMA等经典方法在单变量数据集的一步式预测方面优于机器学习和深度学习方法。
像Theta和ARIMA这样的经典方法在单变量数据集的多步预测方面优于机器学习和深度学习方法。
ARIMA等经典方法着眼于固定的时间依赖性:不同时间的观测值之间的关系,这需要分析和指定作为输入提供的滞后观测值的数量。
机器学习和深度学习方法尚未实现单变量时间序列预测的承诺,还有许多工作要做。
神经网络增加了使用任意定义但固定数量的输入来学习可能的噪声和非线性关系的功能。此外,神经网络输出多元和多步预测。
递归神经网络(RNN)添加了对有序观察的显式处理,并且能够适应于从上下文中学习时间依赖性。通过从序列中一次获取一个观察值,RNN可以了解它之前已经看到的相关观察值,并确定其在预测中的相关性。
由于LSTM可以学习序列中的长期相关性,因此它们可以对复杂的多元序列建模,而无需指定任何时间窗口。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群