基于EMD-LSTM 的水产养殖水温预测模型*

2023-12-09 08:51张锦荣王康谊
计算机与数字工程 2023年9期
关键词:水温分量神经网络

张锦荣 王康谊

(中北大学信息与通信工程学院 太原 030051)

1 引言

近年来,我国的水产养殖业逐渐由内陆转向远海,越来越多的人采取深水网箱养殖的方式进行鱼类养殖。但由于网箱内鱼类养殖密度较大,养殖区域水温的突变会造成PH、溶解氧等水质因子的变化,导致鱼类的生存环境发生变化,影响鱼类生长速度和生长大小。而水温的实时预测可以帮助养殖者提前采取相关措施,及时调整水质,保证适宜的鱼类养殖环境。

为实现水温的准确预测,目前已有学者做出相关研究。朱森林等[1]建立了水温-气温的高斯过程回归模型,实现了对天然河流水温的预测,但该模型在干扰因素较大的河流站点预测效果不佳。徐大明等[2]采用粒子群算法优化BP 神经网络建立了基于PSO-BPNN 的水温和PH 预测模型,在模型预测精度和容错率方面取得了不错的效果。陈英义等[3]提出了基于GA-BP 神经网络的养殖水温预测模型,通过GA 优化BP 网络提高了模型的预测精度,实现了池塘养殖水温的短期预测。施珮等[4]提出了基于EMD-IGA-SELM 的水温预测模型,在小样本水温预测方面取得了较好的预测效果。以上算法在水温预测方面均取得了较好的预测效果,但在长时间序列预测过程中以上模型难以取得好的预测精度。LSTM长短期记忆网络非常适用于时间序列的预测,且能够实现数据的长期记忆功能。刘晶晶等[5]采用K-Similarity 降噪的LSTM 水质预测模型实现了地表水质多因子预测,且预测精度优于传统BP 神经网络。孙铭等[6]采用基于小波分解的LSTM 水质预测模型实现对PH、溶解氧等水质指标的预测,且模型取得了较好的预测精度。基于前人的研究基础,本文提出基于EMD-LSTM 的水产养殖水温预测模型。通过EMD 算法将原始水温序列分解为不同频次的分量,针对各分量建立LSTM 模型进行预测,然后将预测结果叠加求和得到最终的水温预测结果。

2 预测方法及原理

2.1 经验模态分解方法(EMD)

经验模态分解(Empirical Mode Decomposition,EMD)是一种时频域信号的处理方法,该方法具有自适应的特性,能够根据输入数据自身的时间尺度特征进行信号分解,在分析非线性非平稳的信号序列方面具有明显的优势[7~8]。EMD将输入信号分解成若干个本征模函数(Intrinsic Mode Function,IMF)和一个余量R,其中各IMF 分量之间相互独立,反映了原始信号不同时间尺度的局部特征信息。

分解后的IMF分量应满足如下条件:

1)在IMF数据段内,极值点个数和零点个数必须相等或相差最多不超过一个。

2)在IMF任意时刻,局部极大值构成的包络线和局部极小值构成的包络线平均值为0,上下包络线相对于时间轴对称。

2.2 长短期记忆神经网络(LSTM)

长短期记忆神经网络(long short-term memory,LSTM)是由传统RNN 神经网络改进而来的一种特殊的循环神经网络[9]。传统的RNN 神经网络在实际使用过程中往往会出现梯度消失和梯度爆炸的问题,在长时间序列预测方面处理效果较差,LSTM通过引入门机制来控制各时刻特征的流通和损失,让信息有选择地影响训练过程中各时刻的状态,从而有效解决了RNN 在长时间序列预测过程中存在的问题[10]。

LSTM 模型单元结构如图1 所示,其长期记忆功能取决于单元结构中的输入门、输出门和遗忘门。遗忘门决定上个时间的单元状态Ct-1保留多少至当前时刻Ct:

图1 LSTM单元结构

式中,ft表示记忆单元中信息保留的程度,数值越大则表征保留信息越多。

输入门决定当前输入Xt有多少保存到单元状态Ct中:

式中,C~t为单元状态更新值,it为输入门控制C~t的哪些特征用于更新Ct,Ct则表示更新后的单元状态。

输出门控制Ct传输到下一时刻的信号量ht:

式中,W为权重系数,b为偏执系数,σ为“sigmoid”激活函数。

