汪利偉,王小藝*,王 立,白玉廷,盧雨田
(1.北京工商大學計算機與信息工程學院,北京100048; 2.北京理工大學自動化學院,北京100081)
(*通信作者電子郵箱sdwangxy@163.com)
社會經濟的迅猛發展在改善生活質量的同時帶來了嚴重的環境污染問題,盡管大氣問題近年得到了重視,但城市大氣污染仍面臨嚴峻形勢。2016年全國338個地級及以上城市中僅有24.9%的城市空氣質量達標,其余254個城市空氣質量全部超標[1];而相關研究表明,工業氣體污染已占據大氣總污染量的70%左右[2],成為我國大氣環境污染的主要來源。
工業園區是工業集約化生產的典型組織方式,其一般由多種類型企業組成,占地面積大,在開展工業廢氣監測時面臨大氣污染物種類較多和監測范圍廣等問題。通過有限的監測點分析某些盲區的廢氣分布情況是工業園區廢氣監測中需要解決的重要問題之一。以往工業園區廢氣污染分布研究中廣泛應用的是數值機理模型,主要包括高斯煙團模型[3-4]和高斯煙羽模型[5-6]等:刑晶晶等[7]利用高斯煙羽模型對工業區空氣質量進行了評估,以源強作為輸入利用基礎高斯模型得出了空氣質量評估報告;周洪文等[8]在煤田火區氣態污染物擴散影響區域模擬研究中,利用改進高斯模型模擬地面自然風下擴散面積分布情況,為當地治理煤區大氣環境提供依據;武麗君等[9]利用高斯煙團模型研究了多種污染源作用下的城市PM2.5圖形繪制,對PM2.5擴散趨勢作了直觀展示;同時,高斯煙團模型和高斯煙羽模型也被用在在原油泄漏[10]、垃圾焚燒[11]和水稻花粉擴散面積[12]等問題的研究中。
高斯模型為代表的數值機理模型盡管較為成熟且被廣泛應用,但模型本身明顯的缺陷無法忽視。一方面模型建立過程中特征參數的給定依賴人為經驗,易造成模型魯棒性差、誤差累積等問題;另一方面模型主要適用于定點單污染源,且無法模擬動態變化過程。為彌補機理模型的不足,部分學者探索了數據驅動下的廢氣分析方法,如基于時間序列的空氣質量分析[13]、基于多元線性回歸和支持向量機的大氣污染物濃度預測[14]、基于 BP(Back Propagation)神經網絡[15-17]的大氣環境分析以及基于時間序列和神經網絡組合[18]的氣體濃度預測模型等。
對工業園區的實際調研發現,由于企業自身利益、管理政策等原因,工業園區內的部分工廠內部無法布設監測點,而工廠內部是廢氣監測和管理的重點區域,現有的氣體分布分析方法尚且無法解決此問題。本文首先提出了監測盲區工業廢氣分布分析的總體解決思路,即利用邊界監測數據推理盲區的廢氣分布;提出了雙向誤差傳播多層神經網絡(Bidirectional Error Multi-layer Neural Network,BEMNN)對邊界與盲區氣體分布關系進行建模;利用某工業園區的實際數據對本文所建立的網絡進行訓練和測試,實驗結果驗證了所提方法的可行性和準確性。
監測點的布設是進行氣體監測的首要工作,最常用的基本原則是根據不同管理區域的重要性布設監測點;但在實際監測工作中發現,工業園區內的企業出于自身利益考慮會拒絕布設監測點,或對監測點作出人為影響干擾或破壞等,造成數據采集不準確或無法采集,同時由于管理體系建制及政策法規不完善等原因,無法從管理層面解決此問題。為此,對工業園區分布狀況進行深入了解后,提出一種“邊界監測-盲區推理”的解決思路,圖1為此方法中監測點的布設示意圖。根據實際監測需求,選取3~6個邊界監測位置點獲取監測數據,通過神經網絡對邊界監測點與盲區點之間的關系進行建模;在實際應用時利用建立的神經網絡可以通過邊界監測點數據推理出盲區的廢氣分布情況。
在“邊界監測-盲區推理”監測方案基礎上對擬解決的問題進行表述。已知m個邊界監測點,即〈l1,l2,…,lm〉,每個監測點均有相同時間間隔Δt和時間長度T的氣體濃度監測數據序列 Dli。擬求取非線性關系 f,其表示從〈Dl1,Dl2,…,Dlm〉到盲區監測點z相同時間條件下氣體濃度Dz的映射關系。本文提出BEMNN對此非線性關系f進行回歸分析。
BEMNN以多層網絡結構和誤差雙向傳播以主要特點,其結構如圖2所示。
一方面,在網絡結構設計中,網絡在縱向上共分為兩層:第一層網絡由輸入層和隱層組成,每層中的元素根據監測點數量分為m組,每組中有n個輸入節點和k個隱層節點;第二層由中間輸出層和最終輸出層組成,中間輸出層節點數等同于監測點數m。另一方面,在網絡學習方法中,根據訓練和測試兩種情形的設定,對應產生誤差的雙向傳播過程。

