我的網誌清單

顯示具有 DATAMINING 標籤的文章。 顯示所有文章
顯示具有 DATAMINING 標籤的文章。 顯示所有文章

20111206

2-Data mining 執行流程

 

1.Data mining執行流程

CRISP-DM

CRISP-DM是由SPSS及NCR二家廠商在合作克萊斯勒車廠的DATA WAREHOUSE及DATA MINING過程中發展出的一個流程方法論

其分為定義商業問題/定義分析資料/資料預處理/建立模型/評估模型/應用模型

1.1 business understanding(定義商業問題)

主要是將重心放在透過對於商業問題的分析,來決定最佳的data mining分析框架,並將它轉換為符合需求的data mining flow.同時進一步定義出檢覈data mining專案成功與否的要件,以作為驗証資料的品質

1.2 data understnading(定義分析資料)

此階段主要是要開始蒐集可以用來分析的資料,運用基礎統計以提昇資料分析人員對於資料的熟悉度,同時利用驗証邏輯,以驗証資料的品質

1.3 data preparation(資料預處理)

此step目地是將原始資料加工產生最終分析資料表,也就是要feed進data mining系統的資料.這個step是最耗時間的,主要是要建立適合data mining的資料集

1.4 modeling(建模)

本階段會選擇適合的data mining技術以及設定最佳的參數,以達到最佳的預測結果.一般而言一個商業問題,可以同時使用不同的data mining技術,去做預測及分析

1.5 evaluation(評估)

預立預測modeling后,會再透過模型評估技術,來評估此data mining modeling能帶給我們哪些可預期效益.評估的標準並非是結果的準確度,而是不同模型中哪個模型可以帶給企業最大的效應

例如預測客戶流失,正確的預測哪些客戶會流失,並非data mining的主要目地,而是在預測到這些客戶會流失后,馬上進行相關挽回措施,這才是data mining的重點

1.6 deployment

建立modeling后,還必需將data mining model整合在整個企業的決策流程中,或是透過自動化的機制來進行預測應用,才可真正發揮data mining的功效,所以在這step中會再包含維護/傳承/再修正等步驟,回溯到前面的步驟形成良性的工作循環

例如探討客戶流失的議題,再決定資料及模型后,找出客戶流失的相關屬性或是其他關連,則此時公司政策就必需為這些事件,做一些商業決策,以降低客戶流失率

2. business understanding(定義商業問題)

data mining的重心在於如何從大量的資料中mining出knowledge以獲取商業利潤,因此整個data mining的核心必須環繞在商業問題上,而不似學術僅專注於演算法的推導與程式的撰寫

3. data understnading(定義分析資料)

定義分析資料這個step會包含幾個步驗,排除常識的樣本預區隔/time windows/訓練、鑑試測、試組

3.1 排除常識樣本

例如客戶流失模型分析中就應要排除合約未到期的user,因為未到期就不會流失,不能算入客戶流失模型的"未流失"中

3.2 time windows

預測prediction 是利用發生在之前的事件來預測發生在之后的事件,因此們可以將時間依照發生的順序分成三個部份,過去/現在/未來

過去又稱為樣本時間(sample windows),輸入變數所存在的時間

現在又稱為緩衝期,若在此區段的資料完全不用

未來又稱觀察期(performance windows),預測變數所存在的時間,即我們要花多久時間觀察到預測事件的發生

收集資料的時間愈長會愈準確,這是不一定的,因為如二年前的刷卡購物行為,會影响到未來一年的信用狀況嗎?大多捉的時間會在一年以內

3.3 training/validation/test

使用training資料建立預測模型,使用鑑效資料來避免模型對於訓練資料產生記憶效應,使用測試資料來選擇模型以及測量模型在預測未知資料的能力

訓練組和測試組可以選不同時期的資料,來規避模型受到季節性因素的影响

鑑識組及訓練組則是可以驗証經由訓練組推出的規則是否可以再現到鑑識組上,若可以此規則才可被保留

