江蘇省生態(tài)環(huán)境監(jiān)控中心(江蘇省環(huán)境信息中心) 江蘇 南京 210000
長久以來,由于政府機構(gòu)內(nèi)管理機制的客觀原因,一直存在多部門、多行業(yè)在流域開展水環(huán)境監(jiān)測或相關(guān)調(diào)查、監(jiān)測的事實,以行業(yè)需求為目的監(jiān)測的水環(huán)境數(shù)據(jù)分散在各個行業(yè)部門,數(shù)據(jù)沒有集約化共同分析利用。而且涉水的水利、環(huán)保、氣象等部門之間存在信息壁壘,造成數(shù)據(jù)共享障礙、綜合決策能力低下等問題。此類現(xiàn)象長期以來阻礙了水環(huán)境監(jiān)測數(shù)據(jù)的綜合分析利用,難以讓政府部門及時了解流域、區(qū)域的水環(huán)境質(zhì)量從而及時制定或調(diào)整整治措施,影響了各地流域水污染環(huán)境治理工作的推進。
因此,實現(xiàn)各涉水部門(橫向)和各級環(huán)保部門(縱向)之間的數(shù)據(jù)傳輸與交換,需要建立相應(yīng)的數(shù)據(jù)傳輸交換平臺,各行業(yè)各業(yè)務(wù)流程的異構(gòu)數(shù)據(jù)在該交換平臺上進行數(shù)據(jù)轉(zhuǎn)換后,統(tǒng)一傳輸?shù)街行臄?shù)據(jù)庫中進行管理,然后根據(jù)具體業(yè)務(wù)需求交換到對應(yīng)的業(yè)務(wù)部門數(shù)據(jù)庫中,最終實現(xiàn)水環(huán)境監(jiān)測信息的交換、集成和共享,數(shù)據(jù)資源有效合并,最大限度地發(fā)揮各路水環(huán)境監(jiān)測信息資源的潛在價值。
水環(huán)境數(shù)據(jù)的清洗和交換技術(shù)是建立數(shù)據(jù)交換平臺實現(xiàn)數(shù)據(jù)傳輸與交換的一項重要技術(shù)手段。對數(shù)據(jù)進行數(shù)據(jù)清洗,一方面可以減少數(shù)據(jù)收集、存儲中存在的錯誤數(shù)據(jù)和空缺數(shù)據(jù),提高數(shù)據(jù)質(zhì)量;另一方面通過對數(shù)據(jù)多維度清洗方法進行研究,全面地對數(shù)據(jù)進行清洗,便于后面對數(shù)據(jù)進行決策性分析和數(shù)據(jù)挖掘等。
近十年,國外數(shù)據(jù)清洗技術(shù)發(fā)展很快,但國內(nèi)專業(yè)進行數(shù)據(jù)清洗的軟件幾乎沒有。
水環(huán)境相關(guān)的信息系統(tǒng)涉及斷面水質(zhì)監(jiān)測、水質(zhì)自動站監(jiān)測、重點污染源自動監(jiān)控、藍藻水華監(jiān)測預(yù)警、污染源普查、排污權(quán)交易、氣象監(jiān)測等多個系統(tǒng),種類繁雜。這些系統(tǒng)從技術(shù)路線、網(wǎng)絡(luò)結(jié)構(gòu)、部署方式、數(shù)據(jù)格式、編碼體系等各個方面均有很大的差別,數(shù)據(jù)分散在不同的業(yè)務(wù)部門,在物理上和邏輯上都是相對獨立的,數(shù)據(jù)結(jié)構(gòu)差異很大,難以直接交換,形成了“信息孤島”或“應(yīng)用孤島”。
這種環(huán)境信息的多方面管理局面導(dǎo)致政府和公眾獲取到的信息較為混亂,給上層決策帶來干擾,不利于政府管理和服務(wù)以及政務(wù)公開服務(wù)成效,也影響了對環(huán)境信息綜合集成分析和決策支持功能深化應(yīng)用[1]。
在數(shù)據(jù)清洗中,數(shù)據(jù)挖掘算法一般無法直接處理不完整的數(shù)據(jù)集,因此,處理此問題通常的最簡單方法是刪除,即直接刪除有缺失值的數(shù)據(jù)。但是,這種方法僅適用于非常小的丟失率,如5%。丟失率非常大的時候,比如20%,僅僅使用原始數(shù)據(jù)集的剩余80%(包含其余的完整數(shù)據(jù))可能無法完全反映收集的數(shù)據(jù)集所涵蓋的現(xiàn)實問題,最大程度上會影響到挖掘結(jié)果。因此衍生了一個更好的解決方案,即缺失值插補法。缺失值估算可大致分為統(tǒng)計學(xué)和機器學(xué)習(xí)技術(shù),統(tǒng)計學(xué)通?;诰?模式和回歸,而近十年已經(jīng)采用了機器學(xué)習(xí)技術(shù)。因為有時,更復(fù)雜的算法雖然可以產(chǎn)生更好的插補結(jié)果,但通常需要更高的計算成本,這是混合機器學(xué)習(xí)技術(shù)與單機學(xué)習(xí)技術(shù)相關(guān)的考慮因素。大多數(shù)的機器學(xué)習(xí)技術(shù)通常比許多統(tǒng)計技術(shù)在計算上更昂貴,成本更高,因為它們需要模型訓(xùn)練和構(gòu)造的過程。
(1)數(shù)據(jù)清洗的概念
數(shù)據(jù)清洗是對數(shù)據(jù)進行重新審査和校驗的過程,目的在于刪除重復(fù)信息、糾正存在的錯誤,并提供數(shù)據(jù)一致性。通俗來說就是把“臟”的數(shù)據(jù)“洗掉”,指發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識別錯誤的最后一道程序,包括檢査數(shù)據(jù)一致性、處理異常值和缺失值等。由于數(shù)據(jù)庫內(nèi)的數(shù)據(jù)是面向某一主題的數(shù)據(jù)的集合,而這些數(shù)據(jù)來自于多個業(yè)務(wù)系統(tǒng)且包含有歷史信息,有的數(shù)據(jù)是錯誤數(shù)據(jù),有的數(shù)據(jù)相互之間有沖突,這樣的情況很難避免,這些錯誤的或有沖突的數(shù)據(jù)顯然是不需要的,稱之為“臟數(shù)據(jù)”。我們要按照一定的規(guī)則把“臟數(shù)據(jù)”“洗掉”,這就是數(shù)據(jù)清洗。數(shù)據(jù)清洗的任務(wù)就是過濾掉不符合要求的數(shù)據(jù),將過濾后的數(shù)據(jù)交給業(yè)務(wù)主管部門,確認是否過濾掉還是由業(yè)務(wù)單位修正之后再進行抽取。不符合要求的數(shù)據(jù)主要是有不完整的數(shù)據(jù)、錯誤的數(shù)據(jù)、重復(fù)的數(shù)據(jù)三類[2]。
(2) 數(shù)據(jù)清洗的模型、流程
由于數(shù)據(jù)中出現(xiàn)了數(shù)值的錯誤,例如由于人工錄入出錯、傳感器失靈等產(chǎn)生了不合法值、空值等問題的臟數(shù)據(jù),釆用數(shù)據(jù)清洗策略/規(guī)則如數(shù)據(jù)統(tǒng)計、數(shù)據(jù)挖掘等方法對臟數(shù)據(jù)進行異常檢驗和空缺值填補,使數(shù)據(jù)達到滿足數(shù)據(jù)質(zhì)量要求的數(shù)據(jù),為后面進行數(shù)據(jù)挖掘和決策性分析提供干凈的數(shù)據(jù)。一般情況下,數(shù)據(jù)清洗的流程包含:①數(shù)據(jù)分析:數(shù)據(jù)清洗的基礎(chǔ)是首先要進行數(shù)據(jù)分析,通過分析可以檢測并歸納出數(shù)據(jù)集中存在的錯誤問題種類。②數(shù)據(jù)清洗轉(zhuǎn)換規(guī)則:根據(jù)數(shù)據(jù)分析結(jié)果以及“臟數(shù)據(jù)”的產(chǎn)生和特點,制定清洗“臟數(shù)據(jù)”的清洗算法規(guī)則。③驗證:主要是驗證數(shù)據(jù)清洗轉(zhuǎn)換規(guī)則是否正確,假如不符合數(shù)據(jù)清洗的質(zhì)量要求,就要改進清洗規(guī)則或調(diào)整模型參數(shù),直到形成滿足數(shù)據(jù)清洗任務(wù)要求的清洗規(guī)則和模型。④清洗工作流:對數(shù)據(jù)源中的數(shù)據(jù)樣本執(zhí)行數(shù)據(jù)清洗轉(zhuǎn)換規(guī)則。⑤干凈數(shù)據(jù)回流:數(shù)據(jù)清洗完成以后,將清洗干凈的數(shù)據(jù)替換掉原始數(shù)據(jù)源中的“臟數(shù)據(jù)”。
(3)數(shù)據(jù)清洗的規(guī)則
1)缺失值清洗。缺失值清洗處理有很多方法,一般按照以下四個步驟進行:①確定缺失值范圍:對每個字段都計算其缺失值比例,然后按照缺失比例和字段重要性,分別制定策略。②去除不需要的字段:清洗每一步均備份,或者在小規(guī)模數(shù)據(jù)上試驗成功再處理全量數(shù)據(jù),可以避免刪除錯誤。③填充缺失內(nèi)容:某些缺失值可以進行填充,方法有以下三種:a.以行業(yè)經(jīng)驗或相關(guān)知識推測并填充缺失值;b.以同一指標的計算結(jié)果(均值、中位數(shù)、眾數(shù)等)填充缺失值;c.以不同指標的計算結(jié)果填充缺失值。④重新取數(shù):假如某些指標非常重要而缺失率又很高,那就需要和取數(shù)人員或相關(guān)業(yè)務(wù)人員了解,是否有其他渠道可以取到相關(guān)數(shù)據(jù)。
2)格式內(nèi)容清洗。假如數(shù)據(jù)來源于系統(tǒng)日志,通常格式和內(nèi)容方面會與元數(shù)據(jù)的描述一致。而如果數(shù)據(jù)是來自于人工收集或用戶填寫,則很可能在格式和內(nèi)容上存在一些問題。大多數(shù)情況,格式內(nèi)容問題有以下幾種類型:①時間、日期、數(shù)值、全半角等顯示格式不一致。此類問題一般與輸入端有關(guān),在整合多來源數(shù)據(jù)時常常會遇到,將其處理成一致的格式即可。②內(nèi)容中有不該存在的字符。某些內(nèi)容可能只包括一部分字符,比如身份證號是數(shù)字+字母,中國人姓名是漢字(趙C這種情況還是少數(shù))。最典型的情況就是頭、尾、中間的空格,有時也會出現(xiàn)姓名中存在數(shù)字符號、身份證號碼中出現(xiàn)漢字等等問題。以上這類情況,需要以半自動校驗半人工校驗的方式找出問題,去除不需要的字符。③內(nèi)容與該字段類型不符。例如監(jiān)測日期寫了水質(zhì)因子監(jiān)測值,斷面名稱寫成了上報單位名稱等,都屬于這種問題。可是此類問題的特殊在于:不能以簡單的刪除來解決,因為造成該類問題的原因可能是人工填寫有誤,也可能是前端缺乏校驗,還可能是導(dǎo)入數(shù)據(jù)時部分或全部列沒有對齊,因此要針對性地詳細識別問題類型。
3)邏輯錯誤清洗。這部分工作是去除根據(jù)簡單邏輯推理即可直接發(fā)現(xiàn)問題的數(shù)據(jù),防止分析結(jié)果走偏。主要包含以下幾個步驟:①去重。建議把去重放在格式內(nèi)容清洗之后,如果數(shù)據(jù)不加以清洗,多個空格可能會導(dǎo)致工具認為“陳丹奕”和“陳 丹奕”不是一個人,導(dǎo)致去重失敗。②去除不合理值。即去除邏輯上不符合常理的數(shù)據(jù),如河流斷面位于浙江省內(nèi),上報方卻為江蘇某市,這種明顯不符合正常情況的數(shù)據(jù)就要么刪掉,要么按缺失值處理。③前后矛盾內(nèi)容修正。有些字段是可以互相驗證的,例如:目標河流是III類水質(zhì),監(jiān)測結(jié)果達標標準卻是IV類水質(zhì)標準,這時候,要根據(jù)字段的數(shù)據(jù)來源判定哪個字段提供的信息更為可靠,去除或重構(gòu)不可靠的字段。
4)非需求數(shù)據(jù)清洗。刪除字段的方法看起來簡單,實際操作起來可能會產(chǎn)生很多問題,例如:①把看上去不需要但實際上對業(yè)務(wù)很重要的字段刪了;②某個字段覺得有用,但暫時還不知道怎么用,不確定是否該刪;③一時失誤刪錯字段。
針對前兩種情況,如果數(shù)據(jù)量沒有大到不刪字段就沒辦法處理的程度,那么能不刪的字段盡量不刪。第③個情況,要做好數(shù)據(jù)的備份工作。
5)關(guān)聯(lián)性驗證。如果數(shù)據(jù)有多個來源,那么有必要進行關(guān)聯(lián)性驗證。例如,有河流的名稱信息,也有該河流上斷面的名稱信息,兩者具有相關(guān)性,那么要看一下,斷面是不是屬于該河流的,如果不是,那么需要調(diào)整或去除數(shù)據(jù)。
(1)數(shù)據(jù)交換的概念。數(shù)據(jù)交換指在多個數(shù)據(jù)終端設(shè)備(DTE)之間,為任意兩個終端設(shè)備建立數(shù)據(jù)通信臨時互連通路的過程。
(2) 數(shù)據(jù)交換的流程。應(yīng)用系統(tǒng)通過數(shù)據(jù)共享與交換平臺提供的接口接入應(yīng)用系統(tǒng)所在中心的數(shù)據(jù)共享與交換平臺,實現(xiàn)和其他應(yīng)用系統(tǒng)的數(shù)據(jù)交換。一個完整的數(shù)據(jù)收發(fā)流程如圖所示:
圖2-1 數(shù)據(jù)收發(fā)流程圖
(3) 數(shù)據(jù)交換的節(jié)點與方式
1)交換節(jié)點。水環(huán)境管理系統(tǒng)數(shù)據(jù)共享與交換涉及省市各級水利、水文部門等,每個節(jié)點均配備1臺數(shù)據(jù)共享與交換服務(wù)器,實現(xiàn)與其他數(shù)據(jù)節(jié)點的數(shù)據(jù)交換與服務(wù)。
數(shù)據(jù)共享與交換平臺為各個應(yīng)用系統(tǒng)提供標準的API調(diào)用,不同節(jié)點上的數(shù)據(jù)共享與交換平臺間通過消息中間件實現(xiàn)數(shù)據(jù)交換。
數(shù)據(jù)共享與交換平臺需要交換的數(shù)據(jù)包括水位、流量、水質(zhì)、工情、氣象和預(yù)警等信息。
2) 交換的方式。交換的方式有文件到數(shù)據(jù)庫、數(shù)據(jù)庫到文件、文件到文件、數(shù)據(jù)庫到數(shù)據(jù)庫等多種方式,對于各類數(shù)據(jù)的交換,數(shù)據(jù)共享與交換平臺應(yīng)為相應(yīng)的數(shù)據(jù)采集或應(yīng)用系統(tǒng)提供統(tǒng)一的調(diào)用接口,保證所有數(shù)據(jù)都能交換到數(shù)據(jù)中心。
為保證數(shù)據(jù)交換的安全,數(shù)據(jù)共享與交換平臺需要支持多層次的安全及權(quán)限管理,如基于數(shù)字證書的安全連接認證;支持DES、3DES、RC4等加密算法;提供應(yīng)用程序認證機制等。通過管理工具進行簡單的配置,無須編碼可以實現(xiàn)對關(guān)鍵業(yè)務(wù)數(shù)據(jù)的多層次的安全保護及用戶權(quán)限管理[3]。
本文重點解決了多源異構(gòu)水環(huán)境數(shù)據(jù)共享交換中的數(shù)據(jù)清洗和交換的方式問題,根據(jù)數(shù)據(jù)特點分析了數(shù)據(jù)交換的節(jié)點和方式,設(shè)計了數(shù)據(jù)清洗和交換的流程。通過數(shù)據(jù)交換共享,有助于各級主管部門及時完整獲取水環(huán)境數(shù)據(jù),提高監(jiān)管效率。