圖1“邊界監測-盲區推理”監測布點示意圖Fig.1 Distribution schematic diagram of monitoring points in“monitoring in boundary and inference of dead zone”

圖2 BEMNN結構Fig.2 Architecture of BEMNN
學習方式明顯區別于傳統的神經網絡結構,其對信息的處理采取了多級分層的雙向處理方式。首先通過m組的單層輸入對不同的訓練樣本選擇BEMNN結構中的第一層網絡進行學習,根據第二層的中間輸出層與參考值的比較產生反向傳播的誤差,進而對第一層網絡連接權值進行更新;然后進行中間輸出層到最終輸出層的訓練學習,此時的誤差將轉化為不同節點融合的權重,最終集成學習結果得到園區內部未知盲區的廢氣污染氣體濃度。
1)網絡結構。
在圖2所示的網絡結構中,x0=-1,輸入向量為X=(x1,x2,…,xi,…,xn)T,y0= - 1,輸出向量為 Y=(y1,y2,…,yj,…,ym)T,輸出層輸出向量為 O=(o1,o2,…,ok,…,om)T,期望輸出向量 d=(d1,d2,…,dk,…,dm)T。輸入層到隱層之間的權值矩陣 V=(v1,v2,…,vj,…,vm),隱層到輸出層之間權值用 W=(w1,w2,…,wk,…,wi)。
2)誤差反向傳播學習。
對于輸出層有:


當網絡輸出與期望輸出不等時,存在輸出誤差:

由式(8)可以看出,誤差是各層權值的函數,調整權值可以改變誤差,顯然調整權值的原則就是使誤差不斷減小,即:

其中:η指學習速率,是一個給定的常數,0<η<1。
具體的權值調整算法,對于輸出層均有j=0,1,2,…,m,k=1,2,…,l,對于隱層均有 i=0,1,2,…,n,j=1,2,…,m。
對于輸出層和隱層分別可以改為:

對輸出層和隱層各定義一個誤差信號:

得到最終的權值調整計算公式

3)誤差正向傳播學習。
求出各層新的權值以后在轉向正向傳播過程。
設 z0= - 1,輸入向量 Z=(z1,z2,…,zN)T,輸出向量Op=(o1,o2,…,os)T,輸入到隱層的權值矩陣 M=(m1,m2,…,me)T,隱層到輸出層的權值 C=(c1,c2,…,ct)T,考慮到第一層網絡輸出結果的不一致性,需要對初步設定權值矩陣雙向調整,實際輸入樣本的權值調整值:

否則,將逆輸入樣本方向調整值:

當網絡輸出與期望輸出不等時,存在輸出誤差,當計算期望精度達到學習次數時,計算結束,否則進行反向傳播。
對于輸出層和隱層分別可以改為:


根據“邊界監測-盲區推理”監測方案,利用BEMNN建立監測盲區工業廢氣分布分析算法,算法描述如下,對應算法流程如圖3所示。

