基于ARIMA-KF模型的船舶系统设备状态参数预测

2022-01-12 02:31陈方圆邹永久张跃文孙培廷
科学技术与工程 2021年35期
关键词:卡尔曼滤波矩阵船舶

陈方圆, 邹永久, 张 鹏, 张跃文, 孙培廷

(大连海事大学轮机工程学院, 大连 116026)

随着大数据技术的快速发展和5G时代的到来,智能船舶已成为船舶行业未来发展的必然趋势[1]。船舶系统设备状态参数预测研究也将成为船舶智能化发展的重要基础技术之一。基于数据驱动的方法,如何有效地利用航参数据,建立预测模型,实现对船舶系统及设备工作状态的智能分析和准确预测,提高智能船舶的可靠性和船舶智能设备的可操作性,是目前亟需解决的问题[2]。此外,船舶系统设备状态参数预测不仅可以实现船舶系统设备剩余寿命预测,还能为轮机员提供辅助决策支持[3]。

目前,在船舶领域中常用的预测方法主要有灰色模型、BP(back propagation)神经网络等。南晓雪[4]采用灰色模型实现了对有变化趋势的港口船舶通航能力进行了准确预测。但灰色模型只能识别单一参数,限制了其使用范围,且使用单一算法对参数预测的精度较低,无法满足船舶系统设备状态参数预测的实际需求。王子铭等[5]基于长短期记忆神经网络中的时间序列预测模型构建了主机油耗实时预报模型,实现了对船舶在航行过程中主机油耗参数的实时预测。吕鹏飞等[6]以船舶运输量为主要研究对象,结合马尔科夫预测模型,对BP神经网络进行优化,实现了对运输量趋势的准确预测。王新全等[7]构建了基于遗传算法优化的BP神经网络预测模型,实现了对船舶主机排气温度变化趋势的准确预测。尹倩[8]基于长短期记忆循环神经网络的温度预测分析模型,实现了对压缩机出风口和涡轮机出口的未来温度变化进行了预测。上述基于神经网络进行预测的方法虽然提高了预测的准确度,但是基于神经网络方法需要从训练集中选取一些典型的样本重新构建训练集,容易陷入局部收敛,对样本依赖性较大,只适用于个别条件下船舶系统设备状态参数预测。近年来,也有不少专家和学者通过采用自回归滑动平均(auto-regressive moving-average model,ARMA)模型,实现了对船舶系统及设备状态参数的预测。孙晓磊等[9]构建了自回归分布式滞后ARMA预测模型,实现了对船舶动力装置系统状态参数的预测。优化后的ARMA模型虽然提高了预测的准确度,但由于船舶工作环境恶劣,受到的影响因素具有很大的不确定性,增大了优化模型的构建难度。因此,这在很大程度上限制了上述方法在船舶领域中的实际应用,亟需研究新型的组合预测模型。

针对上述模型的局限性,现探究船舶系统设备状态参数的变化规律,提出一种基于ARIMA-KF(auto-regressive integrated moving-average model,Kalman filter,KF)组合模型的船舶系统设备状态参数的预测方法。该模型将两种算法的优势结合在一起,能弥补单一模型的不足,提高模型的准确度。此外,该模型将外界复杂的影响因素归为单一的时间影响因素来考虑,可降低模型构建的难度[10],并依靠卡尔曼滤波算法强大的更新迭代能力,大大减少了工作量[3]。该模型对船舶系统状态监控和辅助决策具有一定的指导意义。

1 ARIMA模型原理以及建模过程

ARIMA(p,d,q)模型又称整合移动平均自回归模型,其中,p、q为ARIMA模型的阶数,d为模型差分次数,ARIMA(p,d,q)模型的实质就是最原始的非平稳序列做d次差分处理,然后再进行ARMA(p,q)模型拟合[10]。ARIMA(p,d,q)模型形式为

(1)

当d=0时,该模型为ARMA(p,q)模型,即

(2)

式中:yt为采集到的时序数据,t代表采样时间;φi(i=0,1,2,…,p)、θj(j=1,2,…,q)为ARIMA模型的参数;{at}为t时刻白噪声序列;εt为t时刻的零均值白噪声;L为滞后算子。

