趙景波, 薛秉鑫
(青島理工大學(xué)信息與控制工程學(xué)院,山東青島 266520)
溶氧是水產(chǎn)養(yǎng)殖中的一項(xiàng)重要參考指標(biāo),對水產(chǎn)養(yǎng)殖的產(chǎn)量有重要影響。池塘溶氧受溫度、光照、氨氮和浮游生物等多種因素影響,各影響因素之間存在復(fù)雜的相互關(guān)系,傳統(tǒng)的經(jīng)驗(yàn)估算無法準(zhǔn)確判斷溶氧量,錯誤判斷會影響水產(chǎn)養(yǎng)殖的產(chǎn)量,造成經(jīng)濟(jì)損失。掌握水中溶氧變化情況、實(shí)現(xiàn)溶氧量的準(zhǔn)確預(yù)測,對現(xiàn)代水產(chǎn)養(yǎng)殖具有十分重要的經(jīng)濟(jì)價值和現(xiàn)實(shí)意義。
目前,國內(nèi)外學(xué)者提出一些對溶氧進(jìn)行預(yù)測研究的方法。張壘等[1]建立基于小波神經(jīng)網(wǎng)絡(luò)的預(yù)測模型對天然水體溶氧進(jìn)行預(yù)測研究;馬從國等[2]研制了一種基于無線傳感網(wǎng)的水產(chǎn)養(yǎng)殖池塘溶氧智能監(jiān)控系統(tǒng),實(shí)現(xiàn)對池塘溶氧的分布測量、智能控制和集中管理;Liu等[3]提出基于改進(jìn)粒子群優(yōu)化的最小二乘支持向量回歸法,預(yù)測河蟹養(yǎng)殖中溶氧含量,并將預(yù)測結(jié)果與BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果進(jìn)行對比;Emamgholizadeh等[4]建立人工神經(jīng)網(wǎng)絡(luò)和ANFIS模型對溶氧進(jìn)行計算并得到了較好的試驗(yàn)結(jié)果;Heddam[5]提出基于去噪方法的自適應(yīng)模糊神經(jīng)網(wǎng)絡(luò)對溶氧進(jìn)行預(yù)測,并將其預(yù)測結(jié)果與多元線性回歸模型進(jìn)行比較分析;宦娟等[6]提出一種基于經(jīng)驗(yàn)?zāi)B(tài)分解和自適應(yīng)擾動粒子群優(yōu)化最小二乘支持向量機(jī)的組合預(yù)測模型,提高了溶氧的預(yù)測精度和有效性。
本研究采用粒子群算法[7-11]優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)[12-15]對溶氧進(jìn)行預(yù)測,彌補(bǔ)了常規(guī)BP算法收斂速度慢、易陷入局部極值點(diǎn)的缺陷。采用池塘水體溫度、氨氮、pH和亞硝酸鹽氮作為模糊神經(jīng)網(wǎng)絡(luò)的輸入變量,并采用小波包分析[16-18]對采集的信號進(jìn)行消噪處理,神經(jīng)網(wǎng)絡(luò)的輸出變量則是池塘溶氧。
與溶氧量有關(guān)的因素有光照、風(fēng)速、氣壓、水溫、底泥耗氧、浮游動植物耗氧、化學(xué)耗氧以及注入新水和增氧機(jī)使用等。由于研究的是露天池塘,注入新水和增氧機(jī)使用都是人工調(diào)控。注入新水時溶氧增加較少,開增氧機(jī)的時間也基本固定,這些因素可以隱含在其他因素中,因此在輸入項(xiàng)中省去這2個因素。由于條件限制,環(huán)境因素?zé)o法準(zhǔn)確測量,所以選擇在相似的晴朗天氣下對數(shù)據(jù)進(jìn)行采集,盡量避免由于天氣變化對溶氧預(yù)測的干擾。在相關(guān)因素中,底泥和浮游動物的耗氧量較小,對溶氧量的影響很小,浮游植物在夜間呼吸耗氧量大,但無法對其進(jìn)行檢測,因此這3個因素也不予考慮。淡水池塘養(yǎng)殖中,化學(xué)耗氧量較高,對溶氧量影響較大,但其檢測非常困難,因此本研究選擇pH、氨氮和亞硝酸鹽氮等3個可測因素來反映池塘的化學(xué)耗氧量,且這3個因素均在一定程度上會對溶氧量造成影響。
試驗(yàn)選在青島某水產(chǎn)養(yǎng)殖場,養(yǎng)殖場占地面積145 hm2,建有池塘循環(huán)水系統(tǒng),配備增氧機(jī)、溶氧檢測儀和水產(chǎn)養(yǎng)殖遠(yuǎn)程無線監(jiān)控系統(tǒng)等漁業(yè)設(shè)備。研究數(shù)據(jù)來源于遠(yuǎn)程無線監(jiān)控系統(tǒng),該系統(tǒng)每2 h在線采集一次數(shù)據(jù),選取2017年夏季相似的晴朗天氣共33 d,獲得數(shù)據(jù)396組。對數(shù)據(jù)進(jìn)行篩選,保留數(shù)據(jù)375組。取360組數(shù)據(jù)對模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,剩余的15組數(shù)據(jù)則用于對神經(jīng)網(wǎng)絡(luò)的性能進(jìn)行檢驗(yàn)。
小波包分析為信號處理提供了一種更加精細(xì)的分析方法,通過將頻帶進(jìn)行多層次劃分,可對小波分析沒有細(xì)分的高頻部分作進(jìn)一步分解。小波包分析可根據(jù)分析信號特征,自適應(yīng)地選擇相應(yīng)的頻帶,使之與信號頻譜相匹配,從而提高時頻分辨率。采用分解圖的形式表明小波分解和小波包分解的區(qū)別,以3層分解為例,見圖1、圖2。
圖中,S表示信號,A表示信號分解低頻部分,D表示信號分解高頻部分,序號1、2、3表示分解的層數(shù)。如A1表示信號第一層分解的低頻部分,D1表示信號第一層分解的高頻部分,接下來就是對已經(jīng)分解的信號作進(jìn)一步分解。