鑑識組及測試組雖說都來驗証模型推導出規則的再現性,但鑑識組重心是在衡量規則是否再現,以刪除巧合的規則,是在建模的過程中驗証,而測試組是在檢視模型效果以及效果是否隨時間變化,是在建模后驗証

3.4 稀有事件

data mining的本質就是透過模型從大量案例中搜尋出稀有事件,而這個稀有事件必定會讓企業賺很多或是賠很多,但是一般統計技術會把這些當作noise,而忽略這些資料的重要性

一般而言處理這方面的統計技術叫做error-sampling誤差抽樣,通常會有多抽少及少抽多二種,建議用多抽少,才不會在樣不數過少的情況下,導致這些少的樣本被重覆抽到

4. 資料預處理/建立模型/評估模型/應用模型

這幾個部分,因為議題較大后面將有專節說明

1-Data mining 概論

 

1.Data mining定義

Data mining是利用系統以及機械學習的演算法,啟發性地從大量資料中找尋隱藏具有商業價值的知識與規律,以作為商業策略之應用

同意名詞KDD(knowledge discovery in database)

2.規則的分類

Data mining是用來針對已存在的資料找尋有意義的規則,進而去預測未來的行為,因此我們可以將規則的型態區分為幾種模式=>分類/推估/群集化/同質分組/序列/描述

2.1 分類(classification)

Data mining的原型就是預測,可將預測的事物區分為二大類,第一類是不連續性事物(discrete variables;類別變數),這類的預測稱為分類(classification),第二類是連續性事物,這類的預測稱為推估(estimation)

2.2 推估(estimation)

因為推估是預測連續型事物的未來行為,所以相對於分類,僅提供有限的選項,而其提供的是依已知的連續性的屬性去推估未來的走向或是趨勢

2.3 群組(cluster)

依相似性,將相似的事物分群.其和分類最大的差異是分類是根據一個明確但還未發生的分類事實,但群集沒有分類準則,而是綜合各項屬性研判,將有相似狀況的事物聚在一齊;所以分類是對未知事實的預測,而群集則是找出事物相似性的內部結構

群集化亦可想成群集並沒有預測功能,只是協助我們理清資料的相似性來做區隔

群集化主要是拿來做巿場區隔

2.4 同質分組(affinity group)

同質分組就是從歷史資料中,找出哪些物件/事件總是一齊發生,我們亦可稱為關連規則(association rule)

最有名的例子就是尿布與啤酒

2.5 序列(sequential)

在關連規則中是找出哪些事物會一齊發生,而序列則是找出事物發生的順序性

序列最大的功能是協助我們找出顧客的消費週期

2.6 描述(description)

Data mining是透過演算法來找出潛在的規則,但人的觀察力是不可被取代的.在Data mining過程中除了分析的預測模型之外,很重要的是在分析與處理資料的過程中,透過資料視覺化以及觀察出許多有意義的規則

3. data mining的應用

Data mining的應用範圍其實已無所不在,簡單來說,只要是希望從歷史資料中找出規律,或是對於未來進行預測,都可以用Data mining的技術來達成

4. 演算法

Datamine的演算法計有決策樹/群集/類神經/迴歸/關聯規則/時間序列/貝氏機率;7種

3-資料預處理

 

1.異常值

1.1遺漏值

遺漏值是指資料收集的不完整或是有遺漏未填的狀況.一般的處理狀況為邏輯填補/填補統計值(補中位數或平均值)/將遺漏值視為新的選項/利用data mining的模型補遺漏值

一般而言現在的data mining大多是"交易資料"為主,此類資料大多從系統來,所以有遺漏的會是主檔資料,而主檔資料在data mining中是會儘量不使用的

1.2 極端值

極端值是相對概念而不是絶對概念,可以用z分數來估計,其為z=(案例值-每體平均值)/母體標準差,即用案例值距離母體平均值有幾個標準差.來衡量是否是極端值