3 EMD-LSTM水温预测模型

3.1 EMD-LSTM网络模型构建

水温数据本身是一组具有非线性、非平稳性的时间序列[11~13],对于这类复杂的时间序列,若直接用LSTM 进行预测难以挖掘输入序列的特征,预测效果较差。而EMD 算法能够将原始数据分解为不同频段的分量,降低数据的复杂度,再分别对各分量进行LSTM 预测,最后将各分量预测结果叠加得到最终预测结果,从而提高预测精度。本文将EMD 算法和LSTM 预测算法相结合,提出基于EMD-LSTM 的水温预测模型,模型算法流程如图2所示,算法步骤如下:

图2 EMD-LSTM水温预测流程图

1)对采集到的5 项水质指标数据进行数据预处理和相关性分析,降低数据噪声并确定模型的输入参数。

2)时序数据分解采用EMD 方法对原始水温序列进行多尺度分解,降低原始序列的复杂度,具体实现过程如下:

(1)输入:水温时间序列x(t)。

(2)获取原始序列x(t)的极值点,根据三次样条插值法构建x(t)的上、下包络线。

(3)求出上下包络线均值m(t)并与输入序列x(t)作差求得h(t),即h(t)=x(t)-m(t)。

(4)判断h(t)是否满足1.1 节所述的IMF 分量条件,若满足则该h(t)是一个IMF 分量,否则用h(t)替换x(t)返回上述步骤(2)执行,直到分解完毕。

(5)输出:n个IMF分量和1个余量R。

3)构建训练集和测试集。在IMF 分量和余量R 中取90%作为模型输入训练集,剩余10%作为测试集。

4)对各IMF分量和余量R进行LSTM 预测得到多个预测值,最后根据式(6)进行叠加求和,取得最终的水温预测值W(t)。

式中,IMFPn和RP 为IMF 和R的预测结果,W(t)为求和所得的最终水温预测结果。

3.2 实验数据源

本文所用实验数据由海南省某水产养殖基地的物联网系统采集而来,采集时间为每5min 采集一次,采集水质指标包括:水温、盐度、PH、溶解氧和空气温度,共计数据23203组,数据特征如表1所示,采集到的各项指标均无缺失值。

表1 样本数据特征

3.3 数据预处理

1)数据归一化。由于本次采集的数据样本中各指标具有不同的量纲和量级,为消除各指标之间不同量纲造成的影响[14],本文使用最大值最小值归一化方法进行数据预处理,处理后的数据均分布于[0,1]之间,公式如下:

式中xmax和xmin为同一指标数据的最大值和最小值,x为原始数值,x′为完成归一化后的数值。

2)数据相关性分析。由于在实际水体环境中,水温的变化会受到多种因素的影响,因此对监测指标中的水温、盐度、PH、溶解氧和空气温度进行相关性分析。选择Pearson 相关系数检验法完成水温与各项监测指标的相关性分析[15],得出水温与盐度、PH、溶解氧和空气温度的相关系数为-0.36、0.20、-0.39、0.38。可以看出水温与其他四项指标数据均具有一定的相关性,因此选择以上指标构建水温预测模型。

3.4 模型参数设置

在EMD-LSTM 水温预测模型中,针对LSTM 神经网络设置三种种不同的结构进行比对,第一种,仅设30 个LSTM 单元;第二种,仅设50 个LSTM 单元,第三种,在第一层50 个LSTM 单元后,再设50个LSTM 单元。对上述网络结构,统一设时间步长time_step 为10,设不同的epochs(10、50、100)、batch_size(1、8、16、32、64)进行测试对比。

经过实验,最终确定:IMF高频分量LSTM 模型隐层单元数为30,IMF 低频分量隐层单元数为50,时间步长time_step 为10,批次大小batch_size 为16,迭代次数epochs为100时,模型测试效果最好。

4 实验结果与分析

4.1 实验准备

实验平台和环境:计算机处理器为2.3GHz Intel Core i5-6200U,内存为8GB;程序开发环境为PyCharm 2017.1,基于Keras 深度学习库、Python 3.7.0 完成预测模型的搭建。实验数据:取总数据的90%为训练集、10%为测试集,确定水温、盐度、PH、溶解氧和空气温度为模型输入变量,水温为最终输出量。

4.2 结果分析