圖1 信號的3層小波分解

圖2 信號的3層小波包分解

(1)


(2)

模糊神經(jīng)網(wǎng)絡(luò)是模糊集理論和神經(jīng)網(wǎng)絡(luò)相結(jié)合的產(chǎn)物,既有神經(jīng)網(wǎng)絡(luò)的大規(guī)模并行處理能力、自學(xué)習(xí)能力和自適應(yīng)能力,又可以處理模糊信息,完成模糊推理功能,性能優(yōu)越。該預(yù)測模型為多輸入單輸出的4層網(wǎng)絡(luò)模型(圖3)。這4層分別是輸入層、模糊化層、模糊規(guī)則層和輸出層。

圖3 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
第一層為輸入層,輸入層神經(jīng)元個數(shù)與輸入變量個數(shù)相同,輸入向量為x=(x1,x2,…,xn)T。y為輸出層變量,由于輸出變量只有一個,所以輸出層只有一個神經(jīng)元。系統(tǒng)的第j條模糊規(guī)則[12]可表示為:
Rj:如果x1=X1j,x2=X2j,…,xn=Xnj,那么y=Yj
(3)
式中:Rj—第j條模糊規(guī)則;xi—輸入變量;Xij—輸入變量所對應(yīng)的模糊子集,i=1,2,…,n,j取決于每個輸入變量的模糊子集數(shù);y—輸出變量;Yj—第j條規(guī)則的結(jié)果,j取決于模糊規(guī)則層神經(jīng)元個數(shù)。
第二層為模糊化層,計算每個輸入變量的隸屬度。采用正態(tài)分布函數(shù)作為隸屬度函數(shù),第i個輸入變量對模糊子集Xij的隸屬度計算公式為:
(4)
式中:μXij(xi)—輸入變量xi對模糊子集Xij的隸屬度;xi—輸入變量;mij—正態(tài)分布函數(shù)的期望;σij—正態(tài)分布函數(shù)的標(biāo)準(zhǔn)差,輸入變量的隸屬度完全由參數(shù)mij和σij決定。
第三層為模糊規(guī)則層,根據(jù)模糊理論定義模糊化層和模糊規(guī)則層的連接權(quán)值為:
μj=μX1j(x1)×μX2j(x2)×…×μXnj(xn)
(5)
式中:μj—模糊化層和模糊規(guī)則層之間的連接權(quán)值,j取決于模糊規(guī)則層神經(jīng)元個數(shù);μXij(xi)—輸入變量xi對模糊子集Xij的隸屬度,i=1,2,…,n,j取決于每個輸入變量的模糊子集數(shù);xi—輸入變量;mij—正態(tài)分布函數(shù)的期望,σij—正態(tài)分布函數(shù)的標(biāo)準(zhǔn)差。
模糊神經(jīng)網(wǎng)絡(luò)第三層到第四層完成模糊決策功能,假設(shè)系統(tǒng)中有m條規(guī)則,本次設(shè)計使用加權(quán)平均法[12]進(jìn)行去模糊化處理,得到輸出為:
(6)
式中:y—輸出變量;wj—模糊規(guī)則層與輸出層之間的連接權(quán)值,j=1,2,…,m;μj—模糊化層和模糊規(guī)則層之間的連接權(quán)值。
對模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,需要確定的參數(shù)為正態(tài)分布函數(shù)的期望mij和標(biāo)準(zhǔn)差σij以及連接權(quán)值wj。神經(jīng)網(wǎng)絡(luò)常用的算法為梯度下降法,該算法收斂速度慢,容易陷入局部最優(yōu)化問題,難以得到全局最優(yōu)解。為解決這一問題,本研究采用具有全局優(yōu)化性能的粒子群算法對模糊神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行優(yōu)化。
3.2.1 粒子群算法的數(shù)學(xué)描述
如果在某個D維空間內(nèi)尋找目標(biāo),種群由m個粒子構(gòu)成。種群中每個粒子有它自己的位置,將第i個粒子的位置采用xi=(xi1,xi2,…,xiD),i=1,2,…,m表示,其速度也是一個D維向量,記為vi=(vi1,vi2,…,viD)。每個粒子在經(jīng)過一個新的位置時,就與之前所經(jīng)過的所有位置進(jìn)行比較,當(dāng)?shù)趇個粒子飛行到某一位置后,設(shè)它所經(jīng)過的最優(yōu)位置為pi=(pi1,pi2,…,piD)。而將粒子群中每個粒子所經(jīng)過的最優(yōu)位置進(jìn)行比較,得到粒子群所經(jīng)過的最優(yōu)位置,并將它表示為pg=(pg1,pg2,…,pgD)。每個粒子按照下列公式[10]進(jìn)行位置變化:
vid(t+1)=wvid(t)+c1r1[pid-xid(t)]+c2r2[pgd-xid(t)]
(7)
xid(t+1)=xid(t)+vid(t+1)
(8)
式中:i—粒子數(shù),i=1,2,…,m;d—空間維數(shù),d=1,2,…,D;t—時刻;w—慣性權(quán)重且為非負(fù)數(shù);c1、c2—加速因子定義為常數(shù);r1、r2—隨機(jī)數(shù)且在0和1之間均勻分布;pid—粒子i最優(yōu)位置;pgd—粒子群最優(yōu)位置;xid(t)—粒子i在t時刻的位置,xid(t)∈[-xmax,xmax];vid(t)—粒子i在t時刻的速度,vid(t)∈[-vmax,vmax],xmax和vmax是非負(fù)數(shù)。
3.2.2 粒子群算法流程圖
粒子群算法流程圖如圖4所示。隨機(jī)初始化粒子的位置和速度,計算粒子適應(yīng)度值,進(jìn)行粒子位置與最優(yōu)位置比較,并判斷是否滿足收斂準(zhǔn)則。若滿足,輸出粒子位置作為粒子群最優(yōu)位置;若不滿足,更新粒子的位置和速度,迭代繼續(xù)。