有時最大及最小值區間很大時,對人而言很難判斷,所以我們會用些方法將區間值轉換到0及1之間,如全距法/sigmoid函數調整法/十進位調整法

2.變數轉換

有時我們會將連續變數及離散變數互相轉換,即離離轉連續,連續轉離散

2.1 連續變轉換成類別變數

某些演算法不支援連續變數時,就只能將變數轉換成類別變數,如決策數/貝氏機率

連續變轉換成類別變數的技術稱為離散化(discretization)或級距切割(binning),而運用這些技術的方法有等寛法/等分法/z分數法/反曲點法/監督式切割

等寛法每個級距一樣寛/等分法每個級距中的樣本數一樣

Z分數法是以平均值為起點,每間隔n個標準差,將連續變數切割開來

反曲點法將反曲點做為切點

監督式切割(supervise binning)根據要預測的變數為基礎,找出最好的切點組合

2.2 類別變數轉換連續變數

某些演算法並不適用類別變數來建模,如線性迴歸/羅吉斯回歸/類神經/群集;可將類別變數轉化成0或1(稱為dummy variables),不過此法預測力較不好,可用連續性指派(continuousness arbitrary)這會有較好的預測力

連續性指派(continuousness arbitrary)是指找出和類別變數有關的屬性,而這個屬性是具有連續性變數的,如學歷可以用年級數替換;縣巿別用人口數來替換

3. 變數篩選

在data mining中,會將大量的輸入變;數及要預測的輸出變數整合在一張資料表中,通常這張表會被稱為候選變名單;變數篩選的過程中,會考量所有的變數,並透過衍生變數產生新的變數,再接著過嚴格的評選及審查(變數篩選),將變數變成最終的決選變數名單

3.1 衍生變數(derived variables)

衍生變數(derived variables)是將原有資料庫的欄位或是既有的變數進行組合,以產生新的輸入變數過程,也就是說衍生變數的目的在於將候選變數名單變廣,但也非漫無目地的變廣,而是要產生有意義的輸入變數

3.2 篩選有效變數

若沒有做變數篩選,有可能讓模型變成OVER-FITTING(過度學習),所謂的過度學習是指,當我們使用訓練資料集來製作模型時,因為模型過度雜或是無效變數過多,因此模型"記憶"了一些規則,將一些只是發生在訓練資料組的內部巧合,當作規則

篩選變數可以分二個層面來看,一個是哪些變數絶不可放入模型,第二個才時找出合宜的變數

3.2.1 非重複性變數

變數的內容值,若永遠不會重複,則不可放入當變數,如ID/姓名...等等,需要再加工過后才可當作變數

3.2.2 選項過多或分布差異過大的變數

選項過多或是單一選項過度集中的變數,也不適合當變數,如郵遞區號

3.2.3 時點錯誤變數

要由A推B,則A要比B早發生

3.2.4 卡方檢定

其為篩選變數的方法之一,適合用來檢定輸入變數是類別變數,輸出變數亦為類別變數

其基本概念為測試某類別資料出現的頻率,是否隨著另一個類別資料的選項而變動

3.2.5 F檢定

其為篩選變數的方法之一,適合用來檢定輸入變數是類別變數,輸出變數為連續變數,或是反之,輸入變數為連續變數,輸出變數為類別變數

用來檢定類別變數選項間連續變數的平均值有無顯著差異,如果要檢定年齡與信用卡是否違約之間的關係,如果違約客戶的年齡與未違約客戶平均年齡有顯著差異時,就表示可以用年齡來預測信用卡是否違約

3.2.6 WOE法(Weight of evidence)實務上常用此法

其為篩選變數的方法之一,適合用來檢定輸入變數是類別變數,輸出變數為二元變數

其只能用在輸出變數為二元變數的狀況下

3.2.7 變數共線性

其為篩選變數的方法之一,即不同的輸入變數間是否存在高度相關,測量方法為皮爾森相關係數即共變數