BI—開啓商業智能之門前端 一個BI系統爲了知足企業管理者的要求,從浩如煙海的資料中找出其關心的數據,必需要作到如下幾步: |
圖 3 BI的體系架構 |
整個體系架構中包括:終端用戶查詢和報告工具、OLAP工具、數據挖掘(Data Mining)軟件、數據倉庫(Data Warehouse)和數據集市(Data Mart)產品、聯機分析處理 (OLAP) 等工具。 1)、終端用戶查詢和報告工具。 專門用來支持初級用戶的原始數據訪問,不包括適應於專業人士的成品報告生成工具。 2)、數據預處理(STL-數據抽取、轉換、裝載) 從許多來自不一樣的企業運做系統的數據中提取出有用的數據並進行清理,以保證數據的正確性,而後通過抽取(Extraction)、轉換(Transformation)和裝載(Load),即ETL過程,合併到一個企業級的數據倉庫裏,從而獲得企業數據的一個全局視圖。 3)、OLAP工具。 提供多維數據管理環境,其典型的應用是對商業問題的建模與商業數據分析。OLAP也被稱爲多維分析。 4)、數據挖掘(Data Mining)軟件。 使用諸如神經網絡、規則概括等技術,用來發現數據之間的關係,作出基於數據的推斷。 5)、數據倉庫(Data Warehouse)和數據集市(Data Mart)產品。 包括數據轉換、管理和存取等方面的預配置軟件,一般還包括一些業務模型,如財務分析模型。 6)、聯機分析處理 (OLAP) 。 OLAP是使分析人員、管理人員或執行人員可以從多角度對信息進行快速、一致、交互地存取,從而得到對數據的更深刻了解的一類軟件技術。 其中核心技術在於數據預處理、數據倉庫的創建(DW)、數據挖掘(DM)和聯機分析處理(OLAP)三個部分。接下來,咱們對這幾個核心部分進行詳細說明: 數據預處理: 當早期大型的在線事務處理系統(OLTP)問世後不久,就出現了一種用於「抽取」處理的簡單程序,其做用是搜索整個文件和數據庫,使用某些標準選擇合乎要求的數據,將其複製拷貝出來,用於整體分析。由於這樣作不會影響正在使用的在線事務處理系統,下降其性能,同時,用戶能夠自行控制抽取出來的數據。可是,如今狀況發生了巨大的變化,企業同時採用了多個在線事務處理系統,而這些系統之間的數據定義格式不盡相同,即便採用同一軟件廠商提供的不一樣軟件產品,或者僅僅是產品版本不一樣,之間的數據定義格式也有少量差距。由此,咱們必須先定義一個統一的數據格式,而後把各個來源的數據按新的統一的格式進行轉換,而後集中裝載入數據倉庫中。 其中,尤爲要注意的一點時,並非各個來源的不一樣格式的全部數據都能被新的統一格式包容,咱們也不該強求非要把全部數據源的數據所有集中起來。Why?緣由不少。有可能原來錄入的數據中,少許的記錄使用了錯誤的數據,這類數據若是沒法校訂,應該被捨去。某些數據記錄是非結構化的,很難將其轉化成新定義的統一格式,並且從中抽取信息必須讀取整個文件,效率極低,如大容量的二進制數據文件,多媒體文件等,這類數據若是對企業決策不大,能夠捨去。 目前已有一部分軟件廠商開發出專門的ETL工具,其中包括: Ardent DataStage Evolutionary Technologies,Inc. (ETI) Extract Information Powermart Sagent Solution SAS Institute Oracle Warehouse Builder MSSQL Server2000 DTS 數據倉庫: 數據倉庫概念是由號稱「數據倉庫之父」William H.Inmon在上世紀80年代中期撰寫的《創建數據倉庫》一書中首次提出,「數據倉庫是一個面向主題的、集成的、非易失性的,隨時間變化的用來支持管理人員決策的數據集合」。 面向主題是數據倉庫第一個顯著特色,就是指在數據倉庫中,數據按照不一樣的主題進行組織,每個主題中的數據都是從各操做數據庫中抽取出來聚集而成,這些與該主題相關的全部歷史數據就造成了相應的主題域。 數據倉庫的第二個顯著特色是集成。數據來源於不一樣的數據源,經過相應的規則進行一致性轉換,最終集成爲一體。 數據倉庫的第三個特色是非易失性。一旦數據被加載到數據倉庫中,數據的值不會再發生變化,儘管運行系統中對數據進行增、刪、改等操做,但對這些數據的操做將會做爲新的快照記錄到數據倉庫中,從而不會影響到已經進入到數據倉庫的數據。 數據倉庫最後一個特色是它隨時間變化。數據倉庫中每個數據都是在特定時間的記錄,每一個記錄都有着相應的時間戳。 |
圖 4 數據倉庫體系架構 |
數據倉庫對外部數據源和操做型數據源的元數據,按照數據倉庫模式設計要求進行歸類,並建成元數據庫,相對應的數據通過ETL後加載到數據倉庫中;當信息客戶須要查詢數據時先經過信息展示系統瞭解元數據或者直接瀏覽元數據庫,再發起數據查詢請求獲得所需數據。 一個典型的企業數據倉庫系統,一般包含數據源、數據存儲與管理、數據的訪問三個部分。 |
圖 5 數據倉庫系統 |
數據源:是指企業操做型數據庫中的各類生產運營數據、辦公管理數據等內部數據和一些調查數據、市場信息等來自外環境的數據總稱。這些數據是構建數據倉庫系統的基礎是整個系統的數據源泉。 數據的存儲與管理:數據倉庫的存儲主要由元數據的存儲及數據的存儲兩部分組成。元數據是關於數據的數據,其內容主要包括數據倉庫的數據字典、數據的定義、數據的抽取規則、數據的轉換規則、數據加載頻率等信息。各操做數據庫中的數據按照元數據庫中定義的規則,通過抽取、清理、轉換、集成,按照主題從新組織,依照相應的存儲結構進行存儲。也能夠面向應用創建一些數據集市,數據集市能夠看做是數據倉庫的一個子集,它含有較少的主題域且歷史時間更短數據量更少,通常只能爲某個局部範圍內的管理人員服務,所以也稱之爲部門級數據倉庫。 數據的訪問:由OLAP(聯機分析處理)、數據挖掘、統計報表、即席查詢等幾部分組成。例如OLAP:針對特定的分析主題,設計多種可能的觀察形式,設計相應的分析主題結構(即進行事實表和維表的設計),使管理決策人員在多維數據模型的基礎上進行快速、穩定和交互性的訪問,並進行各類複雜的分析和預測工做。按照存儲方式來分,OLAP能夠分紅MOLAP以及ROLAP等方式,MOLAP (Multi-Dimension OLAP)將OLAP分析所需的數據存放在多維數據庫中。分析主題的數據能夠造成一個或多個多維立方體。ROLAP (Relational OLAP)將OLAP分析所需的數據存放在關係型數據庫中。分析主題的數據以「事實表-維表」的星型模式組織。 數據挖掘: 數據挖掘的定義很是模糊,對它的定義取決於定義者的觀點和背景。以下是一些DM文獻中的定義: 數據挖掘是一個肯定數據中有效的,新的,可能有用的而且最終能被理解的模式的重要過程。 數據挖掘是一個從大型數據庫中提取之前未知的,可理解的,可執行的信息並用它來進行關鍵的商業決策的過程。 數據挖掘是用在知識發現過程,來辯識存在於數據中的未知關係和模式的一些方法。數據挖掘是發現數據中有益模式的過程。 數據挖掘是咱們爲那些未知的信息模式而研究大型數據集的一個決策支持過程。 雖然數據挖掘的這些定義有點不可觸摸,但在目前它已經成爲一種商業事業。如同在過去的歷次淘金熱中同樣,目標是`開發礦工`。利潤最大的是賣工具給礦工,而不是幹實際的開發。 目前業內已有不少成熟的數據挖掘方法論,爲實際應用提供了理想的指導模型。其中,標準化的主要有三個:CRISP-DM;PMML;OLE DB for DM。 CRISP-DM(Cross-Industry Standard Process for Data Mining)是目前公認的、較有影響的方法論之一。CRISP-DM強調,DM不單是數據的組織或者呈現,也不只是數據分析和統計建模,而是一個從理解業務需求、尋求解決方案到接受實踐檢驗的完整過程。CRISP-DM將整個挖掘過程分爲如下六個階段:商業理解(Business Understanding),數據理解(Data Understanding),數據準備(Data Preparation),建模(Modeling),評估(Evaluation)和發佈(Deployment)。其框架圖以下: |
圖 6 CRISP-DM模型框架圖 |
從技術層來看,數據挖掘技術可分爲描述型數據挖掘和預測型數據挖掘兩種。描述型數據挖掘包括數據總結、聚類及關聯分析等。預測型數據挖掘包括分類、迴歸及時間序列分析等。 一、數據總結:繼承於數據分析中的統計分析。數據總結目的是對數據進行濃縮,給出它的緊湊描述。傳通通計方法如求和值、平均值、方差值等都是有效方法。另外還能夠用直方圖、餅狀圖等圖形方式表示這些值。廣義上講,多維分析也能夠納入這一類。 二、聚類:是把整個數據庫分紅不一樣的羣組。它的目的是使羣與羣之間差異很明顯,而同一個羣之間的數據儘可能類似。這種方法一般用於客戶細分。在開始細分以前不知道要把用戶分紅幾類,所以經過聚類分析能夠找出客戶特性類似的羣體,如客戶消費特性類似或年齡特性類似等。在此基礎上能夠制定一些針對不一樣客戶羣體的營銷方案。 三、關聯分析:是尋找數據庫中值的相關性。兩種經常使用的技術是關聯規則和序列模式。關聯規則是尋找在同一個事件中出現的不一樣項的相關性;序列模式與此相似,尋找的是事件之間時間上的相關性,如對股票漲跌的分析等。 四、分類:目的是構造一個分類函數或分類模型(也經常稱做分類器),該模型能把數據庫中的數據項映射到給定類別中的某一個。要構造分類器,須要有一個訓練樣本數據集做爲輸入。訓練集由一組數據庫記錄或元組構成,每一個元組是一個由有關字段(又稱屬性或特徵)值組成的特徵向量,此外,訓練樣本還有一個類別標記。一個具體樣本的形式可表示爲:( v1, v2, ...,vn;c ),其中vi表示字段值,c表示類別。 五、迴歸:是經過具備已知值的變量來預測其它變量的值。通常狀況下,迴歸採用的是線性迴歸、非線性迴歸這樣的標準統計技術。通常同一個模型既可用於迴歸也可用於分類。常見的算法有邏輯迴歸、決策樹、神經網絡等。 六、時間序列:時間序列是用變量過去的值來預測將來的值。 數據挖掘(Data Mining)軟件。使用諸如神經網絡、規則概括等技術,用來發現數據之間的關係,作出基於數據的推斷。 |
圖 7 數據挖掘系統 |
如下是一些當前的數據挖掘產品: IBM: Intelligent Miner 智能礦工 Tandem: Relational Data Miner 關係數據礦工 AngossSoftware: KnowledgeSEEDER 知識搜索者 Thinking Machines Corporation: DarwinTM NeoVista Software: ASIC ISL Decision Systems,Inc.: Clementine DataMind Corporation: DataMind Data Cruncher Silicon Graphics: MineSet California Scientific Software: BrainMaker WizSoft Corporation: WizWhy Lockheed Corporation: Recon SAS Corporation: SAS Enterprise Miner 聯機分析處理(OLAP): |