建模具体过程如下。

(1)平稳性检验。采集到一组实船数据后,首先对该序列进行平稳性检验,一般采用单位根检验方法。若时序中存在单位根即为非平稳性时间序列。反之,则为平稳性时间序列,单位根检验方法一共包含6种检验方式,一般联合使用ADF检验(augmented dickey-fuller test)、KPSS检验 (kwiatkowski-phillips-schmidt-shin test)可以提高结果的可靠性[11]。

(2)数据预处理。若原始数据没有通过平稳性检验,则需要对该序列进行零均值处理,一般是通过将d阶差分算子作用于原始序列yt,得到ARIMA(p,d,q)模型。一阶差分示例为

∇2yt=∇(yt-yt-1)=yt-2yt-1+yt-2

(3)

式(3)中:∇为差分算子;yt、yt-1、yt-2分别表示相邻时刻采集的数据。

(3)模型判定。对ARIMA(p,d,q)模型的判定可以结合自相关函数和偏自相关函数性质进行初步估计,具体判定方法如表1所示。

表1 模型判定方法

根据估计得到的不同p、q值,采用AIC准则(akaike information criterion)和BIC准则(bayesian information criterion)给模型定阶。准则公式为

(4)

(4)参数估计和模型检验。参数估计一般采用yule-walker逆矩阵法。模型检验一般采用白噪声检验方式。

2 卡尔曼滤波

时间序列模型可以转换成状态空间模型的一种形式,并通过卡尔曼滤波进行求解[12]。状态空间模型由状态方程和观测方程两部分组成,运用状态空间分析方法将时间作为动态系统的隐藏变量的一种动态时域模型[13]。

状态方程为

Xt=FtXt-1+ct+Rtwt

(5)

量测方程为

Yt+1=ZtXt+dt+vt

(6)

式中:Xt为t时刻的状态估计值(t=1,2,3,…,T);Ft代表m×m维的状态转移矩阵;ct为m×1维的常数向量;Rt是m×g维的噪声矩阵;Yt+1是系统在t+1时刻k×1维的观测向量;Zt为k×1维量程矩阵;dt是k×1维的干扰项;wt、vt代表的是均值为0、协方差矩阵分别为Gt、Qt的干扰项,即E(wt)=0,var(wt)=Qt。E(vt)=0,var(vt)=Gt,且Gt、Qt相互独立。

卡尔曼滤波(Kalman filtering,KF)由状态方程和测量方程两部分构成,在状态方程和测量方程已知的情况下,从一系列存在观测噪声数据中可以迭代出系统的最优状态估计[14]。

状态方程为

Xt=FtXt-1+Btut+wt

(7)

测量方程为

Yt=HtXt+vt

(8)

式中:Xt、Ft、Yt分别代表状态向量、状态转移矩阵和量测向量;Bt、ut、Ht分别为控制矩阵、状态控制向量、转换矩阵;wt、vt分别为系统噪声和测量噪声且都服从高斯分布。在已知t-1时刻Xt-1的情况下,通过状态方程和测量方程不断更新和预测,就可以得到t时刻的最优状态值Xt|t-1。

系统状态更新步为

(9)

观测量预测步为

(10)

式(9)中:

分别为t时刻的后验状态估计、卡尔曼增益、后验估计协方差、先验估计协方差;Yt|t-1、St、et分别为单步预测结果、预测误差、预测误差的协方差。

若已知t-1时刻系统的最优状态服从高斯分布的情况下,即Xt-1~(xt-1,Pt-1),根据预测方程(9)可以直接推导出t时刻的状态预测值Xt|t-1,也为t+1时刻的先验估计,然后再由测量方程[式(10)]得到t时刻的量测状态Yt。将t时刻的预测值和量测方程服从的高斯分布相乘,得到t时刻状态的最优估计服从的高斯分布,即Xt|t~(xt,Pt),再返回卡尔曼滤波更新步即式(10)便得到了卡尔曼滤波的结果最优状态估计Xt和最优状态协方差估计Pt。