圖3 算法流程Fig.3 Algorithm flow
監測盲區廢氣分布分析算法:通過邊界布點,獲取主要監測指標和監測數據,對每一組監測數據〈l1,l2,…,ln〉通過BEMNN 求得與〈Dl1,Dl2,…,Dln〉之間的非線性關系 f。
輸入:n個監測點監測指標,文中以5個監測點4個監測指標為例;
輸出:工業園區內部盲區氣體濃度回歸計算值。
1)針對園區分布調研,確定監測方法和實際監測布點,選取實際利用的監測數據作預處理;
2)將各個監測點監測數據利用BEMNN第一層進行訓練,將5組單層數據分別輸入到網絡第一層獨立模塊,調整相關參數使之達到最好的預期效果,同時不同組數據之間的交互訓練作誤差反算確定模型穩定性和輸入參數的校正;
3)將監測點訓練后的穩定數據,作為第二層網絡的5組單獨輸入,得到盲區位置的氣體濃度值,同時這里誤差反算一方面修改輸入系數保證模型輸出的準確性,而且可以返回到第一層網絡對輸入重新調整,實線數據輸出結果對輸入參數的選擇。
根據工業園區內某些區域無法直接監測問題,運用本文所提方法進行實驗。以某工業園區為實驗場地,選取某化工廠為研究范圍。在數據采集階段,在該工廠周邊8個方向的不同距離布設8個監測點,同時經過協調在工廠內部放置1個臨時的移動監測點,該臨時移動監測點僅用于實驗階段,后續日常運行中該點無法運行。數據采集階段所布設的9個監測點地理位置分布如圖4所示。

圖4 監測點地理位置分布Fig.4 Location of monitoring points
在實際監測中,邊界監測點一般為5個左右,因此在本實驗中,對布設的8個邊界監測點與盲區內部點的相關性進行分析,計算7天內各點與盲區內部點的相關性,結果如表1所示。

表1 監測點相關性分析Tab.1 Correlation analysis among monitoring points
根據表1相關性計算結果,最終選取以最小共同尺度為基準且相關性最大的5個邊界監測點和網絡模型推算工廠內部廢氣情況,選取的5個監測點位置分布如圖5所示。

圖5 最終監測點位置分布Fig.5 Distribution of final monitoring points
實驗階段采集的數據包括大氣穩定度、濕度、風速、風向和氣體濃度5項指標,監測了1月份連續7天(每10分鐘記錄一次)的二氧化硫氣體濃度變化數據,共有1680組。
本實驗中有5個邊界監測點,因此在本文提出的BEMNN中設置5組并行網絡結構,每組網絡結構中根據4項監測指標(大氣穩定度、濕度、風速和風向)確定4個輸入節點,每組中的隱層節點數為8個。
在訓練過程中,選取1344組作為訓練數據,將其輸入設計完成的BEMNN中,訓練參數設置如表1所示。在訓練時,除5個單層網絡訓練穩定外還隨機進行相互的模塊化訓練,避免單一數據隨機性引起的參數誤差,每個子模塊輸出穩定結果后將其作為下一層BEMNN的輸入,此時的訓練除了正常的誤差選擇外,輸出結果反向作用于輸入參數,實現結果對輸入的選擇,是以往網絡結構所沒有的。當BEMNN滿足既定訓練目標時,認為此時的網絡已滿足實際數據的變化需求,在此條件下,選取兩部分數據作為測試數據對網絡進行測試。其中,第一部分測量數據包括82組數據,第二部分測量數據包括254組數據,根據輸出值和測量值進行準確率比較。同時,建立傳統BP單層網絡,經過參數調節使其達到較好效果,與傳統BP網絡的回歸結果作對比分析。