4.2.1 EMD水温序列分解结果

根据3.1 节的步骤,基于EMD 进行水温序列多尺度分解,最终得到10 个IMF 分量和1 个余项,结果如图3 所示。各IMF 分量分别代表原始序列中的各频率分量,按照从高频到低频的顺序依次排列,从1~10 为各IMF 分量进行编号。其中imf1、imf2、imf3 为原序列分解后的高频分量,这些分量的序列波形较为复杂,反映了原始数据中的随机噪声;imf4-imf10 为原序列分解后的中低频分量,这些分量的序列波形变化较为规律,反映了原始序列的周期性;trend 是分解后的余项,余项主要反映了原始水温序列的总体变化趋势和规律。

图3 水温序列EMD分解结果

4.2.2 EMD-LSTM预测结果分析

完成EMD 分解后,分别对各IMF 分量和余项构建LSTM 预测模型,最终获得EMD-LSTM 的养殖水温预测结果。为了验证EMD-LSTM 预测模型的可靠性,本文分别设置BP、LSTM、EMD-BP 三种预测模型进行实验对比,其中LSTM 预测模型网络设置:隐层单元数为50,time_step=10,batch_size=16,epochs=100;EMD-BP 和BP 预测模型中BP 神经网络参数设置:网络结构为5-5-1,time_step=10,batch_size=16,epochs=200,激活函数为Sigmoid,最终各模型预测值与实际值对比如图4所示。

图4 模型对比结果图

图4 可以看出,BP、LSTM、EMD-BP 和EMD-LSTM 四种模型均能很好地实现水温变化趋势的预测,但在预测精度上各模型存在着较大的差异。LSTM 模型和BP模型相比较,能够更好地预测真实数据的走势,且预测精度高于BP 模型;BP 模型和EMD-BP模型相比较,大部分预测值与真实值接近,但数据走势的预测不及EMD-BP 模型,且在长期预测方面EMD-BP 明显优于BP 模型;EMD-LSTM 模型与LSTM 相比较,对于数据走势的预测更准确,预测值与真实值的偏差也更小,且与BP和EMD-BP模型相比较,整体上预测效果更好。

为了综合评价四种模型的预测性能,本文选用均方根误差RMSE、平均绝对百分比误差MAPE 和平均绝对误差MAE 这三项指标进行测试比较,各模型指标结果如表2所示。

表2 四种模型的预测性能评价指标

由表2 结果可知,本文提出的基于EMD-LSTM的水温预测模型在预测结果和性能方面与其他三种模型相比有很大的提升。基于同样的输入数据,EMD-LSTM 模型与传统BP 模型相比较,评价指标RMSE、MAPE、MAE 分别降低了82.07%、79.45%、79.93%;EMD-LSTM 模型与EMD-BP 模型相比较,评价指标RMSE、MAPE、MAE 分别降低了68.79%、86.10%、86%;EMD-LSTM 模型与传统LSTM 模型相比较,评价指标RMSE、MAPE、MAE 分别降低了29.76%、48.07%、47.64%。可见,EMD 算法将水温时序数据分解能够深入挖掘数据特征、降低不同尺度特征间的相互干扰。LSTM模型能够很好地利用历史水温时间序列的数据特征,在长时间序列的预测中能够取得很好的预测效果。基于EMD-LSTM的组合水温预测模型进一步提升了水温的预测精度。

5 结语

本文提出了基于EMD-LSTM 的养殖水温预测模型,首先采用最大值最小值归一化方法进行数据预处理来减小数据波动,通过Pearson 相关系数检验法选择模型输入参数,然后将EMD 算法与LSTM预测算法相结合,利用EMD 算法分解原始水温序列,捕捉水温数据特征,采用LSTM 预测算法进行水温预测,解决数据长期依赖的问题。实验结果表明,本文提出的EMD-LSTM 养殖水温预测模型能够更好地预测水温时间序列的走势、预测数据与实测数据更加吻合,模型预测性能相比于BP、LSTM、EMD-BP 三种模型误差更小、精度更高,为水质监管和调控提供参考依据。

猜你喜欢
水温分量神经网络
帽子的分量
神经网络抑制无线通信干扰探究
基于PLC的水温控制系统设计
基于DS18B20水温控制系统设计
论《哈姆雷特》中良心的分量
分量
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
大联大:最先感知“水温”变化