趙景波, 薛秉鑫
(青島理工大學(xué)信息與控制工程學(xué)院,山東青島 266520)
溶氧是水產(chǎn)養(yǎng)殖中的一項(xiàng)重要參考指標(biāo),對(duì)水產(chǎn)養(yǎng)殖的產(chǎn)量有重要影響。池塘溶氧受溫度、光照、氨氮和浮游生物等多種因素影響,各影響因素之間存在復(fù)雜的相互關(guān)系,傳統(tǒng)的經(jīng)驗(yàn)估算無法準(zhǔn)確判斷溶氧量,錯(cuò)誤判斷會(huì)影響水產(chǎn)養(yǎng)殖的產(chǎn)量,造成經(jīng)濟(jì)損失。掌握水中溶氧變化情況、實(shí)現(xiàn)溶氧量的準(zhǔn)確預(yù)測(cè),對(duì)現(xiàn)代水產(chǎn)養(yǎng)殖具有十分重要的經(jīng)濟(jì)價(jià)值和現(xiàn)實(shí)意義。
目前,國(guó)內(nèi)外學(xué)者提出一些對(duì)溶氧進(jìn)行預(yù)測(cè)研究的方法。張壘等[1]建立基于小波神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型對(duì)天然水體溶氧進(jìn)行預(yù)測(cè)研究;馬從國(guó)等[2]研制了一種基于無線傳感網(wǎng)的水產(chǎn)養(yǎng)殖池塘溶氧智能監(jiān)控系統(tǒng),實(shí)現(xiàn)對(duì)池塘溶氧的分布測(cè)量、智能控制和集中管理;Liu等[3]提出基于改進(jìn)粒子群優(yōu)化的最小二乘支持向量回歸法,預(yù)測(cè)河蟹養(yǎng)殖中溶氧含量,并將預(yù)測(cè)結(jié)果與BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果進(jìn)行對(duì)比;Emamgholizadeh等[4]建立人工神經(jīng)網(wǎng)絡(luò)和ANFIS模型對(duì)溶氧進(jìn)行計(jì)算并得到了較好的試驗(yàn)結(jié)果;Heddam[5]提出基于去噪方法的自適應(yīng)模糊神經(jīng)網(wǎng)絡(luò)對(duì)溶氧進(jìn)行預(yù)測(cè),并將其預(yù)測(cè)結(jié)果與多元線性回歸模型進(jìn)行比較分析;宦娟等[6]提出一種基于經(jīng)驗(yàn)?zāi)B(tài)分解和自適應(yīng)擾動(dòng)粒子群優(yōu)化最小二乘支持向量機(jī)的組合預(yù)測(cè)模型,提高了溶氧的預(yù)測(cè)精度和有效性。
本研究采用粒子群算法[7-11]優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)[12-15]對(duì)溶氧進(jìn)行預(yù)測(cè),彌補(bǔ)了常規(guī)BP算法收斂速度慢、易陷入局部極值點(diǎn)的缺陷。采用池塘水體溫度、氨氮、pH和亞硝酸鹽氮作為模糊神經(jīng)網(wǎng)絡(luò)的輸入變量,并采用小波包分析[16-18]對(duì)采集的信號(hào)進(jìn)行消噪處理,神經(jīng)網(wǎng)絡(luò)的輸出變量則是池塘溶氧。
與溶氧量有關(guān)的因素有光照、風(fēng)速、氣壓、水溫、底泥耗氧、浮游動(dòng)植物耗氧、化學(xué)耗氧以及注入新水和增氧機(jī)使用等。由于研究的是露天池塘,注入新水和增氧機(jī)使用都是人工調(diào)控。注入新水時(shí)溶氧增加較少,開增氧機(jī)的時(shí)間也基本固定,這些因素可以隱含在其他因素中,因此在輸入項(xiàng)中省去這2個(gè)因素。由于條件限制,環(huán)境因素?zé)o法準(zhǔn)確測(cè)量,所以選擇在相似的晴朗天氣下對(duì)數(shù)據(jù)進(jìn)行采集,盡量避免由于天氣變化對(duì)溶氧預(yù)測(cè)的干擾。在相關(guān)因素中,底泥和浮游動(dòng)物的耗氧量較小,對(duì)溶氧量的影響很小,浮游植物在夜間呼吸耗氧量大,但無法對(duì)其進(jìn)行檢測(cè),因此這3個(gè)因素也不予考慮。淡水池塘養(yǎng)殖中,化學(xué)耗氧量較高,對(duì)溶氧量影響較大,但其檢測(cè)非常困難,因此本研究選擇pH、氨氮和亞硝酸鹽氮等3個(gè)可測(cè)因素來反映池塘的化學(xué)耗氧量,且這3個(gè)因素均在一定程度上會(huì)對(duì)溶氧量造成影響。
試驗(yàn)選在青島某水產(chǎn)養(yǎng)殖場(chǎng),養(yǎng)殖場(chǎng)占地面積145 hm2,建有池塘循環(huán)水系統(tǒng),配備增氧機(jī)、溶氧檢測(cè)儀和水產(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組。對(duì)數(shù)據(jù)進(jìn)行篩選,保留數(shù)據(jù)375組。取360組數(shù)據(jù)對(duì)模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,剩余的15組數(shù)據(jù)則用于對(duì)神經(jīng)網(wǎng)絡(luò)的性能進(jìn)行檢驗(yàn)。
小波包分析為信號(hào)處理提供了一種更加精細(xì)的分析方法,通過將頻帶進(jìn)行多層次劃分,可對(duì)小波分析沒有細(xì)分的高頻部分作進(jìn)一步分解。小波包分析可根據(jù)分析信號(hào)特征,自適應(yīng)地選擇相應(yīng)的頻帶,使之與信號(hào)頻譜相匹配,從而提高時(shí)頻分辨率。采用分解圖的形式表明小波分解和小波包分解的區(qū)別,以3層分解為例,見圖1、圖2。
圖中,S表示信號(hào),A表示信號(hào)分解低頻部分,D表示信號(hào)分解高頻部分,序號(hào)1、2、3表示分解的層數(shù)。如A1表示信號(hào)第一層分解的低頻部分,D1表示信號(hào)第一層分解的高頻部分,接下來就是對(duì)已經(jīng)分解的信號(hào)作進(jìn)一步分解。
圖1 信號(hào)的3層小波分解
圖2 信號(hào)的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ù)測(cè)模型為多輸入單輸出的4層網(wǎng)絡(luò)模型(圖3)。這4層分別是輸入層、模糊化層、模糊規(guī)則層和輸出層。
圖3 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
第一層為輸入層,輸入層神經(jīng)元個(gè)數(shù)與輸入變量個(gè)數(shù)相同,輸入向量為x=(x1,x2,…,xn)T。y為輸出層變量,由于輸出變量只有一個(gè),所以輸出層只有一個(gè)神經(jīng)元。系統(tǒng)的第j條模糊規(guī)則[12]可表示為:
Rj:如果x1=X1j,x2=X2j,…,xn=Xnj,那么y=Yj
(3)
式中:Rj—第j條模糊規(guī)則;xi—輸入變量;Xij—輸入變量所對(duì)應(yīng)的模糊子集,i=1,2,…,n,j取決于每個(gè)輸入變量的模糊子集數(shù);y—輸出變量;Yj—第j條規(guī)則的結(jié)果,j取決于模糊規(guī)則層神經(jīng)元個(gè)數(shù)。
第二層為模糊化層,計(jì)算每個(gè)輸入變量的隸屬度。采用正態(tài)分布函數(shù)作為隸屬度函數(shù),第i個(gè)輸入變量對(duì)模糊子集Xij的隸屬度計(jì)算公式為:
(4)
式中:μXij(xi)—輸入變量xi對(duì)模糊子集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)元個(gè)數(shù);μXij(xi)—輸入變量xi對(duì)模糊子集Xij的隸屬度,i=1,2,…,n,j取決于每個(gè)輸入變量的模糊子集數(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è)計(jì)使用加權(quán)平均法[12]進(jìn)行去模糊化處理,得到輸出為:
(6)
式中:y—輸出變量;wj—模糊規(guī)則層與輸出層之間的連接權(quán)值,j=1,2,…,m;μj—模糊化層和模糊規(guī)則層之間的連接權(quán)值。
對(duì)模糊神經(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)化性能的粒子群算法對(duì)模糊神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行優(yōu)化。
3.2.1 粒子群算法的數(shù)學(xué)描述
如果在某個(gè)D維空間內(nèi)尋找目標(biāo),種群由m個(gè)粒子構(gòu)成。種群中每個(gè)粒子有它自己的位置,將第i個(gè)粒子的位置采用xi=(xi1,xi2,…,xiD),i=1,2,…,m表示,其速度也是一個(gè)D維向量,記為vi=(vi1,vi2,…,viD)。每個(gè)粒子在經(jīng)過一個(gè)新的位置時(shí),就與之前所經(jīng)過的所有位置進(jìn)行比較,當(dāng)?shù)趇個(gè)粒子飛行到某一位置后,設(shè)它所經(jīng)過的最優(yōu)位置為pi=(pi1,pi2,…,piD)。而將粒子群中每個(gè)粒子所經(jīng)過的最優(yōu)位置進(jìn)行比較,得到粒子群所經(jīng)過的最優(yōu)位置,并將它表示為pg=(pg1,pg2,…,pgD)。每個(gè)粒子按照下列公式[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—時(shí)刻;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時(shí)刻的位置,xid(t)∈[-xmax,xmax];vid(t)—粒子i在t時(shí)刻的速度,vid(t)∈[-vmax,vmax],xmax和vmax是非負(fù)數(shù)。
3.2.2 粒子群算法流程圖
粒子群算法流程圖如圖4所示。隨機(jī)初始化粒子的位置和速度,計(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ī)初始化每個(gè)粒子的位置和速度,確定種群數(shù)目、慣性權(quán)重和加速因子等參數(shù);2)計(jì)算每個(gè)初始粒子的適應(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ù)測(cè)模型,利用多相關(guān)因子預(yù)測(cè)溶氧量。模型輸入變量為溫度、亞硝酸鹽、氨氮和pH,輸出變量為池塘溶氧。預(yù)測(cè)流程如圖5所示,建模步驟如下:
(1)小波包變換消噪處理。遠(yuǎn)程無線監(jiān)控系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行采集,對(duì)采集的原始信號(hào)進(jìn)行小波包變換,設(shè)置分解尺度為3,選擇逼近信號(hào)并將數(shù)據(jù)分為訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)。
(2)模糊神經(jīng)網(wǎng)絡(luò)建立與訓(xùn)練。通過聚類算法[19-22]確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),利用Kohonen網(wǎng)絡(luò)對(duì)模糊隸屬度個(gè)數(shù)進(jìn)行選取,確定每個(gè)輸入變量分為3個(gè)模糊子集,因此模糊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為4-12-81-1。隨后利用訓(xùn)練數(shù)據(jù)對(duì)模糊神經(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ù)測(cè)。利用測(cè)試數(shù)據(jù)對(duì)模型進(jìn)行驗(yàn)證,得到最終預(yù)測(cè)結(jié)果。
圖5 預(yù)測(cè)流程圖
4.2.1 小波包變換數(shù)據(jù)處理
遠(yuǎn)程無線監(jiān)控系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行采集,以溶氧為例,獲得溶氧原始信號(hào)(圖6)。對(duì)該原始信號(hào)進(jìn)行小波包分解,選擇分解尺度為3。對(duì)其尺度系數(shù)和小波系數(shù)進(jìn)行重構(gòu),得到逼近信號(hào)和細(xì)節(jié)信號(hào),并利用逼近信號(hào)建立數(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ò)性能對(duì)比如圖7所示,實(shí)測(cè)樣本數(shù)據(jù)和模型預(yù)測(cè)值見表1。
表1所示測(cè)試結(jié)果表明,進(jìn)行測(cè)試的15組數(shù)據(jù)中,F(xiàn)NN-PSO對(duì)溶氧的預(yù)測(cè)值和實(shí)測(cè)值之差在|Δ|<0.15 mg/L之內(nèi)的為14組,占測(cè)試總樣本數(shù)的93%,大于0.15 mg/L的僅有1組(第6組),誤差為0.17 mg/L。
選用均方根誤差(RMSE),平均相對(duì)誤差均值(MAPE)和平均絕對(duì)誤差(MAE)[6]對(duì)表1數(shù)據(jù)進(jìn)行誤差分析,得到誤差指標(biāo)(表2)。
圖6 溶氧原始信號(hào)和小波包分解后的溶氧逼近信號(hào)、溶氧細(xì)節(jié)信號(hào)
(10)
(11)
(12)
由表2可知,試驗(yàn)數(shù)據(jù)經(jīng)小波包變換處理后,預(yù)測(cè)溶氧值時(shí),F(xiàn)NN-PSO與FNN相比,誤差指標(biāo)均方根誤差(RMSE)、平均相對(duì)誤差均值(MAPE)、平均絕對(duì)誤差(MAE)分別降低了22.75、3.97、22.86個(gè)百分點(diǎn)。各項(xiàng)誤差指標(biāo)證明了粒子群算法的有效性,預(yù)測(cè)精度要高于常規(guī)的BP算法。根據(jù)圖7可以直觀地看出,基于小波包變換和粒子群算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的組合預(yù)測(cè)模型對(duì)實(shí)測(cè)樣本具有較好的擬合能力。
通過對(duì)比研究,進(jìn)一步證明了小波包變換的有效性。選擇FNN-PSO為預(yù)測(cè)模型,將試驗(yàn)數(shù)據(jù)分為兩類:一類是經(jīng)小波包變換進(jìn)行消噪處理的數(shù)據(jù),另一類則是未經(jīng)處理的原始數(shù)據(jù)。對(duì)預(yù)測(cè)結(jié)果進(jìn)行誤差分析,得到誤差指標(biāo)(表3)。
圖7 實(shí)測(cè)值、FNN和FNN-PSO性能對(duì)比圖
序號(hào)溫度/℃亞硝酸鹽/(mg/L)氨氮/(mg/L)pH溶氧/(mg/L)FNN預(yù)測(cè)值/(mg/L)FNN-PSO預(yù)測(cè)值/(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ù)測(cè)結(jié)果誤差指標(biāo)(1)
表3 預(yù)測(cè)結(jié)果誤差指標(biāo)(2)
由表3可知,在相同的預(yù)測(cè)模型條件下,預(yù)測(cè)溶氧值時(shí),選用小波包變換處理的數(shù)據(jù)與原始數(shù)據(jù)相比,誤差指標(biāo)RMSE、MAPE、MAE分別降低了16.82、3.36、16.65個(gè)百分點(diǎn)。綜合以上仿真結(jié)果,本研究提出的基于小波包變換和粒子群算法優(yōu)化的模糊神經(jīng)網(wǎng)絡(luò)模型可對(duì)溶氧值進(jìn)行有效預(yù)測(cè),并具有較高的預(yù)測(cè)精度,在水產(chǎn)養(yǎng)殖溶氧調(diào)控方面具有一定的實(shí)際參考價(jià)值。
基于小波包變換和粒子群算法優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)的組合預(yù)測(cè)模型具有較高的預(yù)測(cè)精度,可保證93%的預(yù)測(cè)值和實(shí)測(cè)值的誤差小于0.15 mg/L。通過對(duì)養(yǎng)殖池塘溶氧的有效預(yù)測(cè),可及時(shí)掌握溶氧變化情況,對(duì)水產(chǎn)養(yǎng)殖的調(diào)控與管理具有一定的實(shí)際參考價(jià)值。
□