表2 兩種網絡訓練參數設置與對比Tab.2 Training parameter setting and contrast of two networks
2.3.1 模型評價指標
為衡量BEMNN模型的穩定性和準確性,選取一些模型對指標進行評價,本文選取相對誤差。規定為Pi真實值,Oi為回歸擬合值,δ為實際相對誤差,一般用百分數表示,則各評價指標定義如下:
相對誤差按式(26)計算:
用藥方法:觀察組燒傷患者在無菌條件下應用0.9%鹽水沖洗創面,再采用1:2000的洗必泰沖洗,再以生理鹽水沖洗創面,隨后根據創面的大小合理使用磺胺嘧啶銀鋅霜均勻涂抹在患者燒傷創面處,采用暴露法或包扎療法治療。對照組患者治療步驟同觀察組,對照組藥物使用1%磺胺嘧啶銀霜。

平均絕對誤差是所有觀測值與測試值的絕對值的平均。平均絕對誤差由于差值被絕對化,不會出現正負相抵的情況,能夠更好地反映誤差的真實情況。


2.3.2 模型回歸結果
實驗選取了兩組數據分別對BEMNN進行測試,第一組為240組,第二組為96組,如圖選取336組數據分別作為對兩種網絡的測試數據,實驗結果如圖6所示。
均方根誤差是測試值與真實值偏差平方和與觀測次數比值的平方根,對于異常誤差反應靈敏,能夠很好地反映回歸計算精度。均方根誤差計算方式如下:

圖6 BEMNN測試結果Fig.6 Test results of BEMNN
從圖中可以看出,除少量數據外,實際值與回歸值跟隨效果比較好,實際值與回歸值的比值非常接近于1,能夠滿足計算準確度的要求。
圖7所示是各點推理結果的誤差曲線,可以看出通過對模型參數的不斷改進后,各組誤差都能控制在準確度要求范圍內,總體維持在8%左右,在工業園區盲區氣體分布推理上取得較好效果,驗證了BEMNN的有效性。

圖7 BEMNN測試誤差Fig.7 Test errors of BEMNN
同時,兩組數據的平均相對誤差分別為8.88%、8.5%,該網絡在處理不同數據時均表現出近似水平的誤差,表明該網絡具備基本的適應性。如表3所示,在保證平均絕對誤差MAE <28.83 μg,均方根誤差 RMSE <45.62 μg的同時誤差率較傳統BP網絡降低4個百分點左右,準確性進一步得到驗證。

表3 模型回歸結果評價對比Tab.3 Evaluation of model results
針對現有模型大多基于定點單污染源進行預測,無法體現其動態性,傳統的數值機理模型特征參數過于依賴人為經驗會導致魯棒性差、誤差積累等問題,本文首先提出了監測盲區工業廢氣分布分析的總體解決思路,利用邊界監測數據推理盲區廢氣分布,即“邊界監測-盲區推理”;提出了雙向誤差傳播多層神經網絡(BEMNN),對邊界與盲區氣體分布關系進行建模;通過利用衡水市環保部提供的監測數據并對BEMNN進行訓練和測試。實驗結果:平均絕對誤差MAE<28.83 μg,模型均方根誤差 RMSE < 45.62 μg,相對誤差控制在8%左右,驗證了本文方法的可行性和準確性。模型較好地解決了廢氣污染監測盲區內部無法布點問題,為廢氣污染時空分布分析研究提出了一種新的研究思路,為城市居民健康、預測預警防范和環境治理提供了理論支撐。
本文提出BEMNN雙層結構,包含兩個反向和一個正向的誤差傳播過程,在收斂速度、誤差精度和擬合率上較傳統網絡均有提高,同時增加了輸出結果對輸入變量的篩選,可適用于更多含有復雜不確定因素的其他預測研究。同時與單層BP網絡相比:能夠在訓練次數大幅度減少的情況下,達到相同的精度要求;而在訓練次數相同的情況下,相對誤差率降低了4個百分點左右。
初步對數據驅動下的“邊界監測-盲區推理”方法進行了探索,目前初期數據量相對較少,精確度有待進一步提高,在后續研究中需要利用更為豐富的數據對模型進行訓練,提高網絡模型的通用性和長期穩定性。