圖4 粒子群算法流程圖
3.2.3 適應(yīng)度函數(shù)和參數(shù)優(yōu)化步驟
用粒子群算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和隸屬度函數(shù),即設(shè)粒子群的位置向量xi的元素是模糊神經(jīng)網(wǎng)絡(luò)的連接權(quán)值、隸屬度函數(shù)的期望和標(biāo)準(zhǔn)差。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練主要是為了使網(wǎng)絡(luò)中的參數(shù)誤差最小,因此,適應(yīng)度函數(shù)可以定義為:
(9)
式中:fit—適應(yīng)度函數(shù);Ns—訓(xùn)練集樣本數(shù);Yi—期望輸出;yi—實(shí)際輸出。
基于粒子群算法的參數(shù)優(yōu)化步驟:1)初始化,隨機(jī)初始化每個粒子的位置和速度,確定種群數(shù)目、慣性權(quán)重和加速因子等參數(shù);2)計算每個初始粒子的適應(yīng)度值,pi為當(dāng)前粒子最優(yōu)位置,pg為粒子群最優(yōu)位置;3)根據(jù)公式(7)、(8)更新粒子的位置和速度,產(chǎn)生新的粒子;4)返回步驟2),直到滿足收斂準(zhǔn)則,迭代停止,全局極值即為訓(xùn)練問題的最優(yōu)解。
本研究提出基于小波包分析和粒子群算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型,利用多相關(guān)因子預(yù)測溶氧量。模型輸入變量為溫度、亞硝酸鹽、氨氮和pH,輸出變量為池塘溶氧。預(yù)測流程如圖5所示,建模步驟如下:
(1)小波包變換消噪處理。遠(yuǎn)程無線監(jiān)控系統(tǒng)對數(shù)據(jù)進(jìn)行采集,對采集的原始信號進(jìn)行小波包變換,設(shè)置分解尺度為3,選擇逼近信號并將數(shù)據(jù)分為訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)。
(2)模糊神經(jīng)網(wǎng)絡(luò)建立與訓(xùn)練。通過聚類算法[19-22]確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),利用Kohonen網(wǎng)絡(luò)對模糊隸屬度個數(shù)進(jìn)行選取,確定每個輸入變量分為3個模糊子集,因此模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為4-12-81-1。隨后利用訓(xùn)練數(shù)據(jù)對模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
(3)網(wǎng)絡(luò)參數(shù)優(yōu)化。初始化粒子群算法,設(shè)置種群數(shù)目為30,加速因子為c1=c2=2,適應(yīng)度閾值為0.001,最大允許迭代次數(shù)為350。
(4)模型預(yù)測。利用測試數(shù)據(jù)對模型進(jìn)行驗(yàn)證,得到最終預(yù)測結(jié)果。

