摘要:隨著數據挖掘技術的研究與開發,數據挖掘技術目前主要應用于智能商務領域,在石化領域中如何展開數據挖掘開發應用還有待研究。基于Oracle Data Mining(ODB)數據挖掘工具,結合實例介紹了在石化企業中應用數據挖掘的系統方法和基本過程。
關鍵詞:數據挖掘;Oracle Data Mining(ODB)
Abstract: With the development of data mining technology, data mining technology is mainly used in the area of Business Intelligence. Applying the data mining technology into the petrochemical enterprise is still a problem needed to be solved. By taking some examples in Oracle Data Mining, the paper introduces its applications and directions in the petrochemical enterprise.
Key words: Data mining; Oracle Data Mining(ODB)
1 引言
隨著信息技術的飛速發展,一般的石化企業的信息化系統也都逐漸建立起來。信息數據不斷龐大,但是這些信息只是存儲在電腦中,不能形成具有實際價值的信息。因此,如何從有效的信息中挖掘出對于企業發展具有指導價值的信息就成為數據挖掘應用所要進行研究的主要方向。特別是在故障診斷當中,根據對各個監控點的歷史狀態數據進行提取、整理和轉換之后,有效地進行挖掘就可以產生出對生產中故障診斷和排除具有指導意義的知識。本文將基于Oracle公司的數據挖掘產品,介紹其基本體系結構以及利用Oracle 的Oracle Data Mining開發數據挖掘應用系統的基本方法和過程,并且以某石油企業的決策支持系統的開發為背景提供一個開發實例。
2 Oracle Data Mining體系結構和開發工具
2.1 數據挖掘介紹
數據挖掘(Data Mining)是近年來隨著人工智能和數據庫技術的發展而出現的一門新興技術。它是多學科綜合的產物,歷史雖然較短,但從20世紀90年代以來,它的發展速度非常迅速。數據挖掘能從龐雜的信息中提取有用的數據,通過公正客觀的統計分析,快速而且正確地得知企業經營信息,找出企業運行模式,準確掌握未來的經營動態。可以把數據挖掘定義為:一個利用各種分析工具在海量數據中發現模型和數據之間關系的過程,這些模型和關系可以被企業用來分析風險、進行預測。
2.2 Oracle DataMining體系結構
Oracle DataMining數據挖掘模塊在Oracle9i中是一個可選模塊,是以Oracle9i關系型數據庫為基礎并且集成在Oracle9i中的數據挖掘開發工具。具有針對Oracle關系表以指定的挖掘模式進行數據挖掘的功能。Oracle DataMining體系結構如圖1所示。
圖1 Oracle DataMining軟件系統體系結構圖
Oracle9i DataMining API是Oracle9i DataMining(ODM)的一個組成部分,它允許用戶通過使用Java程序代碼調用來進行軟件開發。ODM API針對標準Java數據挖掘(JDM)提出的概念與方法進行開發設計。JDM符合Sun Microsystem的Java通訊處理過程作為Java請求規范(JSR-73)。
數據挖掘服務器(DMS)是集成在Oracle9i數據庫中的數據挖掘服務器功能模塊,因此可以與RDBMS的實用性和適應性相結合。DMS同時還提供一個原數據(metadata)庫,其中包括了挖掘的輸入和挖掘結果,以及這些數據存取的名字空間。
通過對DMS的設定,可以根據用戶的需要提供不同的挖掘模式,如聚類分析、分類、關聯規則分析、屬性權重模型分析等。同時也可以對各種挖掘模式所使用的算法進行定義,如在聚類分析中可以使用O-cluster、K-means算法。
3 開發實例
在本開發實例中,數據挖掘模塊是作為某石油天然氣公司決策支持系統中的一個模塊,主要應用于生產設備的生產預警和故障分析診斷,因此在開發中主要使用了ODM中的關聯規則分析和聚類分析挖掘模式。在此主要說明關聯規則部分的開發過程。
石化企業的生產過程是一個流程,因此同一生產設備中的元件之間和不同的生產設備的元件之間都會產生相互的影響。關聯規則可以通過對不同的元件的狀態數據進行挖掘,發現出不同元件之間的相互影響的關系,從而對設備的故障預警和診斷提出指導意義的信息。
本例中數據挖掘的過程是以B/S模式進行開發的,使用Jsp與JavaBean相結合的技術開發web應用。通過使用Jsp技術與JavaBean對ODM API進行調用,實現邏輯層和表示層。在Jsp頁面中設定數據挖掘的參數,如數據提取的路徑、數據挖掘模式及所需的算法、挖掘設定閥值等;根據所設定的參數,通過JavaBean在Oracle關系型數據庫中產生挖掘所需的關系表,并通過JavaBean訪問ODM API進行挖掘運算,同時使用JavaBean提取出挖掘結果結合Jsp頁面技術進行表示。整個數據挖掘體系結構如圖2所示。
圖2 Oracle DataMining開發體系
數據挖掘模塊的開發過程主要分為以下幾個部分。
3.1 數據提取
在開發數據挖掘模塊之前,客戶方已經實施了一套infoplus實時數據庫系統對生產設備的監控點的狀態進行監控并把記錄保存在數據庫中,因此在開發數據挖掘模塊的時候根據需要通過該軟件提供的JDBC-ODBC接口從實時數據庫的歷史記錄中提取出所需的數據。
3.2 數據清理
存在不完整的、含噪聲的和不一致的數據是大型的、現實世界數據庫或者數據倉庫的共同特點。數據清理過程就是通過填寫空缺的值,平滑噪聲數據,識別、刪除孤立點,并解決不一致的數據。
在本開發實例中主要是針對從實時數據庫中提取出的數據進行清理,刪除可能是人為因素引起的設備的狀態不一致的數據。在開發的過程中,根據測控點的形態的不同采取不同的清理方法。針對數字量點(如電磁閥門的開關狀態)根據該點的記錄狀態是否可用來進行過濾。針對模擬量(如溫度儀表測控數據),對樣本數據的分布狀態進行分析,根據樣本數據的分布狀態以置信度為95%的置信區間進行分析,計算出最大值σmax和最小值σmin,并且根據樣本數據點之間的增量(或者遞減)關系計算出最大的增量斜率的絕對值kmax。從而根據σmax、σmin和kmax對提取出的數據進行比較,過濾掉噪聲點和孤立點。
3.3 數據轉換
數據轉換是將數據轉換成適合于機器挖掘的格式。Oracle Data Mining關聯規則模塊所采用的算法是傳統的Apriori算法,是對Oracle關系數據庫中一張二進制表進行處理,在其中尋找出頻繁項集,并最終產生出滿足設定的閥值的強關聯規則。因此,在數據轉換的過程中,根據所取控制點數據與該點的極限值(最大值σmax、最小值σmin和最大的增量斜率的絕對值kmax)進行比較,從而以二進制數據顯示出該點在該時刻所處的狀態,并把所有的經過處理、轉換的控制點數據存儲在Oracle關系表中。
3.4 數據挖掘
在應用ODM的過程中,首先根據已經進行的工作并對挖掘所需的模式、算法、數據規格等進行定義構建數據挖掘模型。
(1) 連接數據挖掘服務器(DMS)。
(2) 對輸入的數據進行描述,主要是針對輸入數據的組織形式和規格進行描述。
(3) 對使用的數據挖掘模型和算法進行定義,用戶可以通過Jsp頁面與JavaBean連接ODM API,對相關的參數進行設定,如最小支持度、最小置信度以及最大關聯長度等。
(4) 構建數據挖掘模型。
在模型構建完成之后即可以把模型提交給數據挖掘服務器進行處理。在數據挖掘服務器進行處理的過程中,可以通過調用數據挖掘任務模塊來顯示當前DMS所處狀態。在DMS處理完成之后會顯示Success狀態。
此時,可以通過操作ODM API對運算出的結果進行提取,并以HTML的格式顯示在頁面中。同時可以針對客戶感興趣的挖掘結果進行存取,如圖3所示。
圖3 數據挖掘結果
4 結語
隨著信息技術的發展,企業得到海量信息的能力已經越來越強,但對信息的分析、理解以及再利用的能力卻沒有實質提高。通過使用數據挖掘可以在海量的信息中獲取潛在的知識,為企業處理海量信息,建立有效的決策支持系統提供了一種快捷的方法。本文基于Oracle Data Mining工具對石化企業中的數據挖掘應用進行了介紹,從而挖掘出對實際生產形成指導意義的信息。
參考文獻:
[1] Tom M.Mitchell著,曾華軍譯. 機器學習[M].北京:機械工業出版社, 2003.
[2] Jiawei Han, Micheline Kamber. 數據挖掘:概念與技術[M]. 機械工業出版社, 2001,8.
[3] Kevin Loneyd等. Oracle9i 參考手冊[M]. 機械工業出版社, 2003,7.
[4] W.H.Inmon. 數據倉庫[M]. 機械工業出版社,2000,5.
[5] 林杰斌,劉明德,陳湘.數據挖掘與OLAP理論與實務[M]. 清華大學出版社,2003,1.
[6] Oracle9i Data Mining Data Sheet, August 2001, http://otn.oracle.com.
[7] Oracle9i Data Mining Technical White Paper, December 2001, http://otn.oracle.com.
[8] Oracle9i Data Mining Concepts, Release 2(9.2), March 2002, http://otn.oracle.com.