3 ARIMA-KF组合模型预测方法

根据以往研究表明,在不需要以往存储的历史数据和已知状态向量初始值、状态协方差矩阵初始值的情况下,卡尔曼滤波可通过计算机程序对状态空间模型参数进行估计,并且调整卡尔曼滤波的参数可以寻求和真实曲线吻合度更高的仿真曲线,达到提高预测精度的目的[11]。因时间序列ARIMA可以实现单步预测和多步预测,故下面将从单步预测和多步预测两方面构建线性状态参数的组合预测模型,对船舶系统与设备状态参数进行预测研究。

3.1 ARIMA-KF单步预测方法

利用ARIMA模型对船舶系统及设备状态参数建立预测模型,得到初始参数估计。具体步骤如下。

Step 1建立时间序列ARIMA模型。对状态参数时序进行平稳性检验和季节性调整,确定差分阶数,依照AIC准则、BIC准则给模型定阶,用yule-walker逆矩阵法对模型系数{φ1,φ2,…,φp},{θ1,θ2,…,θq}进行求解。

Step 2构建状态空间模型的状态转移矩阵。将ARIMA模型系数值引入状态空间模型的m×m维的状态转移矩阵Ft中,其中m=max(p,q),p、q为ARIMA模型阶数。用模型预测方程来表示状态空间模型的状态转移方程。综上所述,ARIMA模型系数来表示状态空间模型的状态转移矩阵可以写为

(12)

H=[1 0 0 … 0m],m=max(p,q)。其中,X1t的初始值为{y1y2…ym}。X(t)其他元素通过递推公式Xmt=φmYt-1-θm-1at+1,最后得到状态初始值X1|0=(s1ts2t…smt)T和观测初始值Yt=(y1t22t…ymt)T,根据式(8)、式(9)得到最优估计状态向量Xt|t。

Step 3采用MATLAB软件,对ARIMA模型进行单步预测。

Step 4构建状态空间模型的观测方程。

ARIMA模型和组合模型单步预测值作为卡尔曼滤波的观测量,在已知Xt|t的情况下,状态空间模型参数估计后,就能够得到t+1时刻的预测。

Yt+1|t=E(Yt+1|Yt)=HXt+1|t+E(vt+1)=

HFXt|t

(13)

3.2 ARIMA-KF外推预测方法

由于卡尔曼滤波无法单独进行向后预测,因此需要借助模型拟合的预测数据进行卡尔曼滤波分析,在模型预测的基础上提供新的观测值,利用卡尔曼滤波强大的迭代功能对状态向量估计不断修正进而得到最优估计,提高模型的预测精度。建模流程如图1所示。

图1 建模流程图Fig.1 Modeling flow chart

4 实例分析

4.1 基于ARIMA-KF的设备主要状态参数预测仿真

以小时为单位,将采集到312 h的实船海水冷却系统淡水出口温度值作为原始数据样本。利用MATLAB软件,将前300个数据作为训练样本输入预测模型中,预测未来12 h的温度值。将预测值和采集到的实船测量值进行误差对比分析,具体步骤内容如下。

Step 1确保在船舶正常运行的情况下,对实船冷却水系统淡水出口的温度进行采集,采集到的原始样本数据如图2所示。

图2 信号采集原始图Fig.2 Original diagram of signal acquisition

Step 2采用MATLAB软件进行数据处理和编程,利用KPSS函数和ADF函数检验数据的平稳性,当KSPP=0,ADF=1时说明被检验序列为平稳序列。运行后的结果显示原始序列需经过2阶差分才转换为平稳序列,故该模型初定为ARIMA(p,2,q)模型。该模型的自相关函数图形与偏自相关函数图形如图3所示。

图3 自相关函数、偏自相关函数图像Fig.3 Autocorrelation function、Partial autocorrelation function image

