楊 云 楊繼海
(長安大學(xué)信息工程學(xué)院 西安 710064)
水質(zhì)預(yù)測是水污染防治的有效手段,但是水質(zhì)因子與水質(zhì)間是復(fù)雜的不確定的非線性關(guān)系,實際應(yīng)用中存在預(yù)測結(jié)果與實際值偏差較大的難題。
目前主要水質(zhì)預(yù)測方法有時間序列法、回歸分析法和神經(jīng)網(wǎng)絡(luò)法。時間序列法基于數(shù)理統(tǒng)計理論,分析水質(zhì)指標(biāo)中的某個檢測值的時間序列數(shù)據(jù),通過加權(quán)平均等數(shù)學(xué)方法推測未來水質(zhì)變化趨勢。該類方法優(yōu)點是數(shù)學(xué)基礎(chǔ)完善,但是算法復(fù)雜而且預(yù)測準(zhǔn)確性不高?;貧w分析法研究部分或全部影響水質(zhì)變化的因素,建立一元或多元回歸模型,常采用最小二乘法估計參數(shù)建立回歸方程,再用實際變量驗證回歸方程。該類方法應(yīng)用較為廣泛,在樣本量足夠大的情況下,可以得到較為準(zhǔn)確的預(yù)測結(jié)果。神經(jīng)網(wǎng)絡(luò)法抽象人的推理模式,不需要預(yù)先描述輸入和輸出的數(shù)學(xué)映射,在未知系統(tǒng)內(nèi)部復(fù)雜機制的情況下,通過對輸入樣本的訓(xùn)練學(xué)習(xí),獲得可靠輸出[1~4]。與傳統(tǒng)水質(zhì)預(yù)測方法比較,神經(jīng)網(wǎng)絡(luò)法更適合處理復(fù)雜多變和非線性的水環(huán)境系統(tǒng)。但是神經(jīng)網(wǎng)絡(luò)存在易陷入局部極值和收斂速度慢的不足,所以可以采用遺傳算法等全局優(yōu)化算法改進(jìn)BP 網(wǎng)絡(luò)性能,可有效提高收斂速度和預(yù)測精度[5~6],以及最新的深度模型[7~10]。本文引入一種新的全局優(yōu)化算法,類電磁機制算法[11~13],根據(jù)傳感器邊緣計算資源有限不適合深度網(wǎng)絡(luò)和復(fù)雜優(yōu)化算法的特點,改進(jìn)類電磁機制算法,優(yōu)化神經(jīng)網(wǎng)絡(luò)模型,有效降低水質(zhì)因子與水質(zhì)之間關(guān)系模型復(fù)雜度的同時提升了預(yù)測的精度,研究結(jié)果可指導(dǎo)該流域水污染防治和水資源保護(hù)。
神經(jīng)網(wǎng)絡(luò)模型采用誤差逆向傳播的多層前饋式神經(jīng)網(wǎng)絡(luò),拓?fù)浣Y(jié)構(gòu)三層:輸入層、隱含層和輸出層。典型網(wǎng)絡(luò)模型如圖1 所示。其中網(wǎng)絡(luò)有m個輸入X,n個輸出Y,j個隱含層神經(jīng)元,其中1 ≤i≤m,其中1 ≤k≤n,wij為輸入層與隱含層神經(jīng)元連接權(quán)值,wjk為隱含層與輸出層神經(jīng)元之間的連接權(quán)值。信息通過輸入層傳遞到隱含層,在隱含層變換處理后,到達(dá)輸出層輸出結(jié)果,則一次正向?qū)W習(xí)完成,當(dāng)模型輸出與期望輸出誤差未達(dá)到要求,則神經(jīng)網(wǎng)絡(luò)按照誤差梯度下降的方法反向修正各層權(quán)值,即為誤差反向傳播過程,重復(fù)直至誤差達(dá)到要求或?qū)W習(xí)超過最大次數(shù)閾值結(jié)束。
圖1 神經(jīng)網(wǎng)絡(luò)模型圖
類電磁機制算法(Electromagnetislike Mechanism,EM)是S.I.Birbil 和S.C.FANG 在2003 年提出的,一種新的基于種群的元啟發(fā)全局優(yōu)化算法[12~14]。EM 算法模擬電磁場中電粒子吸引和排斥機制,把初始種群看作空間中的電粒子群,待優(yōu)化目標(biāo)函數(shù)的值看作電粒子的電荷量,由電荷量決定粒子受到其他粒子的吸引力和排斥力的大小,即目標(biāo)函數(shù)值越小,粒子的吸引力越大。然后通過計算電粒子帶電量和合力計算出粒子的移動更新規(guī)則,若干次迭代后得到全局最優(yōu)解。EM原理三個粒子簡化圖如圖2所示。
圖2 EM算法原理簡化示意圖
在圖2 中有三個電粒子,1 號的函數(shù)值大于2號,3 號的函數(shù)值小于2 號,所以1 號對2 號粒子表現(xiàn)為排斥力F12,3 號對2 號表現(xiàn)為吸引力F32,2 號受到的合力為F2,指向2 號粒子移動的方向。EM算法的收斂性已經(jīng)得到充分證明,即迭代數(shù)次后,種群中至少有一個粒子會以概率1 移動到全局最優(yōu)解的位置。
EM 算法簡單有效,一般分四個步驟:初始化、局部搜索、電荷量與合力計算和粒子移動。EM 算法的實現(xiàn)偽代碼如算法1所示。
經(jīng)典類電磁機制算法為通用計算平臺設(shè)計,針對水質(zhì)預(yù)測傳感器端計算平臺資源的約束,在初始化階段,改進(jìn)算法采用歸一化方法,具體為最大最小歸一化,縮小了計算數(shù)值的范圍,從而有效地降低了運算復(fù)雜度。在計算合力階段,引入一個合力計算修正因子,減小距離對預(yù)測結(jié)果的影響,可讓網(wǎng)絡(luò)模型避免出現(xiàn)早熟現(xiàn)象。具體改進(jìn)公式如下。
1)歸一化方法采用最大最小歸一化(Min-Max normalization),公式表示如下:
最大最小歸一化是對原始數(shù)據(jù)的一種線性變換,可以把結(jié)果映射到[0,1]之間。
2)將EM 算法計算兩個不同粒子間合力的公式改進(jìn)為
其中k為修正因子,通過對兩個不同粒子的距離修正,強化粒子之間的作用力的強度,該參數(shù)可通過模型迭代學(xué)習(xí)獲得。
對多層網(wǎng)絡(luò)模型,全局優(yōu)化算法采用本文提出的改進(jìn)EM算法,其流程如圖3所示。
黃河蘭州段西起八盤峽,東至烏金峽,穿過蘭州市區(qū),是蘭州工業(yè)用水和居民飲用水的唯一地表水源。每年由蘭州市排入黃河的污水量約1 億噸,其中生活污水為60%左右,主要污染物為揮發(fā)酚、氨氮、石油類、高錳酸鹽[15]。近年來由于蘭州市區(qū)沿黃河快速擴張,取水量和排污量增大,徑流入水量天然減少,水體自凈能力降低,導(dǎo)致黃河蘭州段水污染問題非常嚴(yán)峻。黃河蘭州段有5 個水質(zhì)監(jiān)測斷面,從西至東斷面名稱與編號分別為1 號扶河橋(入境),2號湟水橋(支流),3號新城橋,4號包蘭橋,5號什川橋(出境)。其中2號為省級斷面,其余4 個為國家級斷面,每個斷面設(shè)置左中右三個采樣點。黃河蘭州段水域如圖4(a)所示,水質(zhì)監(jiān)測斷面概化圖如圖4(b)所示。
圖4 蘭州黃河段水系概化圖
本文水質(zhì)預(yù)測的研究區(qū)域為黃河蘭州段,數(shù)據(jù)源自中國國家環(huán)境監(jiān)測數(shù)據(jù)中心和甘肅省環(huán)境監(jiān)測數(shù)據(jù)中心。選擇國家級檢測斷面蘭州新城橋監(jiān)測點2011年~2014年水質(zhì)監(jiān)測數(shù)據(jù),每兩周記錄一次,共計177組。其中前154組數(shù)據(jù)為訓(xùn)練樣本,其余23 組數(shù)據(jù)為測試樣本。水質(zhì)DO 值反映水質(zhì)有機物污染的程度,是水生物主要的生存條件之一,也是衡量水質(zhì)綜合指標(biāo)之一,與其他水質(zhì)參數(shù)如PH 值,溫度(T,攝氏度),總磷(TP,mg/L),總氮(TN,mg/L),總氨(T-Am,mg/L),總堿度(T-Alk,mg/L)等相關(guān)。所以本文以預(yù)測溶解氧(DO,mg/L)含量為例,其他水質(zhì)指標(biāo)與其預(yù)測原理類似。水質(zhì)數(shù)據(jù)存儲在Excle 中,在Matlab 中讀取水質(zhì)參數(shù)程序源碼為
數(shù)據(jù)歸一化Matlab程序源碼如下:
其中x 為變換前水質(zhì)數(shù)據(jù),y 為變換后數(shù)據(jù),要求x 是有限實數(shù)值而且矩陣每行不全為0,變換后的數(shù)據(jù)在[0,1]區(qū)間內(nèi)。仿真結(jié)束后,將網(wǎng)絡(luò)輸出變換為水質(zhì)數(shù)據(jù),Matlab程序源碼如下:
根據(jù)所建立的多層網(wǎng)絡(luò)預(yù)測模型,網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn)的Matlab程序源碼為
優(yōu)化類電磁機制算法的參數(shù)設(shè)置,多次試驗結(jié)果綜合考慮全局最優(yōu)解和迭代時間,種群規(guī)模選擇10,進(jìn)化代數(shù)選擇5,根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)計算出種群中每個粒子的長度為51,EM算法參數(shù)初始化為
EM 算法主程序部分根據(jù)圖4 寫出,考慮測試樣本數(shù)量,為縮短迭代次數(shù),可以選擇不帶局部搜索的EM 算法,所以定義局部搜索次數(shù)為零。算法還包括初始化,計算移動和計算合力三個函數(shù)。
采用經(jīng)典反向傳播多層網(wǎng)絡(luò)(BP)、遺傳算法優(yōu)化多層網(wǎng)絡(luò)(GA-BP)和改進(jìn)類電磁機制算法優(yōu)化多層網(wǎng)絡(luò)(EM-BP),對黃河蘭州段新城橋監(jiān)測斷面水質(zhì)數(shù)據(jù)進(jìn)行預(yù)測,網(wǎng)絡(luò)結(jié)構(gòu)保持一致,預(yù)測溶解氧量,仿真結(jié)果均方誤差曲線如圖5 所示,訓(xùn)練結(jié)果曲線如圖6所示,預(yù)測結(jié)果如圖7所示。
圖5 均方誤差曲線圖
圖6 訓(xùn)練結(jié)果曲線圖
圖7 測試結(jié)果曲線圖
從圖中可以看出BP 網(wǎng)絡(luò)的均方誤差較大,GA-BP 和EM-BP 的均方誤差較小,在20 次循環(huán)后EM-BP 模型可以獲得更小的均方誤差和更好的誤差穩(wěn)定性。 為進(jìn)一步證實EM-BP 模型的優(yōu)越性,對GA-BP 和EM-BP 兩個模型分別導(dǎo)入2014 年新城橋監(jiān)測斷面第14 周次至第23 周次的10 組水質(zhì)數(shù)據(jù)進(jìn)行仿真,仿真得到誤差值如表1所示。
表1 EM-BP與GA-BP誤差對比
分析表中數(shù)據(jù)得到,EM-BP模型相對誤差8次小于GA-BP 模型相對誤差,而且EM-BP 最大相對誤差為0.0732,最小為0.0019,GA-BP 最大相對誤差為0.2197,最小為0.0068,所以,EM-BP 模型的預(yù)測值相對更準(zhǔn)確,相對誤差較穩(wěn)定,更適合水質(zhì)預(yù)測。
本文將改進(jìn)后的類電磁機制算法與多層神經(jīng)網(wǎng)絡(luò)結(jié)合建立水質(zhì)預(yù)測模型,將求解網(wǎng)絡(luò)的各層權(quán)值和閾值轉(zhuǎn)化為類電磁機制算法中粒子的吸引力和排斥力的計算,并以黃河蘭州段監(jiān)測斷面水質(zhì)數(shù)據(jù)為訓(xùn)練和測試樣本,與經(jīng)典BP 網(wǎng)絡(luò)和GA-BP 網(wǎng)絡(luò)對比仿真,在網(wǎng)絡(luò)一致性前提下,三種方法均得到可靠預(yù)測結(jié)果。分析實驗結(jié)果表明,引入改進(jìn)EM 算法優(yōu)化多層神經(jīng)網(wǎng)絡(luò)建立的水質(zhì)預(yù)測模型,與傳統(tǒng)方法相比,具有預(yù)測誤差較小,誤差較穩(wěn)定和預(yù)測精度較高的特點。水環(huán)境是一個非常復(fù)雜的非線性系統(tǒng),水質(zhì)除了受到自然環(huán)境影響外,還會受到經(jīng)濟社會發(fā)展的影響,這使得水質(zhì)預(yù)測存在很大的不確定性。而黃河蘭州段因其特殊的地理和人文環(huán)境,水質(zhì)的發(fā)展趨勢與居民生活息息相關(guān),因此,盡可能地接近未來水質(zhì)的真實狀況,需要更加成熟的預(yù)測模型。