資料探勘分析是一種科學方法,然而在資料處理與流程設計卻是門藝術。同一份資料集,不同的分析人員即便選用同一種分析工具,都極可能會產生不同的模型分析結果與應用方向,差異在於分析者對各資料解讀的深度、變數的選擇能力以及進一步的對資料處理的能力,資料處理中尤其以變數處理與衍生變數的產出,優秀的資料科學家就是在剖析問題的邏輯性與重要的衍生變數上勝出,這一階段的處理程序往往造就模型的準度與模型的精細解釋度。
變數處理與衍生變數並沒有固定的產出模式與標準答案,端賴資料探勘分析者的對資料本身意涵的了解,或客群的熟悉度,以及產業經驗與知識的豐厚程度。有時候它也是在資料觀察後產生的創意靈感,但正式的程序通常在正式分析與資料處理前,超過80%的衍生變數應在資料擷取前已經被規畫好了,後續生成的衍生變數,則隨著資料的檢視、透過適當報表對客群的深入了解後,以及為了擷取欲觀察某部分客群的特殊行為後,而產生衍生變數的創意發想,或者是來自於產出模型檢視後的衍生變數公式的調整。
在資料探勘建模初學階段,常常會將資料系統內可得的或可能相關的資料全部撈取下來,並將所有蒐集得到的原始資料全然投入模型內讓系統自動分析,資料探勘工具並非真的人工智慧,還是需要端賴分析者資料判讀與適度篩選,才能有正確的結果,否則極可能產出表面上模型準度看似極高,產出的規則卻無法解釋或是不合邏輯的錯誤模型。因此有效的變數選擇是很重要的,甚或是適當的變數處理,包含依據資料分布進行函數轉換,以及衍生變數的產生如:比率值的產生、將連續資料類別化、或多維度的混合公式來進行變數維度縮減等,都可以提高原始變數的重要解釋性或目標變數的影響力。
在 SAS EM 進行變數處理或衍生變數產出的分析節點即為Transform Variables node,歸屬於在SEMMA方法論裡的Modify工具頁籤下,也是資料前處理重要的分析節點之一。
接下來Dr.SAS將在本期詳細介紹 Transform Variables node變數轉換應用與衍生變數產出的方法。
Transform Variables node 有兩個重要功能:一為簡單函數轉換,一為衍生變數產生。下圖為各項參數功能列表。
圖一、Transform Variables參數列
█ 簡單函數轉換功能
Transform Variables node參數列下的Variables提供原始變數各種函數轉換的功能選擇。當檢視資料分布有發現'相對極值'的情況,又不能確認是真正的異常值時,建議不應任意將排除。因為實務上,資料分布上的「極值」往往是我們欲分析的對象,尤其是在進行稀有事件分析時,這些極值往往集中在吾人欲關注的目標客群上。既然不建議任意將這些可能的極值排除,但這些資料的極值分布的確會影響模型結果,尤其牽涉到期望值計算的演算方法,如:迴歸分析等,極值的影響特別顯著,因此建議讀者可透過EM 的Transform Variables node 進行資料變數的函數轉換,來消弭極值的影響效果。
此處的函數轉換為簡單函數的提供,原因在於過於複雜的變數轉換,縱使轉換後的變數與目標變數有強相關,但在資料解釋上失去了原本業務的解釋意義,反而降低真實應用的價值。例如:分析發現申請者的(所得3–100)的開根號與違約率呈正比,那真正的所得變數與違約率的關係應該怎麼解釋?所以EM 的Transform Variables node 提供簡單函數轉換的目的在此。
其中,函數轉換的方法又分成連續變數與類別變數的資料處理。
● 連續變數—若未進行個別設定,就套用預設函數轉換方法(Default Methods),連續變數轉換方法有:
√ Best(系統自動化最佳選擇) —系統會自動選擇處理變數與目標變數間的何種轉換方法卡方檢定結果最佳者。
√ 函數轉換—包含Log(自然對數函數)、Log 10 (以10為底的對數函數)、Square Root (變數值平方根)、Inverse(倒數)、Square(平方)、Exponential(指數)等函數轉換方法。
√資料離散度—提供三種方法:
(1) Centering (資料中央化):(X – 平均數)
(2) Standardize(資料標準化):(X – 平均數)/標準差
(3) Range(全距法) :(X – 最小值) / (最大值 – 最小值)
√ 資料類別化
(1) Bucket (全距等分分箱法):算出資料分布的全距,等距算出各級距切點,若資料值落在級距3,Bucket法轉換後,即為數值3。
(2) Quantile (等分位法):變數值由低到高排序,等分位法為每一級距內觀測點個數相同,若切等為十級距,觀測值經排序後若為第25分位,經Quantile法轉換後,即為數值3 。
(3) Optimal Binning (最適分箱法)。系統會自動對分析變數切出最適級距,使轉換變數與目標變數的相關性最高。選擇此法時,可進階調整Optional Binning參數選項以設定其級距數,如圖一。
√ None(不做任何轉換處理)。
● 類別變數—若未進行個別設定,就套用預設函數轉換方法(Default Methods),類別變數轉換方法共有兩種
√ Group rare levels —稀有事件水準值的合併,選擇此法時,會自動將稀有事件水準值設為'_OTHER_'。如圖二,變數Impute_Job內'Self'為次數頻率最低的水準值,透過Group rare levels轉換後,其值設為_OTHER_。
圖二、Group rare levels轉換結果
√ Dummy Indicators —產出虛擬變數,選擇此法時,會自動產出變數內的各個類別水準值的虛擬變數,如下圖二變數IMP_REASON,類別水準值有二類,分別為'DebtCon'、'HomeImp',透過Dummy Indicators轉換後,會分別產生IMP_REASON_DebtCon、IMP_REASON_HomeImp其值為(0,1)的虛擬變數。
圖三、Dummy Indicators轉換結果
√ None(不做任何轉換處理)
變數轉換的資料處理,若資料有遺漏,建議先透過Impute node 處理缺失值問題,再進行變數轉換的資料處理程序。
分布的反函數將資料分布常態化
Formulas:
Interactions:交互作用項
SAS code:SAS程式編輯區
● Treat Missing as Level — Use the Treat Missing as Level property to indicate whether missing values should be treated as levels when creating groupings. If the Treat Missing as Level property is set to Yes, a group value will be assigned to missing values of the variable. If the Treat Missing as Level property is set to No, the group value will be set to missing for each variable. 遺失值處理與否。
SAS EM變數的函數轉換
連續變數類別化
信用評分卡、決策樹,
等級切割
類別變數連續化
Group Rare Levels Transformations
衍生變數產生
資料分解
格式轉換
資料刻度轉換
資料純化
資料轉換到正確的層級、顆粒度(Granularity)
加總資料、平均數、current、ever、累計加總、比率、成長率
變數的意義隱含在資料變數中
創意、衍生變數的藝術與豐厚的產業經驗
Impute node遺失值補值的方法
SAS EM的Impute node位於Modify工具頁籤裡,依據連續變數(Interval Variables) 以及 類別變數(Class Variables) 提供對應的的補值方法大致分成下列幾類,各種方法的使用建議會在下期再做詳細說明:
■ 母體的統計量補值方法:方法包括有平均數(Mean)、中位數(Median)、眾數(Count)、最大最小值平均值(Mid-Range)、截頭去尾平均值(Mid-Minimum Spacing)、M估計量(Andrew's Wave、Huber、Tukey's Biweight)。連續變數的預設補值方法為平均數(Mean),類別變數預設的補值方法為眾數(Count)。
■ 母體分布(Distribution):依據母體真實資料分布的均數來進行補值。
■ 利用資料探勘模型進行補值:較精準的補值方法為採用資料探勘模型的方法來進行補值,EM提供決策樹(Tree)的方法,將遺失值欄位設定為目標變數,進行值的預測。
■ 使用者自訂(Constant):使用者亦可給予缺失值一個指定值,連續數值常設定為「0」、「99999」,類別數值則設為「N/A」。
■ 不處理(None):分析者可以選擇忽略遺漏值,不進行處理,交由後續模型演算方法來處理。
接下來依序詳細介紹Impute node的各種遺漏值的處理方法與對應參數的設定,輔助說明的資料集為SAMPSIO.HMEQ (Home Equity資料集)。
1. 準備群集分析資料集
啟動SAS EM並新增一EM專案檔,點選主選單HELP下的Generate Sample Data Source產生樣本資料集:SAMPSIO.HMEQ。
2. 遺失值檢視
在正式進行資料處或分析之前,應對分析資料HMEQ進行資料品質瀏覽,點選分析資料集>Variables參數,EM會快速產生欲瀏覽變數的分布圖,各資料變數有遺失值時,分布圖會以灰色長條圖獨立顯示其比例。
圖一、分析資料品質瀏覽
3. 進行遺失值處理
至Modify工具頁籤下選取Impute Node與資料節點HMEQ串連,並進行對應參數設定。
圖二、Impute node的參數列
Tags