Step 3确定阶数p、q。根据表1和图3可知模型的自相关函数与偏自相关函数均为拖尾性。初步将阶数的范围定为5≤p≤12,5≤q≤12。根据式(6)计算不同组合阶数对应的AIC、BIC值,依照AIC准则、BIC准则,当p=12、q=5时,AIC、BIC值相对最小,又d=2,故时间序列模型为ARIMA(12,2,5)。接下来对该模型的拟合残差进行检验。结果如图4所示,可知,拟合残差均值为0,且服从正态分布,样本正态分位数分布在红线的周围,满足理想模型对拟合残差的要求。

图4 模型检测结果图Fig.4 Model test results

Step 4在已知p=12,d=2,q=5。由式(4)得到ARMA模型的预测方程为

x(t+1)=1.983x(t)+…-0.153x(t-13)-α(t+1)-…-0.189α(t-4)

(14)

根据式(14)转化为状态空间模型的状态方程和观测方程(令H=[1,0,0,0,0,0,0,0,0,0,0,0])分别为

(15)

ω(t+1)

(16)

式中:α(t)、ω(t)均为白噪声序列。一般取状态初始值X1|0=(s1ts2t…smt)T=(y1ty2t…ymt)T,观测初始值p(0|0)=10I,I为多维的单位矩阵,应用MATLAB软件根据式(8)~式(10)实现卡尔曼滤波优化和递推预测。

4.2 仿真结果与分析

为进一步验证组合预测模型的有效性,选取图2前300个实测数据作为组合预测模型的输入,采用MATLAB软件编程预测未来12 h的数据,和实测数据以及单一的ARIMA模型的预测值进行误差对比分析。如图5~图7所示,从整体上看,无论是单一的ARIMA模型还是ARIMA-KF组合模型,预测结果都是呈现线性下降趋势,符合真实值的变化趋势,但ARIMA-KF组合模型较单一的ARIMA模型明显更接近实测值。图5为ARIMA模型和ARIMA-KF组合模型的多步预测结果表明,组合模型的单步预测结果较单一的ARIMA模型预测结果的准确性高。图6、图7是两种模型对实测数据的单步预测整体图和分时图,从中可看出:组合模型的单步预测基本与是实测数据保持一致,能够较好地反映冷却水淡水出口温度的变化趋势。从图5和图6、图7对比来看,无论是ARIMA-KF组合模型还是单一ARIMA预测模型,单步预测的准确度更高。

图5 多步预测结果对比Fig.5 Multi step predictionresult comparison

图6 单步预测结果整体对比Fig.6 Overallcomparison of single step prediction result

图7 单步预测结果分时对比Fig.7 Time-sharing comparison of single-step prediction results

4.3 模型评价

为进一步分析不同预测方法的预测效果,本文对每种模型算法进行了均方误差(MSE)、平均绝对误差(MAE)、均方根误差(RMSE)计算分析。最终结果如表2所示。

从图7和表2中可以看出,单一的ARIMA模型多步预测误差是最大。ARIMA-KF组合模型的多步预测误差和ARIMA模型的单步预测误差结果差别很小,但均比单一的ARIMA模型预测效果好。ARIMA-KF组合模型单步预测误差最低,预测效果最好。

5 结论

介绍了ARIMA模型单步预测和多步预测方法,分析了现有船舶设备状态参数预测模型的不足之处,利用卡尔曼滤波算法强大迭代能力,对ARIMA模型的参数进行寻优,弥补了单一算法的不足的同时降低了建模难度。该算法对监测信号样本少、呈线性的非平稳船舶系统及设备状态参数进行预测研究,将外界的复杂影响因素归为单一的时间因素来考虑。通过对实船海水冷却系统设备的淡水出口温度进行单步和多步预测,验证了模型有效性。将组合模型与单一的ARIMA模型的预测值进行对比,结果表明,组合模型的预测精度更高,预测效果更为理想。为发展船舶系统设备的智能维修决策提供了理论支持。

猜你喜欢
卡尔曼滤波矩阵船舶
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
《船舶》2022 年度征订启事
脉冲星方位误差估计的两步卡尔曼滤波算法
船舶自动识别系统对船舶救助的影响
BOG压缩机在小型LNG船舶上的应用
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
多项式理论在矩阵求逆中的应用
船舶压载水管理系统
矩阵