李愛民,付文博
(1.山西水文水資源勘測局,山西 太原 030000;2.華中科技大學,湖北 武漢 430070)
數(shù)據(jù)挖掘(Date Mining,簡稱DM)是指利用統(tǒng)計學習方法、人工智能算法等分析海量數(shù)據(jù)中隱藏的數(shù)據(jù)關(guān)系,提煉出具有潛在價值的數(shù)據(jù)走向與結(jié)構(gòu)模式,并利用這些規(guī)則重建預(yù)測模型,提供決策支持的過程[1]。
1995年在加拿大召開的第一屆知識發(fā)現(xiàn)和數(shù)據(jù)挖掘國際學術(shù)會議上首次提出數(shù)據(jù)挖掘的概念[2],此后,數(shù)據(jù)挖掘作為信息獲取和知識發(fā)現(xiàn)過程中的重要步驟,受到極大的關(guān)注與重視,隨著互聯(lián)網(wǎng)的普及和信息時代的來臨,數(shù)據(jù)挖掘技術(shù)變得日趨成熟并逐漸流行,在各行各業(yè)應(yīng)用廣泛。胡文紅[3]等人利用數(shù)據(jù)挖掘技術(shù)中的分段聚合法結(jié)合最大特征點優(yōu)先匹配的動態(tài)時間彎曲距離算法對杭州市的歷史水位與降雨信息數(shù)據(jù)進行了成功驗證。范夢歌[4]等人則運用聚類分析對浙江118個具有20 a以上雨水情資料的流域進行了相似性研究。
數(shù)據(jù)挖掘的分析方法多種多樣,各有不同。按照其功能可以分為分類與回歸、聚類、關(guān)聯(lián)規(guī)則與時序模式這四種[5]。
分類和回歸是用來描述數(shù)據(jù)類別或預(yù)測數(shù)據(jù)趨勢的兩種重要的數(shù)據(jù)分析方法,分類(Classification)是將數(shù)據(jù)歸入預(yù)先定義好的群組或類中,而回歸則(Regression)是以歷史數(shù)據(jù)來預(yù)測數(shù)據(jù)未來的趨勢[6]。分類與回歸中常用的算法有:小波神經(jīng)網(wǎng)絡(luò)法、模糊神經(jīng)網(wǎng)絡(luò)法、徑向基函數(shù)法和反向傳播法[7];聚類分析(Cluster analysis)是依據(jù)數(shù)據(jù)屬性上的相似性,在未給定分組和類別的情況下進行信息自動聚集的一種方法,也稱為無指導學習,常用的聚類分析的方法有模糊C-均值聚類、神經(jīng)網(wǎng)絡(luò)聚類、層次聚類、K-means聚類、高斯聚類等[8-10]。
關(guān)聯(lián)分析(Association)的任務(wù)是發(fā)現(xiàn)事物間的相關(guān)程度,揭示在數(shù)據(jù)中間接表現(xiàn)出來的隱含關(guān)系,常用的兩種分析方法是關(guān)聯(lián)規(guī)則和序列模式分析[11],關(guān)聯(lián)規(guī)則主要是發(fā)現(xiàn)事物間的相互依賴性,而序列模式則是挖掘數(shù)據(jù)間的前因后果關(guān)系[12]。Apriori算法、灰色關(guān)聯(lián)法、HotSpot算法和FP-Tree算法是在關(guān)聯(lián)分析中常用的算法[13];時序模式包含兩種類型,一種是時間序列分析,另一種則是序列發(fā)現(xiàn),時序模式描述的是基于時間或其他序列的經(jīng)常發(fā)生的規(guī)律或趨勢。時間序列常用的模型有加法模型和乘法模型[14]。時序算法常用的有指數(shù)平滑法、移動平均法和灰色預(yù)測法等[15]。
數(shù)據(jù)挖掘的一般過程主要包括六個部分:①定義挖掘目標;②數(shù)據(jù)取樣;③數(shù)據(jù)預(yù)處理;④數(shù)據(jù)探索;⑤模型建立;⑥模型評估。其具體的流程如圖1所示。
圖1 數(shù)據(jù)挖掘過程示意圖
定義挖掘目標主要是明確兩個方面的問題:第一,弄清楚數(shù)據(jù)挖掘需要解決的問題;第二,數(shù)據(jù)挖掘完成后能夠達到的效果。數(shù)據(jù)取樣的標準是篩選出數(shù)據(jù)庫中最新的且相關(guān)性好、可靠性高的數(shù)據(jù)。數(shù)據(jù)的預(yù)處理包括三個部分的工作:一是篩選,過濾掉某些不符合期望的觀測值;二是變量轉(zhuǎn)換,對數(shù)據(jù)進行轉(zhuǎn)換操作以使數(shù)據(jù)和將要建立的模型擁有更好的擬合程度;三是缺失值處理,推導、填充空缺數(shù)據(jù)。數(shù)據(jù)探索是數(shù)據(jù)預(yù)處理的進階工作,主要是探究數(shù)據(jù)間的結(jié)構(gòu)關(guān)系與典型特征,為模型建立工作提供可靠的變量與算法選擇依據(jù),但數(shù)據(jù)探索與預(yù)處理也是一個雙向的工作過程,在數(shù)據(jù)探索的過程中,當發(fā)現(xiàn)數(shù)據(jù)量太少或者數(shù)據(jù)質(zhì)量不夠好,往往會返回到數(shù)據(jù)取樣階段重新選擇數(shù)據(jù)。在數(shù)據(jù)探索階段常常要進行對比分析、統(tǒng)計量分析、周期性分析與相關(guān)分析等[16]。
模型的建立是數(shù)據(jù)挖掘的核心,是對采樣數(shù)據(jù)軌跡的概括,它反映的是采樣數(shù)據(jù)內(nèi)部結(jié)構(gòu)的一般特征,往往需要根據(jù)數(shù)據(jù)的特征、挖掘經(jīng)驗來選擇合適的算法,進而選擇合適的模型。模型評估一般會首先使用原來建模的數(shù)據(jù)樣本進行檢驗,當獲得較好的效果時,再尋找一些實際可靠的新數(shù)據(jù)進行再次驗證,只有當兩次檢驗的結(jié)果都很好時,模型才是準確的。
山洪災(zāi)害預(yù)警決策支持系統(tǒng)作為“智慧水利”中的一部分,是山洪管理信息化支持的重要組成部分。山西省開發(fā)的多模型山洪災(zāi)害預(yù)警決策支持系統(tǒng)是在傳統(tǒng)的數(shù)據(jù)庫、知識庫和模型庫的決策支持系統(tǒng)基礎(chǔ)上,采用數(shù)據(jù)倉庫、數(shù)據(jù)挖掘以及專家系統(tǒng)的有關(guān)理論,構(gòu)建省內(nèi)統(tǒng)一的監(jiān)測預(yù)警平臺和數(shù)據(jù)共享平臺,然后借助平臺來獲取實時雨水情、實時監(jiān)測信息、山洪災(zāi)害分析評價成果、水利工程信息、預(yù)警(預(yù)報)模型、歷史雨水情、文檔資料、輿情信息等多種數(shù)據(jù),進行數(shù)據(jù)的取樣、預(yù)處理和探索,建立適合本地區(qū)的水文模型,最后集成多個模型來統(tǒng)一構(gòu)建的。
山西省山洪預(yù)警決策支持系統(tǒng)采用的是軟件架構(gòu)模式搭建系統(tǒng)的體系結(jié)構(gòu),根據(jù)系統(tǒng)的功能需求,并兼顧今后的業(yè)務(wù)擴展,系統(tǒng)采用多層體系架構(gòu),包括用戶層、應(yīng)用層、支撐層、數(shù)據(jù)層和基礎(chǔ)設(shè)施。系統(tǒng)體系結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)體系結(jié)構(gòu)圖
基礎(chǔ)設(shè)施層是整個系統(tǒng)的硬件基礎(chǔ),主要包括計算機資源、存儲服務(wù)器、網(wǎng)絡(luò)設(shè)備以及底層的監(jiān)測采集設(shè)備等;數(shù)據(jù)層則是整個系統(tǒng)構(gòu)架最重要的部分,數(shù)據(jù)庫的準確度直接影響到系統(tǒng)預(yù)測結(jié)果的可靠性。數(shù)據(jù)層集中組織和管理暴雨山洪災(zāi)害風險預(yù)警所需的各類數(shù)據(jù),包括空間數(shù)據(jù)、模型數(shù)據(jù)、水文數(shù)據(jù)、歷史洪災(zāi)統(tǒng)計數(shù)據(jù)、洪水風險圖數(shù)據(jù)等。應(yīng)用支撐平臺層包括地理信息系統(tǒng)平臺、數(shù)據(jù)挖掘管理平臺和支撐業(yè)務(wù)系統(tǒng)的各類引擎和中間件。應(yīng)用層是用戶使用應(yīng)用系統(tǒng)的接口,包括整個系統(tǒng)的使用方法。
山洪災(zāi)害預(yù)警預(yù)報系統(tǒng)是較復(fù)雜的大型應(yīng)用軟件,系統(tǒng)必須配備先進的技術(shù)解決方案才能適應(yīng)山西省水利信息化的發(fā)展。面向?qū)ο蠹夹g(shù)是當前軟件開發(fā)方法的主流,其核心思想是高度模仿人類思維,充分保證計算機程序領(lǐng)域的概念及結(jié)構(gòu)與現(xiàn)實問題領(lǐng)域保持一致,且基于面向?qū)ο蠹夹g(shù)的系統(tǒng)不僅能顯著提高系統(tǒng)的效率性與重用性,而且易于維護與擴展。山西省山洪災(zāi)害預(yù)警決策支持系統(tǒng)正是采用面向?qū)ο蠹夹g(shù)和設(shè)計模式,通過對系統(tǒng)中各種業(yè)務(wù)需求進行抽象設(shè)計,形成如下幾種滿足業(yè)務(wù)需要的類,如圖3所示。
圖3 系統(tǒng)類設(shè)計示意圖
山西省山洪預(yù)警決策支持系統(tǒng)主要由三部分組成:數(shù)據(jù)共享倉庫、網(wǎng)絡(luò)分布式模型的智能化開放式模型庫、基于WPF與GIS的動態(tài)生成交互平臺。
數(shù)據(jù)共享倉庫實質(zhì)上是經(jīng)過一系列數(shù)據(jù)清洗、融合、同化、變換、裝載處理后的高度統(tǒng)一的數(shù)據(jù)集合體。山西省山洪災(zāi)害數(shù)據(jù)共享倉庫體系結(jié)構(gòu)分為源數(shù)據(jù)、數(shù)據(jù)處理、數(shù)據(jù)倉庫3個層次:
(1)源數(shù)據(jù)層主要為數(shù)據(jù)倉庫提供源數(shù)據(jù),山洪災(zāi)害的源數(shù)據(jù)包括水文地質(zhì)、地形地質(zhì)、社會經(jīng)濟等方面的基礎(chǔ)資料和評價分析成果等。
(2)數(shù)據(jù)處理層主要是將數(shù)據(jù)倉庫所需的相關(guān)數(shù)據(jù),統(tǒng)一清洗、融合、同化、變換、裝載,再將這些數(shù)據(jù)返還存儲至數(shù)據(jù)共享倉庫中。
(3)數(shù)據(jù)共享倉庫主要包含兩大類數(shù)據(jù),一是實時共享數(shù)據(jù)倉庫,二是歷史數(shù)據(jù)倉庫,主要采取多維鏈表來儲存數(shù)據(jù)。
網(wǎng)絡(luò)分布式模型的智能化開放式模型庫主要是利用數(shù)據(jù)共享倉庫及數(shù)據(jù)訪問和分析層所提供的信息、模型、方法與規(guī)則,對山洪災(zāi)害進行預(yù)測預(yù)警管理。該模型庫包含專家知識庫、模型庫兩類。其中專家知識庫主要儲存洪水預(yù)警預(yù)報的常規(guī)理論和區(qū)域水文專家的經(jīng)驗,為后期系統(tǒng)預(yù)警決策提供足夠的理論支撐;模型庫則包括新安江模型、TOPMODEL模型、雙超模型等等多種模型?;赪PF與GIS的動態(tài)生成交互平臺則是結(jié)合二三維GIS與虛擬現(xiàn)實技術(shù),完善服務(wù)的發(fā)現(xiàn)、匹配、計劃、組合機制,研發(fā)以GIS服務(wù)器和算法模型服務(wù)群為核心的Web Services群,建立基于持續(xù)集成方法和面向服務(wù)體系的分布式松耦合研究基礎(chǔ)平臺,實現(xiàn)空間數(shù)據(jù)和算法結(jié)果數(shù)據(jù)的動態(tài)交互,提高各數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)內(nèi)聚性,增強異構(gòu)系統(tǒng)之間的松耦合性,保障系統(tǒng)安全性,獨立性與包容性。
山西省山洪災(zāi)害預(yù)警決策支持系統(tǒng)功能描述如下:
(1)基礎(chǔ)信息查詢。通過搜索可以查看到山西省100多個縣區(qū)的基本水文信息和不同典型流域的雨量站、水文站分布情況及基本流域信息。
(2)洪水預(yù)報功能。洪水作業(yè)預(yù)報,運用多模型對流域產(chǎn)匯流的模擬得出不同斷面在5種不同模型的預(yù)測下的徑流。起始時間、預(yù)測時間以及前沿時間可由用戶選擇,默認為已有資料的起始年和結(jié)束年。
(3)動態(tài)預(yù)警功能。本功能的實現(xiàn)主要是通過讀取8個不同流域的實時降雨數(shù)據(jù)庫,根據(jù)歷史資料計算出不同流域的1 h、2 h的臨界雨量判別函數(shù),以5種模型計算出實時降雨相對應(yīng)的實時土壤含水量對應(yīng)的1 h、2 h雨量依次進行判別是否預(yù)警。
(4)三維仿真演示。此功能借鑒GIS三維仿真的功能,包含土地利用、遙感影像、土壤質(zhì)地等圖層,以三維的視角生動的展示了流域的基本地理信息,動態(tài)的展示了流域洪水的流動淹沒情況,顯示了更加準確的洪水信息供用戶決策。
基于數(shù)據(jù)挖掘技術(shù)的山洪災(zāi)害預(yù)警決策支持系統(tǒng)的開發(fā),勢必會為山西省內(nèi)各鄉(xiāng)鎮(zhèn)級以及村級的山洪災(zāi)害防治工作提供全面、詳細的信息支撐,為山西省水情預(yù)報和暴雨山洪災(zāi)害防治,提供可視化的支撐平臺。其次,為數(shù)據(jù)挖掘技術(shù)系統(tǒng)的研制與開發(fā)開辟了一種高效實用的路徑。隨著數(shù)據(jù)挖掘在水利行業(yè)上的應(yīng)用擴展,數(shù)據(jù)的收集與系統(tǒng)性分類整理將會越來越規(guī)范,獲取的信息質(zhì)量也會越來越高,相信未來山洪災(zāi)害預(yù)警決策支持系統(tǒng)會更加成熟,預(yù)警結(jié)果會更加準確,各部分功能也會更加全面。
[1] 潘振宇. 數(shù)據(jù)挖掘技術(shù)與Weka工具在河道洪水預(yù)報中的應(yīng)用[D].成都:電子科技大學,2012.
[2] 張小娟, 蔣云鐘, 邢志,等. 數(shù)據(jù)挖掘方法在北京市用水規(guī)律分析中的應(yīng)用[J]. 中國水利, 2007(16):21-23.
[3] 胡文紅, 孫欣欣. 基于時間序列的數(shù)據(jù)挖掘技術(shù)在城市內(nèi)澇災(zāi)害中的應(yīng)用研究[J]. 科技通報, 2016, 32(6):229-231.
[4] 范夢歌, 劉九夫. 基于聚類分析的水文相似流域研究[J]. 水利水運工程學報, 2015(4):106-111.
[5] 鄭胤樂. 采用Web圖表展現(xiàn)的決策支持系統(tǒng)在服務(wù)外包平臺中的研究與應(yīng)用[D]. 南昌:南昌大學, 2010.
[6] 羅海蛟, 劉顯. 數(shù)據(jù)挖掘中分類算法的研究及其應(yīng)用[J]. 計算機技術(shù)與發(fā)展, 2003, 13(Z2):48-50.
[7] 陳敏. 基于BP神經(jīng)網(wǎng)絡(luò)的混沌時間序列預(yù)測模型研究[D]. 長沙:中南大學, 2007.
[8] 宋廣軍, 宋婉約. 數(shù)據(jù)挖掘技術(shù)在行業(yè)應(yīng)用中的分析與比較[J]. 科技風, 2012(19):97-98.
[9] 王廣. 基于改進差分進化的K均值聚類算法在入侵檢測中的研究[D]. 北京:北京化工大學, 2016.
[10] 陳敏. 基于BP神經(jīng)網(wǎng)絡(luò)的混沌時間序列預(yù)測模型研究[D]. 長沙:中南大學, 2007.
[11] 王呈慧. 數(shù)據(jù)挖掘的認識及應(yīng)用[J]. 山西青年職業(yè)學院學報, 2007, 20(4):106-107.
[12] 陳卓, 楊炳儒, 宋威,等. 序列模式挖掘綜述[J]. 計算機應(yīng)用研究, 2008, 25(7):1960-1963.
[13] 陳志飛, 馮鈞. 一種基于Apriori算法的優(yōu)化挖掘算法[J]. 計算機與現(xiàn)代化, 2016(9):1-5.
[14] 薛瀟. 基于數(shù)據(jù)挖掘的入侵檢測研究與應(yīng)用[D]. 無錫:江南大學, 2009.
[15] 彭麗. 數(shù)據(jù)挖掘中幾種劃分聚類算法的比較及改進[D]. 大連:大連理工大學, 2008.
[16] 張忠杰. 基于信息系統(tǒng)用戶服務(wù)感知評價的數(shù)據(jù)挖掘[D]. 青島:青島理工大學, 2014.