李 幔, 馬元婧
1(中國科學院 沈陽計算技術研究所, 沈陽 110168)
2(中國科學院大學, 北京 100049)
隨著我國經濟水平的提高, 交通運輸業(yè)的飛速發(fā)展以及工業(yè)現(xiàn)代化進程的不斷加快, 空氣質量水平作為可持續(xù)發(fā)展的重要組成部分, 也越來越受到人們的關注. 為及時精準地了解空氣質量問題時空分布狀況,提高動態(tài)反應空氣質量的能力, 空氣質量監(jiān)測應運而生. 根據(jù)多年來的實驗表明, 環(huán)境監(jiān)測在采樣過程中產生的誤差是總體誤差的重要組成部分[1]. 因此, 保證采樣過程中監(jiān)測點位選擇的準確度就成為了空氣質量監(jiān)測與表征空氣污染程度的關鍵[2]. 而監(jiān)測點位的優(yōu)化準確度依賴于空氣質量監(jiān)測微子站(以下簡稱為微子站)的監(jiān)測數(shù)據(jù)的有效完整性, 但在微子站監(jiān)測過程中, 常常由于各種突發(fā)因素導致一段時間內的數(shù)據(jù)缺失. 因此, 在根據(jù)微子站監(jiān)測數(shù)據(jù)進行點位優(yōu)化前, 進行缺失數(shù)據(jù)處理成為了不可或缺的一部分.
近年來, 隨著空氣質量監(jiān)測點位優(yōu)化問題研究的不斷深入, 已有眾多發(fā)達國家與地區(qū)對于空氣質量監(jiān)測點位優(yōu)選提出了一系列的優(yōu)化方法, 如相關性分析法、聚類分析法以及多目標優(yōu)化等數(shù)學與統(tǒng)計學方法[3].我國對于空氣質量監(jiān)測點位優(yōu)化的研究也在逐步發(fā)展,如徐明德等人提出的凝聚層次物元法[4]、杜增榮采用的凝聚層次聚類法[5]、姜林等人提出的BP 分析法[6]應用于空氣質量監(jiān)測點位優(yōu)化. 這些方法各有特色, 可以很好地代表空氣質量的準確性與代表性. 與此同時,隨著對缺失數(shù)據(jù)處理問題的關注度不斷提高, 大多被提出的數(shù)據(jù)填充方案大概分為以下兩種填充思想, 第一種是對缺失數(shù)據(jù)鄰近數(shù)據(jù)進行特征分析, 利用均值, 眾數(shù)和聚類的方法表現(xiàn)數(shù)據(jù)特征進行填補的算法. 如李董等人提出的基于SMOTE 和KNN 的數(shù)據(jù)缺失填充算法[7]、袁兆祥等人提出的基于DBSCAN 聚類的數(shù)據(jù)補充算法[8]、楊挺等人提出的基于FSOM 神經網絡的數(shù)據(jù)補充方案[9], 另一種缺失數(shù)據(jù)的填補方式是利用神經網絡對數(shù)據(jù)整體特征進行分析與補充, 例如使用RNN來對缺失的數(shù)據(jù)進行填補操作. 如柯昊等人提出的BP 神經網絡補差法[10]、宋維等人提出的基于LSTM的活立木莖干水分缺失數(shù)據(jù)填補方法[11], 對于數(shù)據(jù)缺失問題都有很好的表現(xiàn). 因此, 本文首先選取在空氣質量、水質、地質預測領域應用廣泛, 原理簡單, 計算量小的凝聚層次聚類法進行空氣質量監(jiān)測點位優(yōu)化. 鑒于凝聚層次聚類法易受到初始聚類中心以及缺失數(shù)據(jù)的影響, 單獨使用凝聚層次聚類法的聚類效果不理想.為了能夠在空氣質量監(jiān)測點位監(jiān)測數(shù)據(jù)缺失的情況下,擁有更好的聚類效果, 本文首先選取適用于具有時序特征缺失數(shù)據(jù)補充且能夠反映空氣質量監(jiān)測數(shù)據(jù)雙向特征的BiLSTM 神經網絡對缺失數(shù)據(jù)進行填補, 然后應用凝聚層次聚類法對修復后的數(shù)據(jù)進行聚類分析,實現(xiàn)對空氣質量監(jiān)測點位的優(yōu)化, 獲取更加真實、精準的數(shù)據(jù), 用以分析空氣污染成因. 同時, 為環(huán)境質量監(jiān)測有關部門制定點位優(yōu)化標準提供有利的技術支撐.
針對空氣質量監(jiān)測點位優(yōu)化的最終目的, 構建的基于BiLSTM 改進聚類的空氣質量監(jiān)測點位優(yōu)化模型, 如圖1 所示. 首先, 利用BiLSTM 數(shù)據(jù)補充模型進行數(shù)據(jù)補充解決監(jiān)測數(shù)據(jù)缺失問題, 對于BiLSTM 中的正向LSTM 網絡和逆向LSTM 網絡具備相同的結構, LSTML部分是通過學習缺失數(shù)據(jù)之前時序的空氣質量數(shù)據(jù)的數(shù)據(jù)特征規(guī)律來產生缺失數(shù)據(jù)的候選補充結果; LSTMR是通過學習缺失數(shù)據(jù)之后時序的空氣質量數(shù)據(jù)進行同樣的操作, 產生另一候選補充結果. BiLSTM神經網絡通過使用缺失監(jiān)測數(shù)據(jù)的前后m組數(shù)據(jù)對當前缺失的n組數(shù)據(jù)進行補充, 公式如下:
圖1 基于BiLSTM 改進聚類模型
其中,F為基于BiLSTM 的數(shù)據(jù)補充模型, [Xk···Xk+n?1]表示缺失的n組數(shù)據(jù).
最后使用一個Softmax layer 來綜合正向LSTM和逆向LSTM 的候選結果并產生最終的缺失數(shù)據(jù)補充結果. 得到最終的輸出結果傳遞給層次聚類部分, 輸出聚類結果.
LSTM 神經網絡是一種循環(huán)神經網絡(RNN)的特殊變體. 在標準的RNN 中, 重復部分的模塊表現(xiàn)為只有單個tanh 層的簡單結構, 如圖2 所示. LSTM 的基本結構與基礎ANN 保持一致, 但是重復部分模塊包含具有4 個網絡層的特殊結構, 并且利用一種新的方式與其他部分實現(xiàn)交互[12]. 因此, 解決了RNN 的長期依賴以及梯度消失問題[13].
圖2 標準RNN 結構圖
LSTM 的網絡結構如圖3 所示, 其中包含輸入門、遺忘門、輸出門3 個邏輯單元, 輸入門控制記憶單元中當前輸入的狀態(tài); 遺忘門對前一個記憶單元處理結果進行篩選保留; 輸出門控制記憶單元的輸出狀態(tài)[14].
圖3 LSTM 神經網絡結構圖
LSTM 的初始步驟在于判斷細胞狀態(tài)中信息的去留. 這一判斷由遺忘門層進行.
遺忘門的狀態(tài)更新公式為:
它接收ht–1和xt, 對于細胞狀態(tài)Ct–1中的每部分的輸出值都限制在0 到1 之間. 接受程度跟隨0 到1 數(shù)值大小遞增, 0 表示完全不接受, 1 表示完全接受.
下一步的目的在于判斷細胞狀態(tài)中需要更新的信息并建立新信息. 通過輸入門層決定需要被更新的數(shù)據(jù). 然后, 通過一個 tanh形網絡層創(chuàng)建一個新的備選值向量Ct, 可以用來添加到細胞狀態(tài).
輸入門狀態(tài)更新公式:
通過下述公式對細胞狀態(tài)的更新:
最后, 確定輸出值. 首先, 確定細胞狀態(tài)中的輸出部分. 然后, 我們把細胞狀態(tài)輸入tanh 與s 形網絡層的輸出值相乘, 實現(xiàn)輸出.
輸出門狀態(tài)更新公式如下:
對于LSTM 來說, 只能學習數(shù)據(jù)對之前數(shù)據(jù)的依賴性, 無法充分考慮對之后數(shù)據(jù)的依賴性[15]. 在面對數(shù)據(jù)缺失問題時, 需要結合數(shù)據(jù)缺失前后數(shù)據(jù)來共同決定當前缺失數(shù)據(jù)補充. 圖3 為BiLSTM 模型圖.
BiLSTM 可以通過雙向計算, 不僅能考慮到缺失數(shù)據(jù)之前的監(jiān)測數(shù)據(jù)記錄, 還能捕捉到后續(xù)監(jiān)測數(shù)據(jù).將前向LSTM 模型和后向LSTM 模型構成BiLSTM模型來學習雙向監(jiān)測數(shù)據(jù)信息.
本文采用聚類中的適用于少量特征、少量點位的凝聚層次聚類法(以下簡稱為層次聚類法)對沒有預先處理的微子站點位監(jiān)測數(shù)據(jù)進行分類[16–19]. 如圖4 所示, 每個樣本先自成一類, 然后按距離準則逐步合并,減少類數(shù). 首先, 將微子站分為n類(每個微子站為一類), 計算類間距離, 將類間距最為接近的兩類合并為一類, 循環(huán)計算n–1 類之間的間距, 不斷合并各個微子站, 直到所有類都完成歸類, 聚類結束[20]. 聚類分析根據(jù)類間距離的計算方法不同, 層次聚類法也不同. 本文采用最為常用的最小距離法計算類間距離.
圖4 BiLSTM 神經網絡結構圖
最小距離公式:
其中,D(Xm,Xn)為M類中的某個樣本Xm和N類中的某個樣本Xn之間的歐式距離.
歐式距離公式:
層次聚類法示意圖如圖5 所示.
圖5 層次聚類示意圖
為驗證本文提出的基于BiLSTM 改進的聚類算法的效果, 本實驗數(shù)據(jù)集來源為沈陽市渾南區(qū)18 個微子站2020 年1 月–2021 年8 月的SO2、NO2、O3、PM10、PM2.5、CO 六種大氣污染物的日均監(jiān)測數(shù)據(jù), 表1 為其中某月各站點6 種污染物日均監(jiān)測數(shù)據(jù).
表1 主要污染物濃度監(jiān)測日均值 (μg/m3)
實驗中選取的18 個監(jiān)測站點位置如圖6 所示.
圖6 監(jiān)測站點位置
部分原始數(shù)據(jù)如圖7 所示, 在圖7 中橫軸代表的是部分月份各站點的CO 日均值原始數(shù)據(jù)組數(shù), 縱軸代表的是CO 原始數(shù)據(jù)的濃度值. 從圖上可以看出部分原始數(shù)據(jù)存在缺失的情況. 因此, 在使用此數(shù)據(jù)集進行模型訓練和驗證之前需要對原始數(shù)據(jù)進行數(shù)據(jù)預處理, 補充缺失數(shù)據(jù).
圖7 CO 原始數(shù)據(jù)
同時, 數(shù)據(jù)的標準化處理是數(shù)據(jù)處理過程中的至關重要的一環(huán), 將原始觀測數(shù)據(jù)矩陣中的每類元素, 按照某種特定的運算把它變?yōu)橐粋€新值, 使其更具有可比性. 因此, 在聚類分析之前, 對數(shù)據(jù)進行預處理, 將原始數(shù)據(jù)映射到(0, 1)之間, 即均勻化原始數(shù)據(jù)公式如下:
本文實驗所采用的硬件配置為: Intel(R) Core(TM)i5-1035G1 CPU@1.0 GHz 的處理器, 內存DDR4 (16 GB);軟件環(huán)境為: 編輯器PyCharm 2019.3.2, Python 3.7,PyTorch 1.5.
實驗過程如圖5 所示, 首先, 對數(shù)據(jù)進行標準化、歸一化處理. 由于原始監(jiān)測數(shù)據(jù)存在缺失, 因此, 對序列缺失處, 補上日期索引并特殊值標記該時間步, 之后,Masking 層接收經過預處理后的序列, 為后續(xù)BiLSTM層過濾掉標記為缺失的時間步, 為保證監(jiān)測數(shù)據(jù)季節(jié)完整性以及客觀地展示本文方法的補全效果, 將2020年1–12 月的數(shù)據(jù)作為訓練集, 2021 年1–4 月的數(shù)據(jù)作為驗證集, 輸入上述的BiLSTM 網絡模型中, 開始訓練, 設置誤差平方和E=0.001; 學習率 η=0.01. 經過589 次迭代訓練網絡達到要求. 最后, 將2021 年5–8 月的數(shù)據(jù)隨機選取300 個監(jiān)測數(shù)據(jù), 刪除其真實值作為缺失數(shù)據(jù), 并將處理后數(shù)據(jù)作為測試樣本輸入已訓練好的網絡中進行估計, 得到缺失數(shù)據(jù)的估計值. 圖8 為部分缺失數(shù)據(jù)估計值與真實值的誤差曲線圖, 可以看出BiLSTM 神經網絡模型結果與實測值變化趨勢基本一致, 由此可得出該神經網絡模型訓練結果良好.
圖8 監(jiān)測數(shù)據(jù)補充值與真實值對比
為了更好地驗證BiLSTM 神經網絡模型的監(jiān)測數(shù)據(jù)插補方法的效果, 本文將提出的數(shù)據(jù)缺失補充模型與以往在空氣質量數(shù)據(jù)缺失情況下常用的均值補插法以及使用單向LSTM 神經網絡進行對比. 為了評價模型描述實驗數(shù)據(jù)的精確度與反映補充值誤差的實際情況, 本文采用計算簡便的均方根誤差(RMSE) 與具有更強魯棒性的絕對平均誤差(MAE)來共同分析補充結果和真實測量值之間的偏差. 表2 是3 種模型關于部分站點數(shù)據(jù)補充結果的評價指標的對比, 一般來說當預測值與真實值之間的偏差越小, 也就是說MAE和RMSE 的值越小, 模型的補充效果越好.
表2 不同模型下缺失數(shù)據(jù)填補實驗結果對比
由以上分析可以得出本文提出的模型在空氣質量數(shù)據(jù)缺失的補充效果表現(xiàn)更優(yōu). 進而在此基礎上, 基于補充數(shù)據(jù)進行聚類分析, 從18 個采樣點中可選出1、2、3、5、6、8、9、10、13、14 共10 個優(yōu)化點, 如圖9 所示.
圖9 填補數(shù)據(jù)層次聚類結果圖
為驗證算法選取的優(yōu)化點位準確度, 對比單獨使用原始數(shù)據(jù)進行層次聚類法選取的優(yōu)化結果, 如圖10所示, 發(fā)現(xiàn)與單獨使用聚類分析法選擇的1、2、4、3、13、16、8、5、6、10、14、17 等12 個點位基本保持一致.
圖10 原始數(shù)據(jù)層次聚類結果圖
本文通過相關性檢驗, 推斷點位優(yōu)化前后點位的可靠性, 通過選取沈陽市渾南區(qū)2021 年4–8 月6 種主要污染物濃度日均實測值進行相關性檢驗, 判斷優(yōu)選后的微子站能否客觀地反映空氣質量.
相關系數(shù)公式:
其中,Xi,Yi指優(yōu)化前后污染物濃度值.
在給定α=0.05 時, 相關性表如表3.
表3 各污染物相關性系數(shù)表
根據(jù)表1 所示的相關性檢驗, 表明原點位與優(yōu)化后點位的各污染物濃度密切相關, 無明顯差異性.
為進一步驗證優(yōu)化前后監(jiān)測數(shù)據(jù)的一致性, 選取部分監(jiān)測數(shù)據(jù)采用方差齊性檢驗-F 檢驗法, 對優(yōu)化前后數(shù)據(jù)的顯著性差異進行檢驗. 在顯著性差異不明顯的前提下, 繼續(xù)進行t檢驗, 確定兩組數(shù)據(jù)是否具有一致性. 結果如表4 所示, 可以得出優(yōu)化前后各污染物濃度之間具有一致性. 由此表明優(yōu)化點位具有較好的代表性, 點位選擇較為準確, 表明優(yōu)化后的點位可以替代原點位.
表4 一致性檢驗結果
聚類屬于無監(jiān)督學習中的一種, 原始數(shù)據(jù)不具有標簽, 需要一些定量的指標來進行評估算法的好壞[19,21].根據(jù)是否提供樣本的標簽信息, 相關的指標可以分為外部方法與內部方法, 內部方法指的是不需要數(shù)據(jù)的標簽, 僅僅從聚類效果本身出發(fā), 而制定的一些指標[16].因為點位優(yōu)化屬于無標簽數(shù)據(jù), 故選擇內部方法的2 種評價指標:CH指數(shù)(Calinski-Harabaz index,CH)、戴維森堡丁指數(shù)(Davies-Bouldin index,DBI)作為評價標準, 對基于補充數(shù)據(jù)后數(shù)據(jù)集與基于原始數(shù)據(jù)集的聚類效果進行評價.
CH指數(shù), 綜合考慮了簇間距離和簇內距離, 計算公式如下:
CH的數(shù)值大小與簇內距離成負相關, 簇間距離越大, 聚類效果越好.
戴維森堡丁指數(shù), 公式如下:
其中, avg(C)表示聚類簇的緊密程度, 公式如下:
計算該聚類簇內樣本點的距離,d表示不同聚類簇中心點之間的距離, 公式如下:
聚類簇間距離越遠, 聚類簇內距離越近,DBI指數(shù)越小, 聚類算法性能越好.
BiLSTM 神經網絡填補監(jiān)測數(shù)據(jù)與原始數(shù)據(jù)兩種狀態(tài)下, 進行層次聚類后, 聚類效果評價指標對比如表5所示, 可以看出相比較于對原始數(shù)據(jù)進行聚類操作, 本文所采用的基于BiLSTM 改進的聚類算法聚類效果有所提升.
表5 評價指標對比
根據(jù)BiLSTM 神經網絡補充數(shù)據(jù)的改進聚類算法從18 個監(jiān)測點位中選出了10 個監(jiān)測點位, 與在原始數(shù)據(jù)上使用層次聚類法選出的12 個點位基本保持一致, 對比單獨使用聚類算法選出的12 個監(jiān)測點位. 此模型選擇的點位更少, 并且聚類效果更好, 選擇的點位代表性與準確性均得到提升, 為之后監(jiān)測點位布設與優(yōu)化提供一個更加高效準確的模型. 由表3 的計算結果可以推斷本文提出的方法選擇的點位是準確且具有代表性的.
本文針對空氣質量監(jiān)測點位優(yōu)化的最終目的, 通過層次聚類法對BiLSTM 神經網絡補充后的微子站監(jiān)測數(shù)據(jù)進行聚類處理, 在選擇更加少量點位的基礎上,提高了點位選擇準確度, 提出了一種基于BiLSTM 神經網絡改進聚類的點位優(yōu)化算法.