圖5 預(yù)測流程圖
4.2.1 小波包變換數(shù)據(jù)處理
遠(yuǎn)程無線監(jiān)控系統(tǒng)對數(shù)據(jù)進(jìn)行采集,以溶氧為例,獲得溶氧原始信號(圖6)。對該原始信號進(jìn)行小波包分解,選擇分解尺度為3。對其尺度系數(shù)和小波系數(shù)進(jìn)行重構(gòu),得到逼近信號和細(xì)節(jié)信號,并利用逼近信號建立數(shù)據(jù)集。
4.2.2 仿真結(jié)果與討論
構(gòu)造兩類模糊神經(jīng)網(wǎng)絡(luò),一類采用梯度下降法訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù)(FNN),另一類則采用粒子群算法(FNN-PSO)。試驗(yàn)數(shù)據(jù)經(jīng)小波包變換進(jìn)行消噪處理。兩類模糊神經(jīng)網(wǎng)絡(luò)性能對比如圖7所示,實(shí)測樣本數(shù)據(jù)和模型預(yù)測值見表1。
表1所示測試結(jié)果表明,進(jìn)行測試的15組數(shù)據(jù)中,F(xiàn)NN-PSO對溶氧的預(yù)測值和實(shí)測值之差在|Δ|<0.15 mg/L之內(nèi)的為14組,占測試總樣本數(shù)的93%,大于0.15 mg/L的僅有1組(第6組),誤差為0.17 mg/L。
選用均方根誤差(RMSE),平均相對誤差均值(MAPE)和平均絕對誤差(MAE)[6]對表1數(shù)據(jù)進(jìn)行誤差分析,得到誤差指標(biāo)(表2)。

