1 數據倉庫(DW)
1.1 數據倉庫定義
數據倉庫之父Bill Inmon在1991年出版的“Building the Data Warehouse”一書中所提出的定義被廣泛接受:數據倉庫(Data Warehouse)是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用于支持管理決策(Decision Making Support)。
對于數據倉庫的概念我們可以從兩個層次予以理解,首先,數據倉庫用于支持決策,面向分析型數據處理,它不同于企業現有的操作型數據庫;其次,數據倉庫是對多個異構的數據源有效集成,集成后按照主題進行了重組,并包含歷史數據,而且存放在數據倉庫中的數據一般不再修改。
1.2 數據倉庫特點
1、面向主題。操作型數據庫的數據組織面向事務處理任務,各個業務系統之間各自分離,而數據倉庫中的數據是按照一定的主題域進行組織。主題是一個抽象的概念,是指用戶使用數據倉庫進行決策時所關心的重點方面,一個主題通常與多個操作型信息系統相關。
2、集成的。面向事務處理的操作型數據庫通常與某些特定的應用相關,數據庫之間相互獨立,并且往往是異構的。而數據倉庫中的數據是在對原有分散的數據庫數據抽取、清理的基礎上經過系統加工、匯總和整理得到的,必須消除源數據中的不一致性,以保證數據倉庫內的信息是關于整個企業的一致的全局信息。
3、相對穩定的。操作型數據庫中的數據通常實時更新,數據根據需要及時發生變化。數據倉庫的數據主要供企業決策分析之用,所涉及的數據操作主要是數據查詢,一旦某個數據進入數據倉庫以后,一般情況下將被長期保留,也就是數據倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的加載、刷新。
4、反映歷史變化。操作型數據庫主要關心當前某一個時間段內的數據,而數據倉庫中的數據通常包含歷史信息,系統記錄了企業從過去某一時點(如開始應用數據倉庫的時點)到目前的各個階段的信息,通過這些信息,可以對企業的發展歷程和未來趨勢做出定量分析和預測。
企業數據倉庫的建設,是以現有企業業務系統和大量業務數據的積累為基礎。數據倉庫不是靜態的概念,只有把信息及時交給需要這些信息的使用者,供他們做出改善其業務經營的決策,信息才能發揮作用,信息才有意義。而把信息加以整理歸納和重組,并及時提供給相應的管理決策人員,是數據倉庫的根本任務。因此,從產業界的角度看,數據倉庫建設是一個工程,也是一個過程。
1.3 數據倉庫體系結構:
一般來說,大公司或企業內存在著各種各樣的信息系統,這些應用驅動的操作型信息系統為企業不同的業務系統服務,具有不同接口和不同的數據表示方法,互相孤立。利用數據倉庫技術可以動態地將各個異構系統中的數據抽取集成到一起,進行清洗、轉換等處理之后加載到數據倉庫中,通過周期性的刷新,為用戶提供一個統一的干凈的數據視圖,為數據分析提供一個高質量的數據源。整個數據倉庫系統是一個包含四個層次的體系結構,具體由圖1表示。
圖1 數據倉庫系統架構圖
數據源:是數據倉庫系統的基礎,是整個系統的數據源泉。通常包括企業內部信息和外部信息。內部信息包括存放于RDBMS中的各種業務處理數據和各類文檔數據。外部信息包括各類法律法規、市場信息和競爭對手的信息等等;
數據的存儲與管理:是整個數據倉庫系統的核心。數據倉庫的真正關鍵是數據的存儲和管理。數據倉庫的組織管理方式決定了它有別于傳統數據庫,同時也決定了其對外部數據的表現形式。要決定采用什么產品和技術來建立數據倉庫的核心,則需要從數據倉庫的技術特點著手分析。針對現有各業務系統的數據,進行抽取、清理,并有效集成,按照主題進行組織。數據倉庫按照數據的覆蓋范圍可以分為企業級數據倉庫和部門級數據倉庫(通常稱為“數據集市”)。
OLAP服務器:對分析需要的數據進行有效集成,按多維模型予以組織,以便進行多角度、多層次的分析,并發現趨勢。其具體實現可以分為:ROLAP、MOLAP和HOLAP。ROLAP基本數據和聚合數據均存放在RDBMS之中;MOLAP基本數據和聚合數據均存放于多維數據庫中;HOLAP基本數據存放于RDBMS之中,聚合數據存放于多維數據庫中。
前端工具:主要包括各種報表工具、查詢工具、數據分析工具、數據挖掘工具以及各種基于數據倉庫或數據集市的應用丌發工具。其中數據分析工具主要針對OLAP服務器,報表工具、數據挖掘工具主要針對數據倉庫。
數據倉庫不會是一個完善的提供戰略信息的軟件或者硬件產品,而是一個用戶可以從中找到戰略信息的計算環境。在這個環境中,用戶可以通過與數據的直接接觸來做出更好的決策。它是一個以用戶為中心的環境。
1.4 數據倉庫的功能
一般來說,大公司或企業內存在著各種各樣的信息系統,這些應用驅動的操作型信息系統為企業不同的業務系統服務,具有不同接口和不同的數據表示方法,互相孤立。利用數據倉庫技術可以動態地將各個異構系統中的數據抽取集成到一起,進行清洗、轉換等處理之后加載到數據倉庫中,通過周期性的刷新,為用戶提供一個統一的干凈的數據視圖,為數據分析提供一個高質量的數據源。就其在商業智能過程中的作用而言,數據倉庫具有以下功能:
1、數據建模;2、數據抽取;3、數據轉換;4、數據裝載;5、數據清洗檢驗;6、查詢和報表;7、OLAP;8、內部的中間件;9、自身的管理維護。
2 聯機分析處理(OLAP)
2.1 聯機分析處理(OLAP)定義
對于數據倉庫中的數據,可以使用一些增強的查詢和報表工具進行復雜的查詢和即時的報表制作,可以利用OLAP技術從多種角度對業務數據進行多方面的匯總統計計算,還可以利用數據挖掘技術自動發現其中隱含的有用信息。
聯機分析處理(OLAP)最早由Arbor軟件公司的E.F.Codd于1993年提出,他在《為分析型用戶提供OLAP工具:信息技術的新需求》首次區分了面向事務處理的OLTP系統和面向分析處理的OLAP系統,并為OLAP確定了諸如多維概念視圖、透明性、存取能力等12條規則。這些規則可概括為業務應用和技術應用這兩類。其中多維概念視圖,以多角度觀察數據的方式方便了業務類用戶帶著解決問題的假設以及自己解決問題的邏輯推理的思維過程,也就是說,OLAP分析提供了用戶在演繹型思考中前提、邏輯兩個步驟中所需的幫助,因此它有助于提高用戶分析結果的準確性。可見,OLAP分析工具是綜合分析層次的工具之一。
2.2 OLTP和OLAP的比較
當今的數據處理大致可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關系型數據庫的主要應用,主要是基本的、日常的事務處理。OLAP是數據倉庫系統的主要應用,支持復雜的分析操作,側重決策支持,并且提供直觀易懂的查詢結果。圖2列出了OLTP與OLAP之間的比較。
圖2 OLTP與OLAP的比較
OLAP是使分析人員、管理人員或執行人員能夠從多角度對信息進行快速、一致、交互地存取,從而獲得對數據的更深入了解的一類軟件技術。OLAP的目標是滿足決策支持或者滿足在多維環境下特定的查詢和報表需求,它的技術核心是“維”這個概念。
“維”是人們觀察客觀世界的角度,是一種高層次的類型劃分。“維”一般包含著層次關系,這種層次關系有時會相當復雜。通過把一個實體的多項重要的屬性定義為多個維(dimension),使用戶能對不同維上的數據進行比較。因此OLAP也可以說是多維數據分析工具的集合。
OLAP分析中要理解變量、維、維層次、維的取值、維的分類等主要術語。變量指從現實系統中抽象出來用于描述數據的實際含義:維是與某一事件相關的因素在關系模型的抽象。如客戶打電話,含客戶、時間、地點、業務提供商、業務類型等這些與客戶打電話相關聯緊密的內容;維的層次性是人們觀察數據細致程度不同造成的,即數據的綜合程度不同導致不同的維層次,如時間維中以年、以月、以日為單位即形成了不同的維層次。它的目的滿足業務類用戶思考問題時逐層深入的需求:維的取值,也稱為維的成員;維的分類是對維取值的劃分。目的是為了在不同的類別間進行比較。如銷售可分為暢銷、不暢銷、平銷,移動業務類型可以分為通話、短信、游戲等。一個實際的系統中,維分類和維層次常常同時存在。事實是指不同維度在某一取值下的交叉點,它是對事件的度量。例如,××公司電視機4月份銷售800臺。其中800臺是事實。一般來說數量和金額常作為事實。
2.3 聯機分析處理(OLAP)的基本多維分析操作
OLAP的一個重要特點是主要通過多維的交互式方式對數據進行分析,這與數據倉庫的多維數據組織正好形成相互結合、相互補充的關系。這些基本多維分析操作包括切片(切塊)、鉆取、旋轉等,便于用戶從不同維度查詢和分析有關數據。
(1)切片和切塊
通過切片、切塊功能,用戶可以對數據進行過濾,專注于某一方面的問題,例如,用戶通過拖拽的方式很容易的得到諸如“××地區2008年的銷售情況”這樣的數據。
(2)鉆取
鉆取包含向下鉆取和向上鉆取操作,鉆取的深度與維所劃分的層次相對應。向下鉆取是通過對某一行匯總數據進行細分來分析數據。例如,用戶分析“各地區、城市的銷售情況”時,可以對某一個城市的銷售額細分為各個年度的銷售額,對某一年度的銷售額,可以繼續細分為各個季度的銷售額。通過鉆取的功能,使用戶對數據能更深入了解,更容易發現問題,做出正確的決策。
向上鉆取是指自動生成匯總行的分析方法。通過向導的方式,用戶可以定義分析因素的匯總行,例如對于各地區各年度的銷售情況,可以生成地區與年度的合計行,也可以生成地區或者年度的合計行。
(3)旋轉
旋轉,也稱數據轉軸,就是改變維度的位置關系,如將行與列互換,或者將某一個行維移動到列維中。為了方便用戶更直觀的查看分析數據,應該支持數據的旋轉功能,可從不同的視角來查看數據。對于一些數據,通過旋轉功能,看起來可以更加直觀,例如時間序列分析中,各地區各年度的增長量情況,把年份作為旋轉維度,則同一地區不同年度的數據以及增長量將在一行顯示,看起來更容易理解。
OLAP分析中的多維分析充分體現為用戶對某一個事實以多種角度展開分析。比如××公司電視機4月份銷售800臺,若以負責××地區的銷售經理這一業務類角色來分析,他可以從時間維(如每日)、地區維(××地區的各個區縣、各個區縣的各個銷售點)、品牌維(不同品牌、規格的電視機)、銷售人員維(不同點上的銷售員)等等維度以切片方式分別來分析,也可以綜合起來作切塊比較,也可以通鉆取方式進行深入分析。
目前,常見的OLAP主要有基于多維數據庫的MOLAP及基于關系數據庫的ROLAP。在數據倉庫應用中,聯機分析處理應用一般是數據倉庫應用的前端工具,同時,聯機分析處理工具還可以同數據挖掘工具、統計分析工具配合使用,增強決策分析功能。
3 數據挖掘(DM)
3.1 數據挖掘定義
進入二十一世紀以來,隨著科學技術飛速的發展,經濟和社會都取得了極大的進步,與此同時,在各個領域產生了大量的數據,如人類對太空的探索,銀行每天的巨額交易數掘。顯然在這些數據中豐富的信息,如何處理這些數據得到有益的信息,人們進行了有益的探索。計算機技術的迅速發展使得處理數據成為可能,這就推動了數據庫技術的極大發展,但是面對不斷增加如潮水般的數據,人們不再滿足于數據庫的查詢功能,提出了深層次問題:能不能從數據中提取信息或者知識為決策服務。就數據庫技術而言已經顯得無能為力了,同樣,傳統的統計技術也面臨了極大的挑戰。這就急需有新的方法來處理這些海量般的數據。于是,人們結合統計學、數據庫、機器學習等技術,提出數據挖掘來解決這一難題。
數據挖掘的歷史雖然較短,但從20世紀90年代以來,它的發展速度很快,加之它是多學科綜合的產物,目前還沒有一個完整的定義,人們提出了多種數據挖掘的定義,例如:SAS研究所(1997):“在大量相關數據基礎之上進行數據探索和建立相關模型的先進方法”。Hand et al(2000):“數據挖掘就是在大型數據庫中尋找有意義、有價值信息的過程”確切地說,數據挖掘(Data Mining),又稱數據庫中的知識發現(Knowledge Discovery in Database,KDD),是指從大型數據庫或數據倉庫中提取隱含的、未知的、非平凡的及有潛在應用價值的信息或模式,它是數據庫研究中的一個很有應用價值的新領域,融合了數據庫、人工智能、機器學習、統計學等多個領域的理論和技術。
3.2 數據挖掘的主要功能
數據挖掘綜合了各個學科技術,有很多的功能,當前的主要功能如下:
1、數據總結:繼承于數據分析中的統計分析。數據總結目的是對數據進行濃縮,給出它的緊湊描述。傳統統計方法如求和值、平均值、方差值等都是有效方法。另外還可以用直方圖、餅狀圖等圖形方式表示這些值。廣義上講,多維分析也可以歸入這一類。
2、分類:目的是構造一個分類函數或分類模型(也常常稱作分類器),該模型能把數據庫中的數據項映射到給定類別中的某一個。要構造分類器,需要有一個訓練樣本數據集作為輸入。訓練集由一組數據庫記錄或元組構成,每個元組是一個由有關字段(又稱屬性或特征)值組成的特征向量,此外,訓練樣本還有一個類別標記。一個具體樣本的形式可表示為:(v1,v2,...,vn;c),其中vi表示字段值,c表示類別。
例如:銀行部門根據以前的數據將客戶分成了不同的類別,現在就可以根據這些來區分新申請貸款的客戶,以采取相應的貸款方案。
3、聚類:是把整個數據庫分成不同的群組。它的目的是使群與群之間差別很明顯,而同一個群之間的數據盡量相似。這種方法通常用于客戶細分。在開始細分之前不知道要把用戶分成幾類,因此通過聚類分析可以找出客戶特性相似的群體,如客戶消費特性相似或年齡特性相似等。在此基礎上可以制定一些針對不同客戶群體的營銷方案。
例如:將申請人分為高度風險申請者,中度風險申請者,低度風險申請者。
4、關聯分析:是尋找數據庫中值的相關性。兩種常用的技術是關聯規則和序列模式。關聯規則是尋找在同一個事件中出現的不同項的相關性;序列模式與此類似,尋找的是事件之間時間上的相關性,例如:今天銀行利率的調整,明天股市的變化。
5、預測:把握分析對象發展的規律,對未來的趨勢做出預見。例如:對未來經濟發展的判斷。
6、偏差的檢測:對分析對象的少數的、極端的特例的描述,揭示內在的原因。例如:在銀行的100萬筆交易中有500例的欺詐行為,銀行為了穩健經營,就要發現這500例的內在因素,減小以后經營的風險。
以上數據挖掘的各項功能不是獨立存在的,它們在數據挖掘中互相聯系,發揮作用。
3.3 數據挖掘的方法
作為一門處理數據的新興技術,數據挖掘有許多的新特征。首先,數據挖掘面對的是海量的數據,這也是數據挖掘產生的原因。其次,數據可能是不完全的、有噪聲的、隨機的,有復雜的數據結構,維數大。最后,數據挖掘是許多學科的交叉,運用了統計學,計算機,數學等學科的技術。以下是常見和應用最廣泛的算法和模型:
傳統統計方法:①抽樣技術:我們面對的是大量的數據,對所有的數據進行分析是不可能的也是沒有必要的,就要在理論的指導下進行合理的抽樣。②多元統計分析:因子分析,聚類分析等。③統計預測方法,如回歸分析,時間序列分析等。
可視化技術:用圖表等方式把數據特征用直觀地表述出來,如直方圖等,這其中運用的許多描述統計的方法。可視化技術面對的一個難題是高維數據的可視化。
決策樹:利用一系列規則劃分,建立樹狀圖,可用于分類和預測。常用的算法有CART、CHAID、ID3、C4.5、C5.0等。
神經網絡:模擬人的神經元功能,經過輸入層,隱藏層,輸出層等,對數據進行調整,計算,最后得到結果,用于分類和回歸。
遺傳算法:基于自然進化理論,模擬基因聯合、突變、選擇等過程的一種優化技術。
關聯規則挖掘算法:關聯規則是描述數據之間存在關系的規則,形式為“A1∧A2∧...An→B1∧B2∧...Bn”。一般分為兩個步驟:①求出大數據項集。②用大數據項集產生關聯規則。
除了上述的常用方法外,還有粗集方法,模糊集合方法,Bayesian Belief Netords,最鄰近算法(k-nearest neighbors method(KNN))等。
3.4 數據挖掘的實施流程
前面我們討論了數據挖掘的定義,功能和方法,現在關鍵的問題是如何實施,其一般的數據挖掘流程如下:
問題理解和提出→數據準備→數據整理→建立模型→評價和解釋
問題理解和提出:在開始數據挖掘之前最基礎的就是理解數據和實際的業務問題,在這個基礎之上提出問題,對目標有明確的定義。
數據準備:獲取原始的數據,并從中抽取一定數量的子集,建立數據挖掘庫,其中一個問題是如果企業原來的數據倉庫滿足數據挖掘的要求,就可以將數據倉庫作為數據挖掘庫。
數據整理:由于數據可能是不完全的、有噪聲的、隨機的,有復雜的數掘結構,就要對數據進行初步的整理,清洗不完全的數據,做初步的描述分析,選擇與數據挖掘有關的變量,或者轉變變量。
建立模型:根據數據挖掘的目標和數據的特征,選擇合適的模型。
評價和解釋:對數據挖掘的結果進行評價,選擇最優的模型,作出評價,運用于實際問題,并且要和專業知識結合對結果進行解釋。
以上的流程不是一次完成的,可能其中某些步驟或者全部要反復進行。
3.5 數據挖掘的應用現狀
數據挖掘所要處理的問題,就是在龐大的數據庫中找出有價值的隱藏事件,并且加以分析,獲取有意義的信息,歸納出有用的結構,作為企業進行決策的依據。其應用非常廣泛,只要該產業有分析價值與需求的數據庫,皆可利用數據挖掘(DM)技術進行有目的的發掘分析。常見的應用案例多發生在零售業、財務金融保險、制造業、通訊及醫療服務行業:
1、零售商從顧客購買商品中發現一定的關系,提供打折購物券等,提高銷售額;
2、保險公司通過數據挖掘建立預測模型,辨別出可能的欺詐行為,避免道德風險,減少成本,提高利潤;
3、在制造業中,半導體的生產和測試中都產生大量的數據,就必須對這些數據進行分析,找出存在的問題,提高質量;
4、電子商務的作用越來越大,可以用數據挖掘對網站進行分析,識別用戶的行為模式,保留客戶,提供個性化服務,優化網站設計。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/