基于改进SARIMA-LSTM的海上风速预测方法

2022-02-28 06:49余聪聪熊才权徐仕强古小惠
湖北工业大学学报 2022年1期
关键词:步长差分季节性

余聪聪,熊才权,徐仕强,古小惠

(湖北工业大学计算机学院,湖北 武汉 430068)

风速不仅决定了船只的航行路线,还对船只的航行安全产生很大的影响。如果船只能够在出海前比较精确的掌握未来一段时间相应海域的风速情况,那将对船只的航行线路规划产生积极影响。

针对近海海域风速变化的特点,风速预报大多在一些临近海边的风场中。如张增海等[1]通过地表的粗糙度指数和大气的稳定度给出了相应的海上风速和沿海风速观测站风速关系的经验公式,此经验公式适用于该观测站附近的海域风速预测。考虑到风速序列中既有线性因素的影响又有非线性因素的影响和单一预测模型自身的局限性,研究者们又提出来一系列组合预测的风速预测模型[2-4]。如田中大等[5]将ARIMA[6]和回声状态网络(Echo State Network, ESN)相结合、李蓉蓉等[7]将时间序列分析和LSTM相结合,高桂革等[8]将经验模态分解和极限学习机相结合,王耀庆等[9]将小波变换与LSTM相结合,他们的做法都是将原始风速序列分解为线性自相关和非线性残差两部分,使用组合模型分别对两部分进行建模预测,充分利用好每一个模型优势,提高风速预测[10]精度。

现有研究使用季节性差分移动自回归平均模型(Seasonal Autoregressive Integrated Moving Average Model, SARIMA)进行时间序列预测时,对于季节性参数的判定大都是通过人为估计,存在一定的误差。本文提出将STL[11](Seasonal-Trend decomposition procedure based on Loess)方法用于SARIMA模型季节性差分步长的判定,以提高 SARIMA的预测精度,进而提升和长短时记忆神经网络模型(Long Short-term Memory,LSTM)相结合后对海上风速预测的准确性。实验结果表明,通过对SARIMA模型的改进,可以有效提高海上风速预测的精度。

1 基础算法

1.1 季节性差分自回归移动平均

在众多时间序列中,由于月度、季度等因素影响,如某景点的旅游人次数据,某些序列常常呈现出一种周期性变化,这类序列统称为季节性序列,同时也衍生出了季节性 ARIMA 模型,用 SARIMA 表示,它对数据变量建立序列回归,并根据数据周期项和随机项对序列未来趋势做测算。SARIMA 模型[12]源于 ARIMA 模型。将原始的时间序列记为yt,SARIMA模型首先是对yt进行差分处理,消除序列当中的趋势性,然后通过季节性差分消除季节性,经过处理后,模型可以表示为SARIMA(p,d,q)(P,D,Q)s,记作[10]:

φp(Bs)φP(B)(1-Bs)D(1-B)dyt=

ΘQ(Bs)θq(B)at

(1)

其中:φp(BS)为季节P阶自回归算子多项式、p为自回归阶数、P为季节性自回归阶数、φp(B)为非季节自回归多项式、D为季节差分阶数、d为逐期差分阶数、s为季节差分步长、(1-Bs)D为季节差分算子、(1-B)d为差分算子、Q为季节移动平均阶数、ΘQ(Bs)为季节Q阶移动平均算子多项式、θq(B)为非季节移动平均多项式、at为白噪声序列。

1.2 循环神经网络

典型循环神经网络结构一般如图1所示,主体结构的输入包括输入层xt,循环边上所提供的上一时刻隐藏状态st-1。在某一个时刻t,网络在读取了xt和st-1之后还会生成新的隐藏状态st和产生当前时刻的输出ot。

图 1 循环神经网络结构图

从理论上来说,循环神经网络可以处理任意长度的序列,但在实际的训练过程中,当序列过长时,一方面可能会导致出现梯度消失和梯度爆炸的问题,另一方面网络展开后会占用过大的内存,因此在实际使用时会规定一个序列的最大长度,当序列的长度超过这个长度时,应该进行分段处理。

