姚啟,繆新穎, 2*
(1.大連海洋大學(xué) 信息工程學(xué)院,遼寧 大連 116023; 2.遼寧省海洋信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,遼寧 大連116023)
水產(chǎn)養(yǎng)殖是一個包括多參數(shù)的復(fù)雜過程[1]。其中,溶解氧(dissolved oxygen,DO)和氨氮含量是決定水產(chǎn)養(yǎng)殖產(chǎn)量的重要因素[2-3],DO過高或過低都會導(dǎo)致養(yǎng)殖生物死亡[4],氨氮直接反映養(yǎng)殖水質(zhì)的污染程度,過高直接影響?zhàn)B殖生物的生存狀態(tài)。因此,在水產(chǎn)養(yǎng)殖環(huán)境中對二者進(jìn)行預(yù)測,對水產(chǎn)養(yǎng)殖業(yè)具有重要的意義。
DO和氨氮含量的預(yù)測均為非線性問題[5],二者受多種因素影響,且各因素之間存在復(fù)雜的耦合關(guān)系[6],因此,難以利用統(tǒng)計(jì)的方法建立準(zhǔn)確的預(yù)測模型,故而以神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)(support vector machine,SVM)為代表的非線性問題解決工具,被研究者應(yīng)用于DO和氨氮預(yù)測[7-11]。但是,SVM和誤差反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)具有極大的局限性[7-8],易引入冗余數(shù)據(jù),且針對復(fù)雜問題的泛化能力受到一定的制約[12]。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)很多都是通過試湊法來實(shí)現(xiàn)[4,13],導(dǎo)致運(yùn)行費(fèi)時。另外,DO和氨氮影響因素復(fù)雜,且相互之間存在很大的耦合性,很難確定神經(jīng)網(wǎng)絡(luò)的最佳輸入,若將相關(guān)的影響因素全部直接引用,不僅會引入大量冗余數(shù)據(jù),而且會由于多重共線性降低網(wǎng)絡(luò)的訓(xùn)練速度和效率,影響預(yù)測精度[14]。
Levenberg-Marquardt(LM)神經(jīng)網(wǎng)絡(luò)算法利用高斯-牛頓法可以在最優(yōu)值附近產(chǎn)生一個理想的搜索方向,從而保持較快下降速度的特點(diǎn),使網(wǎng)絡(luò)能夠有效收斂,可以大大提高網(wǎng)絡(luò)的收斂速度和泛化能力[5]。遺傳算法(genetic algorithm,GA)是一種模擬自然進(jìn)化、搜索最優(yōu)解的方法,適合用來優(yōu)化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)[5]。主成分分析(principal component analysis,PCA)方法一方面可以通過提取正交的各主成分,有效避免多重共線性,提高參數(shù)估計(jì)的準(zhǔn)確性;另一方面可以對包含較多變量的影響因子數(shù)據(jù)集進(jìn)行降維,使盡可能少的變量包含盡可能多的信息,從而使模型所包含的信息更豐富,建模更有效[15]。
基于以上考慮,本研究中構(gòu)建了一個綜合GA、LM和PCA算法優(yōu)點(diǎn)的GA-LM-PCA水產(chǎn)養(yǎng)殖環(huán)境DO和氨氮含量預(yù)測模型,利用PCA算法確定DO和氨氮含量預(yù)測模型的有效影響因子,利用LM算法訓(xùn)練神經(jīng)網(wǎng)絡(luò),利用GA優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),以期為水產(chǎn)養(yǎng)殖重要環(huán)境因子的預(yù)測提供有效工具。
影響水產(chǎn)養(yǎng)殖環(huán)境DO含量的因素復(fù)雜,主要包括水體溫度、水體含氮量和空氣中氧氣組分的分壓力等[7-8],其中一些因素在一定條件下對某一具體養(yǎng)殖環(huán)境和測量點(diǎn)可以認(rèn)為是不變的[5]。影響水產(chǎn)養(yǎng)殖環(huán)境氨氮含量的因素主要有水溫、pH、DO和電導(dǎo)率等,其中水溫、pH越高,氨氮的毒性就越大,DO也直接關(guān)系到氨氮、亞硝酸氮和硝酸氮之間的轉(zhuǎn)化效果,電導(dǎo)率能體現(xiàn)養(yǎng)殖環(huán)境中離子的量[9]。
本研究中,水產(chǎn)養(yǎng)殖水樣采集自大連獐子島股份有限公司養(yǎng)殖基地。綜合考慮各變量的可測性,選取水溫、鹽度、葉綠素a、電導(dǎo)率、濁度、風(fēng)速、亞硝酸鹽、氨氮和總氮9個變量作為DO的影響因素;初步選取水溫、pH、DO和電導(dǎo)率4個變量作為氨氮的主要影響因素,在考慮多因素分析時,選取水溫、鹽度、葉綠素a、電導(dǎo)率、濁度、風(fēng)速、亞硝酸鹽、DO、pH和總氮10個變量作為氨氮的影響因素。采用浮標(biāo)在線監(jiān)測水溫、鹽度、葉綠素a、電導(dǎo)率、濁度、風(fēng)速,采用多參數(shù)水質(zhì)監(jiān)測儀(YSI600XLM,美國)現(xiàn)場測定亞硝酸鹽、pH、氨氮和DO含量,采用全自動總氮分析儀測定總氮含量(IL500,美國HACH公司)。
從大連獐子島股份有限公司2011—2012年所收集的監(jiān)測數(shù)據(jù)中選取其中的1 200組作為建模數(shù)據(jù),其中,1 100組作為訓(xùn)練樣本,100組作為測試樣本。用PCA確定養(yǎng)殖環(huán)境DO和氨氮有效影響因子的基礎(chǔ)上,采用GA-LM方法進(jìn)行預(yù)測。預(yù)測流程圖如圖1所示。
圖1 基于GA-LM-PCA模型的水產(chǎn)養(yǎng)殖環(huán)境DO和氨氮含量預(yù)測流程圖
1.2.1 基于PCA算法的水產(chǎn)養(yǎng)殖環(huán)境DO和氨氮有效影響因子的確定 考慮到水產(chǎn)養(yǎng)殖環(huán)境DO和氨氮含量影響因素眾多,且相互之間存在著多重共線性,利用主成分分析方法確定DO和氨氮含量的有效影響因子,從而達(dá)到去耦合降維的效果。具體步驟如下:
1)對水產(chǎn)養(yǎng)殖環(huán)境DO和氨氮的影響因素進(jìn)行標(biāo)準(zhǔn)歸一化,以消除不同影響因子數(shù)值的平均值和方差大小對變量比較產(chǎn)生的影響。計(jì)算公式為
其中:xi為每個樣本的第i個影響因素;xi mean為影響因素的平均值;σ(xi)為影響因素的標(biāo)準(zhǔn)差。
2)求樣本協(xié)方差矩陣,即
i=1,2,…n;j=1,2,…,p。
4)對λi按照降序排列,計(jì)算出所有主元的累積貢獻(xiàn)率,并將累積貢獻(xiàn)率大于85%的前m(m
5)計(jì)算前m個主元對應(yīng)的特征向量μi,構(gòu)建其變換矩陣D,即
D=(μ1,μ2,…,μm)T。
(4)
6)求出前m個主成分表達(dá)式,并將其作為GA-LM輸入,主成分Z計(jì)算公式為
Z=DX*。
(5)
1.2.2 基于GA的水產(chǎn)養(yǎng)殖環(huán)境DO和氨氮含量預(yù)測模型結(jié)構(gòu)的確定 本研究中采用典型的3層神經(jīng)網(wǎng)絡(luò),隱層節(jié)點(diǎn)數(shù)、最優(yōu)權(quán)值和閾值等網(wǎng)絡(luò)結(jié)構(gòu)因素均由GA來完成。主要步驟如下:
1)初始化種群并編碼。用染色體表示神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在編碼時具體包括結(jié)構(gòu)基因與權(quán)重基因。結(jié)構(gòu)基因采用二進(jìn)制編碼,表示隱層節(jié)點(diǎn)結(jié)構(gòu)(“1”表示存在隱層節(jié)點(diǎn),“0”表示不存在);連接權(quán)值和閾值用權(quán)重基因wn(x+y)表示,利用實(shí)數(shù)進(jìn)行編碼。當(dāng)有n個隱層節(jié)點(diǎn)、x個輸入、y個輸出時,染色體編碼的結(jié)構(gòu)如圖2所示。
圖2 染色體編碼結(jié)構(gòu)
本研究中種群初始值設(shè)為100,初始隱層節(jié)點(diǎn)設(shè)為30。
2)適應(yīng)度評價,計(jì)算公式為
E=∑(S-V)2,F(xiàn)=1/E。
(6)
其中:V是經(jīng)LM訓(xùn)練神經(jīng)網(wǎng)絡(luò)得到的預(yù)測值;S是所對應(yīng)的實(shí)際測量值;E是誤差平方和(SSE);F是適應(yīng)度函數(shù)。總體向適應(yīng)度函數(shù)F高的方向進(jìn)化, 誤差逐步減小,結(jié)構(gòu)逐步趨于簡單。
3)確定終止進(jìn)化條件。本研究中確定了兩個進(jìn)化終止依據(jù),二者為“或”的邏輯關(guān)系。具體為迭代次數(shù)達(dá)到500,或均方差(MSE)小于0.000 1。
4)遺傳算子。具體包括選擇、交叉和變異算子,本研究中采用不同的策略[5]。選擇算子采用了輪盤賭策略;交叉和變異算子則根據(jù)染色體編碼結(jié)構(gòu)采用了不同的策略,其中結(jié)構(gòu)基因采用單點(diǎn)交叉和基本位變異算子;權(quán)重基因采用算術(shù)交叉和非均勻變異算子。初始交叉率和變異率分別設(shè)置為0.6和0.08,可以自適應(yīng)調(diào)整,調(diào)整公式為
其中:Fmax為種群的最大適應(yīng)度值;Favg為種群的平均適應(yīng)度值;F為要交叉的兩個個體中較大的適應(yīng)度值;F′為要變異個體的適應(yīng)度值;k1、k2、k3、k4為常數(shù)。
1.2.3 基于LM神經(jīng)網(wǎng)絡(luò)的水產(chǎn)養(yǎng)殖環(huán)境DO和氨氮含量預(yù)測算法 LM算法是在BPNN算法基礎(chǔ)上的一種修正算法,能夠克服BP算法容易陷入局部極小、收斂速度慢、泛化能力弱等不足。在修正過程中,權(quán)值的調(diào)整算法公式為
ΔW=-[JT(w)J(w)+αI]-1·JT(w)e(w)。
(8)
其中:J(ω)為Jacobian矩陣;α為大于零的調(diào)整因子,用于控制LM算法的迭代;I為單位矩陣。本研究中α的初始值設(shè)為0.01。
對1 100組DO樣本歸一化后的部分水產(chǎn)養(yǎng)殖環(huán)境數(shù)據(jù)見表1,歸一化后的樣本數(shù)據(jù)變化范圍變小,可以消除不同影響因子數(shù)值的平均值和方差大小對變量比較產(chǎn)生的影響。
表1 歸一化后DO含量的影響因素
對應(yīng)的水產(chǎn)養(yǎng)殖環(huán)境DO樣本的協(xié)方差見表2,DO的9個影響因素之間具有一定的耦合性,需要去耦。利用GA-LM-PCA模型對DO含量進(jìn)行預(yù)測,得到如表3所示的DO降序特征值和貢獻(xiàn)率。
表2 水產(chǎn)養(yǎng)殖環(huán)境DO樣本的協(xié)方差
從表3可見,前5個主元的累計(jì)貢獻(xiàn)率大于85%,且特征值較大,因此,選取主成分?jǐn)?shù)目為5個。
表3 DO的降序特征值和貢獻(xiàn)率
按照式(4)和(5)求出的主成分表達(dá)式為
在此基礎(chǔ)上,得到如圖3、4所示的5-10-1水產(chǎn)養(yǎng)殖環(huán)境DO含量預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)和預(yù)測結(jié)果。
圖3 5-10-1水產(chǎn)養(yǎng)殖環(huán)境DO含量預(yù)測網(wǎng)絡(luò)
將文獻(xiàn)[9]中所采用的水溫、pH、DO和電導(dǎo)率4個變量作為影響因素,依然采用1 200組監(jiān)測數(shù)據(jù)作為樣本,其中1 100組作為訓(xùn)練樣本,100組作為測試樣本,同樣利用GA-LM-PCA模型對氨氮含量進(jìn)行預(yù)測,得到如表4所示的降序特征值和貢獻(xiàn)率。從表4可見,前3個主元的累計(jì)貢獻(xiàn)率大于85%,且特征值較大,因此,選取主成分?jǐn)?shù)為3。在此基礎(chǔ)上,可以得到3-8-1的氨氮含量預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)(圖略)和預(yù)測結(jié)果(圖5)。
表4 氨氮的降序特征值和貢獻(xiàn)率
2.3.1 DO含量預(yù)測比較 為了驗(yàn)證GA-LM-PCA的預(yù)測效果,將GA-LM-PCA 的預(yù)測結(jié)果與直接引用影響因素的GA-LM模型進(jìn)行比較。采用直接引用變量法,將水溫、鹽度、葉綠素a、電導(dǎo)率、濁度、風(fēng)速、亞硝酸鹽、氨氮和總氮9個變量作為DO的影響因子,采用GA-LM模型對DO含量進(jìn)行預(yù)測,結(jié)果如圖6所示。
將圖6與圖4的DO含量預(yù)測結(jié)果進(jìn)行比較,可以看出,GA-LM-PCA模型預(yù)測結(jié)果明顯優(yōu)于未用PCA方法的GA-LM 模型,二者具體性能比較如表5所示。從表5可見,利用GA-LM-PCA預(yù)測DO含量,盡管PCA確定有效影響因子需要花費(fèi)一定的時間,但能夠有效地對影響因素解耦降維,運(yùn)行耗時反而降低,平均絕對誤差與均方根誤差也均小于GA-LM模型法,提高了預(yù)測精度。
圖4 DO含量的GA-LM-PCA模型預(yù)測結(jié)果
表5 GA-LM-PCA與GA-LM模型預(yù)測DO含量的效果比較
圖6 DO含量的GA-LM模型預(yù)測結(jié)果
2.3.2 氨氮含量預(yù)測比較 將水溫、pH、DO和電導(dǎo)率4個變量作為影響因素對氨氮含量進(jìn)行預(yù)測,采用不加PCA的GA-LM模型預(yù)測結(jié)果如圖7所示。
將圖7與圖5的氨氮含量預(yù)測結(jié)果進(jìn)行比較,可以看出,GA-LM-PCA模型預(yù)測結(jié)果稍好于未用PCA方法的GA-LM 模型,二者具體性能比較如表6所示。從表6可見,兩種模型的輸入量個數(shù)相當(dāng),而GA-LM模型輸入量本身就是行業(yè)內(nèi)所認(rèn)為相關(guān)度最高的4個量,所以未用PCA和使用PCA法所確定的GA-LM模型預(yù)測的平均絕對誤差和均方根誤差都非常接近,而且在輸入量非常接近的情況下,未用PCA方法的運(yùn)行反而耗時更短。
表6 GA-LM-PCA與GA-LM模型預(yù)測氨氮含量的效果比較
圖7 氨氮含量的GA-LM模型預(yù)測結(jié)果
對于同期監(jiān)測的1 200組樣本,將氨氮的影響因素從之前的4個增加到10個,具體為水溫、鹽度、葉綠素a、電導(dǎo)率、濁度、風(fēng)速、亞硝酸鹽、DO、pH和總氮,利用同樣的GA-LM-PCA方法對其預(yù)測,得到表7所示的降序特征值和貢獻(xiàn)率。從表7可見,前6個主元的累計(jì)貢獻(xiàn)率大于85%,且特征值較大,因此,選取主成分?jǐn)?shù)目為6。在此基礎(chǔ)上,得到6-18-1的氨氮含量預(yù)測網(wǎng)絡(luò)結(jié)構(gòu)(圖略)和預(yù)測結(jié)果(圖8)。
表7 增加影響因素?cái)?shù)量后氨氮的降序特征值和貢獻(xiàn)率
將圖8與圖5 的氨氮含量預(yù)測結(jié)果進(jìn)行比較,可以看出,含有10個影響因素的GA-LM-PCA模型的預(yù)測結(jié)果明顯好于含有4個影響因素的GA-LM-PCA 模型,二者具體性能比較如表8所示。
圖8 增加影響因素?cái)?shù)量后氨氮含量的GA-LM-PCA模型預(yù)測結(jié)果
從表8可見,將影響因素增加到10個后,影響因素盡可能地被考慮進(jìn)來,此時采用GA-LM-PCA模型的氨氮含量預(yù)測效果明顯提高??梢姡捎肎A-LM-PCA模型不用考慮由于引入大量低相關(guān)度甚至無關(guān)影響因素對預(yù)測效果產(chǎn)生的負(fù)面影響,對于有效影響因子難以確定的場合,適當(dāng)增加影響因素選取范圍,就可以取得較好的預(yù)測效果。
表8 不同影響因素?cái)?shù)量下氨氮含量的GA-LM-PCA預(yù)測模型性能比較
在水產(chǎn)養(yǎng)殖環(huán)境DO與氨氮含量的預(yù)測模型中,二者的預(yù)測受各因素之間存在復(fù)雜的耦合關(guān)系的影響,很難確定神經(jīng)網(wǎng)絡(luò)的最佳輸入,冗余影響因素會降低訓(xùn)練速度和效率,影響預(yù)測精度。本研究中,采用GA-LM-PCA模型對水產(chǎn)養(yǎng)殖環(huán)境中的DO和氨氮含量進(jìn)行預(yù)測,即采用PCA確定影響因素,用LM訓(xùn)練神經(jīng)網(wǎng)絡(luò)。付泰然[16]提出采用SAE-BP神經(jīng)網(wǎng)絡(luò)預(yù)測水體氨氮,得到氨氮含量預(yù)測結(jié)果的均方根誤差為0.140 5,而本研究中GA-LM-PCA模型對氨氮含量預(yù)測結(jié)果的均方根誤差為0.011 1,預(yù)測精度同樣呈倍數(shù)提升。曹首啟等[17]提出在傳統(tǒng)遺傳算法神經(jīng)網(wǎng)絡(luò)優(yōu)化模型的基礎(chǔ)上尋找最優(yōu)誤差輸出及遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,對DO含量預(yù)測結(jié)果的平均誤差由0.077 8 mg/L下降至0.0177 mg/L,精度提高了3.4倍,而本研究中GA-LM-PCA預(yù)測模型相較于此模型的DO含量預(yù)測的精確度提高了27.8%。由此可見,GA-LM-PCA預(yù)測模型在同類預(yù)測模型應(yīng)用中處于預(yù)測精度較高的水平。
本研究中使用PCA方法的GA-LM模型可以有效避免多重共線性,提高參數(shù)估計(jì)的準(zhǔn)確性,用GA-LM-PCA預(yù)測的氨氮值平均絕對誤差較未用PCA方法的GA-LM模型提升了12.7%,而DO值則提升更多,同時大量低相關(guān)度影響因素對GA-LM-PCA預(yù)測模型的負(fù)面影響較小,可以通過增加影響因素的范圍來提升預(yù)測精度,應(yīng)用性較好,本研究結(jié)果為水產(chǎn)養(yǎng)殖生產(chǎn)過程中的DO與氨氮參數(shù)預(yù)測提供了新的方法。
1)本研究中提出的PCA-GA-LM模型預(yù)測的DO和氨氮值與實(shí)測值吻合度均高于直接引用變量法的GA-LM模型,平均絕對誤差和均方根誤差也均小于直接引用變量法,提高了預(yù)測精度,可以作為水產(chǎn)養(yǎng)殖重要環(huán)境因子預(yù)測的一種有效工具。
2)PCA-GA-LM模型對于同樣數(shù)量的樣本,選取的影響因素越多預(yù)測效果越好,這意味著本模型對于相關(guān)度低、冗余的影響因素具有自動篩選功能,能使其中相關(guān)的影響因素充分發(fā)揮作用,且能去掉影響因素之間的耦合,能夠?yàn)闄C(jī)理復(fù)雜、影響因素難以確定的非線性系統(tǒng)提供可行的預(yù)測方案。