林少涵,王 魏,2,王奕鵬
(1 大連海洋大學信息工程學院,遼寧 大連116023;2 教育部設施漁業(yè)重點實驗室,遼寧 大連116023)
目前,中國集約化水產養(yǎng)殖對養(yǎng)殖水質和水體環(huán)境的實時監(jiān)測水平較低,缺乏系統(tǒng)的水產疾病預警技術。根據漁業(yè)水質標準的規(guī)定,安全的氨氮質量濃度應保持在0.2 mg/L以下[1],過高的氨氮會嚴重影響到水生生物的生存,甚至引起死亡,對養(yǎng)殖造成巨大經濟損失。因此,對氨氮的檢測是有效預防氨氮毒害事件發(fā)生的必要措施。目前,大部分氨氮檢測儀價格昂貴且不適用于測量海水。國內對氨氮檢測的主要方法有納氏試劑比色法、電極法、次溴酸鹽氧化法等[2]。這些檢測方法雖然能夠有效地對氨氮質量濃度進行檢測,但都屬于離線方法,難以實現實時檢測。近年來,隨著軟測量技術的發(fā)展,國內很多知名專家學者開始將軟測量技術應用到氨氮檢測領域。軟測量是指通過計算機技術構造某種數學關系,利用一些較易獲得的變量來估計生產過程中難以測量的重要變量。Deng等[3]提出基于RBF的在線軟測量方法。在污水處理方面,喬俊飛等[4]提出基于遞歸RBF神經網絡的氨氮預測模型,使用梯度下降法訓練模型參數,并對氨氮質量濃度進行預測,雖然有較高的精度,但是仍然存在模型結構復雜、泛化能力差的問題。盧超等[5]提出一種基于尖峰自組織徑向基神經網絡的氨氮檢測方法,該方法的創(chuàng)新之處在于能夠根據輸入信息實時更新網絡參數,并通過尖峰自組織機制調整網絡結構,提高氨氮的預測精度和自適應力,但也存在模型結構參數在動態(tài)優(yōu)化上的不足。在養(yǎng)殖水體的氨氮檢測方面,陳英義等[6]提出了基于改進深度信念網絡的氨氮預測模型,利用自學習方法確定網絡結構,通過PSO算法找出最優(yōu)的結構參數,達到提高模型精度的目的,但同時仍存在網絡結構參數不易確定等問題。這些都是神經網絡在氨氮測定上的應用。然而,訓練高精度的神經網絡模型需要大量的數據樣本,在實際應用中要獲得大量有標簽的樣本較為不易,而且由于神經網絡的“黑箱”特性,建立的模型不具備解釋能力。
采用廣義可加模型進行氨氮預測,該方法對于小樣本數據能夠快速建立有較好精度的模型,且建立的模型有一定的解釋能力。為了提高預測精度,采用同樣適用于小樣本數據的支持向量回歸對廣義可加模型的輸出進行誤差補償。
循環(huán)水養(yǎng)殖系統(tǒng)利用生物反應、物理過濾等方法,去除養(yǎng)殖水體中所含的廢物殘渣、亞硝酸鹽氮、氨氮化合物等有害物。其組成部分主要包括:生化反應系統(tǒng)、消毒殺菌系統(tǒng)、過濾系統(tǒng)和智能監(jiān)控系統(tǒng)。智能監(jiān)控系統(tǒng)是科學養(yǎng)殖的一個關鍵環(huán)節(jié),主要作用是監(jiān)控水體的溫度、pH、溶氧(DO)、鹽度、濁度、氨氮、生物需氧量等對養(yǎng)殖產品的生長環(huán)境有巨大影響的水質參數。其中涉及的氨氮質量濃度是反應水體污染程度的一個重要指標,游離態(tài)的氨氮到了一定質量濃度會對水生生物有毒害作用。
養(yǎng)殖水體里的氨氮以離子態(tài)和非離子態(tài)的形式存在,考慮到其非離子含量和離子含量存在一定的換算關系,借助解離平衡關系,可以通過對一些其他變量諸如海水溫度、鹽度、pH來確定非離子態(tài)的百分含量fp,根據測定的總氨氮的摩爾質量,推算出氨氮的含量值,其相關關系見公式(1) ~ (3)[7]:
cNH3=1.4×10-4cNH3-Nfp
(1)
fp=100/(10pKa-cpH+1)
(2)
pKa=9.245+0.002 949S+0.032 4(298-T)
(3)
(4)
除此之外,當溫度范圍為0~40 ℃時,鹽度與電導率、水溫,存在換算公式(5)[8]:
S=1.388×d-0.024×d×t-6 171.9
(5)
式中:S表示鹽度;d表示電導率,μs/cm;t表示當前水溫, ℃??梢?,鹽度與溫度和電導率有關。
另外,水中有機物進行生物氧化分解時需消耗溶氧,溶氧質量濃度關系到水中氨氮、亞硝酸鹽氮和硝酸鹽氮之間的轉化效果[9]。
氨氮混合建模方法包括數據采集及預處理,基于機理近似的氨氮質量濃度主模型(即廣義可加模型)和基于支持向量回歸的氨氮質量濃度誤差補償模型等部分,結構如圖1所示。因此,氨氮質量濃度的最終計算值按照公式(6)。
(6)
圖1 氨氮軟測量模型結構圖
Fig.1 Soft measurement model structure of ammonia nitrogen concentration
廣義可加模型屬于非參數回歸模型,是在廣義線性模型和加性模型的基礎上發(fā)展而來的,其本質是通過連接函數把因變量和每個自變量對應的光滑函數的線性和聯(lián)系起來[10]。比起傳統(tǒng)回歸分析模型,其不需要滿足線性假設的前提條件,能夠更好地體現各變量之間復雜的非線性關系,同時還能避免維度災難的問題。廣義可加模型的基本公式[11]:
(8)
式中:μ是Y的期望值,μ=E(Y|X1,X2,…,XP);g(μ)是連接函數;sj(Xj),j=1,2,…,p是第j個自變量對應的單變量非線性光滑函數??梢圆捎煤撕瘮怠⒐饣瑯訔l函數,或者局部回歸光滑函數[12]。本研究采用的樣條函數具有較好的整體光滑性,能及時地適應樣本數據和函數的變化。
與一般的線性模型相似,廣義可加模型要求滿足最小二乘法[13],可用帶懲罰項的最小二乘法來估計,既能保證模型的準度,又使得樣條函數在預測變量的結點處能夠實現光滑,見公式(9)[14]:
(9)
式中:wi是氨氮質量濃度模型的構造權重;sj(xij)是廣義可加氨氮預測模型的單變量函數;yi表示樣本的估計值;n表示樣本個數;p表示變量個數。本研究包括水溫、溶氧、pH和電導率4個單變量函數。λ1,λ2,…,λp是各個單變量函數的光滑參數,使用廣義交叉驗證GCV(λ)進行求解[15-16]:
(10)
廣義可加模型的求解采用的是局部積分法[17],此算法在Fisher積分算法中整合了局部光滑方法,其中外部的Fisher積分過程用于聯(lián)結函數的估計,而內部的backfitting[18]過程用于估計光滑可加項,具體計算過程參考文獻[19],收斂準則為:
(11)
式中:m為迭代次數。
支持向量回歸在小樣本學習中表現出卓越的性能,具有理論完備、適應性強、模型訓練時間短、泛化能力強等優(yōu)勢,被廣泛地應用于模式識別、回歸估計等領域。支持向量回歸機與一般的線性回歸最大的不同是,一般的線性回歸只有當模型的輸出與樣本真值完全一致時,損失函數才為0,而支持向量回歸機容忍模型與真值之間存在差值ε,當模型與真值的差值的絕對值大于ε時才計算損失。支持向量機的基本公式[20-21]:
(12)
由于廣義可加模型是機理近似模型,得到的模型計算值和樣本的實際值存在著一定的誤差,故使用支持向量回歸機進行有效補償,以同樣的輔助變量為輸入,廣義可加模型的輸出值和樣本真實值的偏差作為模型的輸出,建立氨氮質量濃度誤差補償模型。
選取大菱鲆(Scophthalmusmaximus)為養(yǎng)殖對象,利用實驗室集約化海水養(yǎng)殖循環(huán)水系統(tǒng)進行數據采集。由于儀器儀表的測量精度、測量方法、人工操作不可避免的誤差等原因會使得所采集的數據不準確,可能存在異常值,所以需要數據預處理來剔除異常數據,還需避免數據的不同量綱對試驗結果產生影響。采用3σ準則和數據歸一化方法對數據進行預處理,部分數據如圖2所示。
4.2.1 試驗內容
使用R語言,將廣義可加模型寫為:
(13)
式中:k為模型超參數,根據網格搜索法尋優(yōu)確定其值為6,其中gam為R語言中的廣義可加模型函數包。s(x0)、s(x1)、s(x2)、s(x3) 分別是水溫、溶氧、電導率、pH與氨氮含量的單變量函數,a為截距。單變量對氨氮的擬合結果如圖3所示。
圖2 部分試驗數據圖
單變量擬合函數圖中,縱軸表示平滑函數值,函數值兩邊的虛線表示可信區(qū)間的上下限[22-23]。同時,偽判定系數R-sq顯示了模型的解釋能力為0.63,Deviance explained表明模型可解釋的偏差為68%,廣義交叉驗證GCV的值為0.028 684,說明模型有較好的擬合效果。廣義可加模型參數中,截距a的估計值為0.232,模型的標準誤差為0.003,檢驗統(tǒng)計量T值為77.76,觀察到的顯著性水平Pr的值為2e-16。
圖3 單變量擬合函數圖
4.2.2 試驗結果
根據氨氮的反應機理,利用網格搜索法對k進行尋優(yōu),最終確定k為6,利用R語言的廣義可加模型的程序包gam()函數建立廣義可加模型對氨氮進行預測,得到廣義可加模型的預測結果如圖4所示。
由圖4所示,廣義可加模型的輸出值,基本上可以跟蹤真實值的趨勢,但是存在著不小的機理誤差。針對機理模型誤差,采用SVR進行補償,結果如圖5(a)所示。通過將補償前后的兩個預測效果圖進行分析比較,可以看出補償前的均方根誤差(RMSE)為0.079,通過SVR進行補償后模型的均方誤差降到了0.066,模型的擬合效果有較大幅度的提升。
圖4 廣義可加模型的擬合效果
為驗證比較不同補償模型的效果,分別采用BP神經網絡和隨機配置神經網絡SCN[26]對機理模型進行補償。對BP神經網絡,考慮其模型精度,采用雙層神經網絡,每層神經元個數為25,對隨機配置的神經網絡SCN令隱藏層最大的層數是250,隨機配置的最大次數是100,隨機權重范圍在0.5~250,得到的預測結果如圖5(b)、(c)所示。
通過對比補償的結果圖,可以看出,在相同條件下廣義可加模型加上BP網絡的補償后模型的均方根誤差為0.069,與SCN網絡補償的0.068均方根誤差差距不大,但是使用SVR作為補償模型的均方根誤差為0.066,具有較好的優(yōu)越性。與此同時,在相同的數據集條件下,將其與單獨使用BP神經網絡、SCN網絡[27]以及支持向量回歸SVR模型[28]建立的氨氮質量濃度模型進行對比,模型的預測結果如圖6(a)、(b)、(c)所示。不同方法的預測結果比較見表1。
表1 不同模型的訓練和測試效果比較
從表1結果可以看出,單獨使用支持向量回歸SVR比單獨使用BP神經網絡、隨機配置網絡SCN有較低的均方根誤差,擬合效果最好;其次是隨機配置網絡SCN。分析原因,由于支持向量回歸是建立在結構風險最小化原理上的,適用于小樣本情況下研究統(tǒng)計學習規(guī)律。針對水環(huán)境系統(tǒng)的復雜性、非線性和有限樣本等特性,支持向量回歸正好適用于這樣條件下的水質預測問題[29]。而傳統(tǒng)BP神經網絡,其模型參數在訓練過程中容易陷入局部極小值[30],SCN神經網絡雖然運算速度較快,但在模型的建立時需要大量的樣本,故對于小樣本數據,利用這兩種方法建立的模型在預測精度上不及SVR的效果,與通過仿真得出來的結論一致。
圖5 不同補償模型的預測結果
通過混合建模的方式將廣義可加模型與支持向量回歸相結合,通過訓練集和測試集的對比,可見混合模型比單獨使用支持向量回歸SVR、BP神經網絡、隨機配置網絡SCN的軟測量結果要好。雖然廣義可加機理近似模型在單獨模型預測上有較高的均方誤差,預測效果較其他數據驅動模型差,但由于其利用了機理信息,其預測結果基本能較好反映數據變化趨勢(圖4)。將數據驅動模型和利用機理信息的廣義可加模型相結合,能夠充分利用二者的優(yōu)勢。通過結果比較可以看出,加入補償模型之后,支持向量回歸補償模型的均方根誤差無論是在訓練集還是在測試集的表現上都優(yōu)于其他的數據驅動模型,模型精度更高,泛化能力更好,并且模型的變化趨勢能夠更貼近數據的分布特點,使得模型的預測能力較原來的軟測量模型有很大的提升。
圖6 不同方法單獨建模的預測結果
根據養(yǎng)殖水體中氨氮的機理分析,采用廣義可加模型進行氨氮含量軟測量,并結合網格搜索法求解廣義可加模型的超參數,利用SVR算法進行了補償。通過對比使用單一的BP神經網絡,SCN神經網絡的預測結果,可以看出基于氨氮在養(yǎng)殖水體的反應機理建立的廣義可加模型,在統(tǒng)計學的角度上有較高的解釋性。除此之外,廣義可加模型是一種非參數模型,建立起來較為簡單,適用于小樣本數據,故選擇SVR配合廣義可加模型進行混合建模。試驗結果表明,混合模型具有較低的均方根誤差,更適合養(yǎng)殖過程氨氮的實時檢測。
□