1.3 LSTM神经网络结构

循环神经网络与传统的神经网络相比可以通过历史保存的信息来辅助当前的决策,但在某些问题中,模型只需要短期的信息来处理当前任务,因此循环神经网络存在长期依赖问题。长短时记忆神经网络是一种特殊的循环神经网络,与传统的循环神经网络相比,LSTM在其基础上添加了一些“门”结构,它可以选择性保留网络信息,有效地解决了一些无效数据的依赖问题,提高了神经网络的效率,LSTM单元结构如图2所示。

图 2 LSTM网络结构图

图2中的“遗忘门”和“输入门”是LSTM结构中最为核心的部分。其中“遗忘门”会依据当前输入的xt和上一时刻输出的ht-1来决定遗忘哪一部分记忆,而“输入门”依据xt和ht-1决定哪些信息应该加入到状态ct-1中从而生成新的状态ct。此时“输出门”会根据当前时刻的输入xt,上一时刻的输出ht-1和ct来决定此刻的输出。

2 STL对SARIMA模型的改进

STL是一种通用稳健基于Loess的分解时间序列方法。估计某个响应变量值时,优先选择预测变量附近的一个数据子集,通过采用二次回归或加权最小二乘法进行线性回归,使离该响应变量较远点的权重变小后通过局部回归模型估算出响应变量的值。它通过提取时间序列中的部分局部数据,从而使得回归曲线变得平滑且让数据在一定的范围内的趋势和变化规律变得更加明显。影响海上风速序列变动的因素包括季节变动、趋势变动和不规则变动,SARIMA模型季节性差分步长通常是人为估计,会存在误差,使得模型的预测结果不准确。为了能够更好的确定SARIMA模型的季节性差分步长,使用STL将海上风速序列进行分解,通过分解后的风速季节分量来确定该参数值。分解后的表达式可以表示如下:

Tt=St+Ct+Rt(t|0≤t≤|T|,t∈Z)

(2)

其中,T为原始海上风速序列、S为季节分量、C为趋势分量、R为剩余分量、|T|为序列的长度。STL分解过程由内循环和外循环两部分组成。每次内循环都包含季节性平滑,用来更新季节性分量,而外循环则是在内循环完成之后计算稳健的权重,以减少下一次内循环中异常值对更新季节性分量的影响。STL内循环过程见图3。步骤分别为:

图 3 STL内循环过程图

在外循环中,使用内循环得到的趋势分量C和季节分量S来计算剩余分量S。分析季节分量S得到SARIMA模型的季节性差分步长。

3 改进后的SARIMA与LSTM组合模型的建立

海上风速序列不仅具有线性特征,还具有非线性、随机性和非平稳性等特征。改进后的SARIMA模型对风速序列中的线性部分拟合得更好,而长短时记忆网络模型(LSTM)的优势在于拟合较为复杂的非线性,非平稳性数据,二者的优势互补。假设存在风速时间序列Yt由两部分组成,分别为线性自相关的Lt和非线性的残差Nt,则有:Yt=Lt+Nt,本文将采用改进后的SARIMA和LSTM的组合模型进行风速预测。

图 4 SARIMA与LSTM组合预测原理图

4 实验验证与结果分析

4.1 数据来源及处理

实验数据的提供方是中国科学院南海海洋研究所,选取我国南海17.5°N/110.5°E、17.8°N/110.7°E、18°N/111°E分别表示为A、B、C的三个点从2020年4月20日中午12时至2020年4月25日中午12时为期时长5 d的风速数据分别进行实验,前4 d数据作为模型的训练数据,最后一天数据作为测试数据。

4.2 SARIMA模型的构建和检验

以A点为例,首先对风速时间序列进行STL分解,结果见图5。

图 5 风速时间序列分解示意图

