1. 引言
隨著計算機系統的廣泛應用,社會各領域都積累了大量的過程數據。這些數據中蘊藏著許多以前不為人所知的規律,可以為企業帶來巨大的財富。過去由于技術方面的限制,很難處理這些海量數據,人們面對一座金山卻無從下手。直到上個世紀末,計算技術的發展終于將來自多領域的技術整合在一起,形成了數據挖掘技術(或者說知識發現)。概括地講,數據挖掘可以看作是一個從大量數據中提取出可信的、新穎的、有效的、具有潛在價值的并能被人理解的模式的非平凡的處理過程[1]。各行各業通過數據挖掘獲取了對自己極具價值的知識,提升了企業的價值和競爭力。
同樣在冶金工業中也年復一年的積累著各種數據,從每一爐鋼到每一塊板坯到每一個鋼卷,各級計算機系統可以把這些數據完整地收集起來。但是收集數據本身并不是目的,從“信息化帶動工業化”的角度來看,更重要的是把這些數據利用起來,利用數據中蘊藏的知識來指導生產,形成企業的核心競爭力。
另一方面,在冶金工業的運營過程中還有許多問題需要解決,例如全流程的質量控制和供應鏈管理等。由于它們固有的多變量和非線性特點,用傳統的局部優化的方法很難達到企業級的最優。現在通過把分散在各個生產過程的實際生產數據按主題組織成數據倉庫,在此基礎上展開數據挖掘工作和獲取知識,利用獲取的知識可以比過去更好地解決這些問題。
本文以下部分詳細討論了冶金制造管理中的數據挖掘方法論、數據挖掘的工具軟件以及數據挖掘在寶鋼的應用,最后給出了我們從實際工作中得到的經驗和體會。
2. SEMMAO方法論
數據挖掘的誕生有著很濃郁的實際應用背景。針對特殊的應用領域,需要有專門的數據挖掘方法論來指導具體的工作。可以說數據挖掘的方法論就是數據挖掘的元知識,它為從數據到知識提供了一條可行的路徑。
一般認為,數據挖掘的流程可以分為3大步驟:數據準備、數據挖掘(狹義)、結果解釋(圖1)數據準備為數據挖掘提供合適的數據,而數據挖掘則利用一系列算法從中抽取出數據模式或模型,之后領域專家要對此模式或模型做出解釋,將其上升為知識以指導業務。
圖1 數據挖掘流程
針對冶金工業這一特殊的應用領域,本文采用了一套稱為SEMMAO數據挖掘方法論。具體地說,就是遵循采樣(S)、探索(E)、修正(M)、建模(M)、評價(A)、優化(O)的方法論,一步一步地從數據中獲取知識(圖2)。它是從寶鋼數據挖掘實踐中提取出來的、行之有效的指導思想。以下就SEMMAO方法論中的每一個步驟作詳細地說明。
圖2 SEMMAO方法論
作為數據挖掘的數據源,應該是按主題組織的數據倉庫(企業級)或數據集市(部門級)[2]。通過對數據的有效組織,可以提高數據的挖掘效率。特別要指出的是數據挖掘應該建立在數據倉庫而非數據庫之上,這是因為兩者的定位不同。一般說來,數據庫管理系統軟件(DBMS)是用于創建操作性的數據庫和在線事務處理系統(OLTP),它所關注的是數據庫設計范式(即數據的規范化和關鍵字的設定)、性能(建立索引)、數據的完整性和一直性,(數據提交、回滾和恢復)以及對數據庫系統和在線事務處理系統的管理。相反,對統計分析、數據挖掘和在線分析處理(OLAP)而言,需要的是一個非規范化的數據結構,于是需要把數據庫重組為數據倉庫。
采樣就是根據一定的規則從大樣本集中抽取規模較小的樣本子集,可以分為隨機采樣和非隨機采樣。采樣的主要目的是減少后續步驟處理的數據量,有時也可以起到改善數據分布的作用。
觀察是指對數據進行一些可視化的探索,讓分析人員對數據的分布特征做到心中有數,為后續的挖掘工作帶來一些有益的提示。
調整是對各種令人不滿意的數據進行處理,使其滿足建模算法的要求和精度要求。調整的方法很多,具體的有缺失值處理、奇異值處理、矛盾值處理、標準化和變量變換等。
建模是以一種數學模型的方式來表達隱含在數據中的知識。大體上模型可以分為有監督和無監督兩大類。有監督的模型是指目標變量已經被賦予一定的值,通過訓練要建立一種從輸入變量到目標變量的映射,使其在一定的誤差準則意義下達到最優。這樣的模型可以用于分類和預報的目的。無監督的模型則是在缺少目標變量的信息的情況下,僅利用輸入變量自身的信息把樣本劃分成為若干個類,從而達到抽取信息的目的。
評價步驟是對模型的結果進行誤差分析。如果模型被證明是可以接受的,就可以被認為是一種知識,可以用于以后的預報和優化。
優化步驟是用挖掘出的知識來解決實際問題,諸如“如何調整某些輸入變量的值來得到輸出變量的目標值”。在一般的商業性數據挖掘中并不包含這一步,它們一般做到評價就結束了,把進一步的使用扔給用戶。但是在我們的實際應用中,發現模型的理解和使用也很重要,所以在數據挖掘的方法論中增加了這一步。優化的方法包括聚類調優、遺傳尋優等。
經歷了以上的步驟,來源于實際數據中的知識應用于生產,生產過程又不斷產生新的數據。通過不斷的循環往復,形成一個有效提升制造生產能力的閉環。
3. 數據挖掘工具軟件
“工欲善其事,必先利其器”。選擇好的數據挖掘工具軟件,能夠極大地提高數據挖掘的效率,使業務人員有更多的精力關注自身的業務,而非數據挖掘的技術細節。
在當今國際上有很多數據挖掘的商業軟件[3]。它們一般都將注意力集中在數據挖掘的算法上,而對數據準備階段的工作提供的支持不足。究其原因我們認為數據準備工作與源數據的特性、格式等都有著很強的聯系,在實踐中由于其處理的靈活性,很難將這些工作抽象出來,用一種放之四海皆準的方法去解決。但其實質是,數據準備階段的工作既煩瑣又重要,它的工作量一般要占到整個數據挖掘工作量的80%,這一部分工作將在很大程度上影響整個數據挖掘的效率。
本文將介紹兩個數據挖掘工具軟件,一個是我們自己研發的基于SAS的實用數據挖掘系統(Practical Miner,以下簡稱PM),另一個是美國SAS公司出品的SAS Enterprise Miner®(以下簡稱SAS/EM®)。這兩個產品已經在我們的實際應用中證明了它們的可用性。
實用數據挖掘系統是在SEMMAO方法論的指導下,由寶鋼技術中心自動化研究所自主開發的數據挖掘工具軟件。它定位于一種簡潔實用的數據挖掘工具,就象一臺傻瓜相機,按下一個按鈕就可以完成全部工作。PM基于基本的SAS平臺,目前發布的版本號為2.0(圖3)。選擇SAS而非通常的開發平臺作為開發和運行的環境是因為SAS是公認的最好的統計軟件且應用廣泛,可以大大加快我們的開發進度。PM功能全面,覆蓋了從數據預處理到數據呈現的整個數據挖掘過程。此外,PM為用戶提供了友好的界面,即使對數據挖掘技術不熟悉的人員,在它的中文幫助系統指導下,也可以方便地使用。
PM的主要功能包括:
(1)數據收集:根據用戶的設定條件,選取分析用數據,并提供SAS數據格式與其它數據格式之間的接口;
(2)數據采樣:抽取數據集市中的典型樣本;
(3)數據預處理:對數據進行規范性檢查、變量降維、數據變換、異常點處理、矛盾點處理;
(4)可視化探索:提供直觀的數據分析功能;
(5)聚類分析:提供常用的聚類方法,可以自動決定類數;
(6)數據建模:提供人工神經網絡、模糊系統、線性回歸等建模工具,可以優化模型結構;
(7)數據預測:根據已建立的模型,對數據進行批量預報;
(8)優化設計:通過定性或定量的方法,對于給定的目標,調整影響量,使目標達到最優;
(9)趨勢分析:研究變量隨時間變化的趨勢;
(10)規范管理:設置規范數據庫。