圖6 溶氧原始信號和小波包分解后的溶氧逼近信號、溶氧細(xì)節(jié)信號
(10)
(11)
(12)

由表2可知,試驗(yàn)數(shù)據(jù)經(jīng)小波包變換處理后,預(yù)測溶氧值時,F(xiàn)NN-PSO與FNN相比,誤差指標(biāo)均方根誤差(RMSE)、平均相對誤差均值(MAPE)、平均絕對誤差(MAE)分別降低了22.75、3.97、22.86個百分點(diǎn)。各項(xiàng)誤差指標(biāo)證明了粒子群算法的有效性,預(yù)測精度要高于常規(guī)的BP算法。根據(jù)圖7可以直觀地看出,基于小波包變換和粒子群算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型對實(shí)測樣本具有較好的擬合能力。
通過對比研究,進(jìn)一步證明了小波包變換的有效性。選擇FNN-PSO為預(yù)測模型,將試驗(yàn)數(shù)據(jù)分為兩類:一類是經(jīng)小波包變換進(jìn)行消噪處理的數(shù)據(jù),另一類則是未經(jīng)處理的原始數(shù)據(jù)。對預(yù)測結(jié)果進(jìn)行誤差分析,得到誤差指標(biāo)(表3)。

圖7 實(shí)測值、FNN和FNN-PSO性能對比圖

序號溫度/℃亞硝酸鹽/(mg/L)氨氮/(mg/L)pH溶氧/(mg/L)FNN預(yù)測值/(mg/L)FNN-PSO預(yù)測值/(mg/L)120.10.0110.0787.26.186.536.30218.70.0350.0667.95.755.395.61318.10.0060.0458.45.165.545.29419.60.0380.0817.56.366.706.50517.50.0080.0616.85.255.625.36619.30.0240.0657.46.306.626.47719.10.0240.0888.05.555.165.45819.70.0080.0707.55.925.545.78918.90.0410.0667.85.806.125.911018.50.0250.1087.16.336.666.441117.80.0180.0586.65.154.785.081218.40.0280.0758.25.655.305.541318.50.0260.0857.75.825.465.701419.90.0360.0817.36.285.976.181519.40.0120.0777.66.016.326.15

表2 預(yù)測結(jié)果誤差指標(biāo)(1)

表3 預(yù)測結(jié)果誤差指標(biāo)(2)
由表3可知,在相同的預(yù)測模型條件下,預(yù)測溶氧值時,選用小波包變換處理的數(shù)據(jù)與原始數(shù)據(jù)相比,誤差指標(biāo)RMSE、MAPE、MAE分別降低了16.82、3.36、16.65個百分點(diǎn)。綜合以上仿真結(jié)果,本研究提出的基于小波包變換和粒子群算法優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)模型可對溶氧值進(jìn)行有效預(yù)測,并具有較高的預(yù)測精度,在水產(chǎn)養(yǎng)殖溶氧調(diào)控方面具有一定的實(shí)際參考價值。
基于小波包變換和粒子群算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的組合預(yù)測模型具有較高的預(yù)測精度,可保證93%的預(yù)測值和實(shí)測值的誤差小于0.15 mg/L。通過對養(yǎng)殖池塘溶氧的有效預(yù)測,可及時掌握溶氧變化情況,對水產(chǎn)養(yǎng)殖的調(diào)控與管理具有一定的實(shí)際參考價值。
□