从图5中可以看出观测的风速序列整体在前4 d存在明显的下降趋势,最后一天稍微有所上升,每一天内都呈现出先上升后下降的趋势。由于实测的数据是以小时为单位进行观测得到,因此确定SARIMA(p,d,q)(P,D,Q)s模型中的季节性差分步长s的值为24。

模型的参数确定通过网格搜索的方式进行,参数搜索范围确定为0~2,确定了模型的参数后,需要对模型进行检验,主要是进行模型的显著性检验和参数的显著性检验。模型参数及其显著性检验信息见表1,检验方法采用Z值检验。结果表明该模型参数均显著非零,模型参数均通过检验。

表1 模型参数与参数显著性检验

采用相同的方式对B、C两点的风速数据进行同样的建模处理,最后使用得到的模型对观测到的风速数据进行提前一天的预测,得到的风速实际预测值和风速观测值对比结果见图6。

(a)A点

观察以上三个地点风速的观测值和预测值的结果曲线,预测值曲线的整体波动趋势与观测值曲线的波动趋势基本一致,但在风速波动较大时,预测精度还有待提升。

4.3 SARIMA-LSTM模型风速预测

在SARIMA-LSTM组合模型中,先使用风速的观测值进行SARIMA模型建模,将模型得到的残差作为LSTM模型的输入。为了实现对模型残差进行准确的预测,设计了图7所示的残差预测LSTM网络结构。

图 7 残差LSTM网络结构

设置LSTM网络的输入维度和输出维度都是1维,隐藏层神经元节点的个数为120,损失函数设置为均方误差函数(MSE),优化器选择Adam, 对模型进行训练。网络的输出信息见图8。加入LSTM网络后,组合风速预测模型在A、B、C 三点的预测效果见图9。

图 8 LSTM网络信息输出

(a)A点

从实验结果可以看出,在SARIMA模型的预测基础之上增加长短时记忆网络后的预测结果值与原始的风速值更为接近,预测曲线的变化趋势与实际观测风速曲线的变化趋势也基本一致。

4.4 SARIMA-LSTM模型风速预测

为了验证改进后组合模型在风速预测中的有效性,在相同的实验条件下,分别使用SARIMA模型、BP网络模型、LSTM网络模型、LSTM-SARIMA组合模型和本文的STL-SARIMA-LSTM组合模型进行实验对比。预测误差选取3个不同地点平均绝对误差MAE、均方根误差RMSE和平均绝对百分比误差MAPE的均值作为评价标准。定义见公式(3)~(5)。

(3)

(4)

(5)

表2 预测结果对比

由表2可知: 单一预测模型中,SARIMA模型预测效果较好,LSTM神经网络模型和BP神经网络模型的预测精度相差不大。由于组合模型对海上风速数据特征的提取更加充分,预测精度高于单一预测模型。使用LSTM和SARIMA组合时预测误差较小,而当在SARIMA模型季节性差分参数确定时,考虑结合STL后,再结合LSTM进行海上风速的预测时,预测风速曲线与实际风速曲线最为接近,预测精度最高。

5 结论

在STL分解海上风速序列后,SARIMA模型的季节性差分步长确定变得更为准确,从而使其预测精度得到了提升。从一系列的对比实验中可以看出改进后的SARIMA与LSTM组合后对于海上风速预测的精度更高。加入STL后模型变得更为复杂,导致数据处理的时间变长且由于海上风速的不稳定性,在风速波动较大点预测精度还不够好。后续研究应进一步优化模型并考虑诸如气压、温度等额外因素对于海上风速大小的影响。

猜你喜欢
步长差分季节性
一类分数阶q-差分方程正解的存在性与不存在性(英文)
一个求非线性差分方程所有多项式解的算法(英)
季节性恋爱(外一首)
董事长发开脱声明,无助消除步长困境
步长制药50亿元商誉肥了谁?
起底步长制药
一类caputo分数阶差分方程依赖于参数的正解存在和不存在性
远离季节性过敏
步长制药
——中国制药企业十佳品牌
基于差分隐私的数据匿名化隐私保护方法