如何運用SAS EM 進行樣本預區隔與極值偵測(上)

SEMMA 方法論第一步的「S」即為Sample，此處的Sample有多個意涵，一為分析樣本的定義，如何從分析母體抽取適當的樣本資料，以及如何選擇最適抽樣。SEMMA方法論告訴分析者當進行分析建模時，我們應取用樣本資料而不是直接匯入母體資料進行建模程序。同時，母體資料不一定是資料庫裡的全體觀測值，端賴分析的主題來進行分析樣本的定義與確認。 　　分析資料匯入EM平台後，Dr.SAS建議分析資料集後先串接Filter node，Filter節點有幾個基本分析上的功能，一可進行分析樣本的資料範圍確認，透過排除條件設定，過濾資料範圍以外的觀測值；一可透過圖示化的分布圖，快速檢視資料的分布，初步檢視資料的品質，如極端值或異常值；可透過統計值或專家經驗值設定，進行極端值偵測，並予以過濾排除。 Filter node兩大分析功能 1. 定義分析樣本 　　分析者依據分析主題，定義所需分析樣本。多數的分析非以整體母體資料進行分析，而是多透過專家經驗或分析進行適當的客群區隔取得分析樣本後再進行分析。以信用卡客戶分析為例，欲分析加油卡客戶行為，則應依產品別取product code='加油卡'，其餘卡類別的客戶應予以排除。若欲分析循環動用客戶，則應排除呆戶或未開卡等條件客群，因為未曾有消費紀錄，就不可能會動用循環；進行電信業流失預測模型時則應排除合約尚未到期的客戶，因為方案通常會綁約，客戶絕大多數會等到合約到期才開始轉換其他資費方案或移轉到其他家電信服務。因此，明確地定義分析樣本是正式分析前基本且重要的第一步驟，適當的樣本定義可以讓分析者更清楚欲分析的目標客戶群，同時也可以讓分析模型更臻於精確，然而，清楚定義的背後也表示分析者對產業背景的熟稔程度，這一點是非常重要的。 　　此外，分析資料除須排除業務經驗已知的規則外，常見的排除條件包括：企業戶、VIP客群、呆戶、靜止戶、排除特殊行業別(政策規定不得承作)、排除員工或特殊專案代碼、外部資料庫有重大違約事件者、已剪卡、未開卡、未成年等條件。 Filter node可透過使用者自訂的方式進行上述規則或條件式資料篩選，協助樣本資料的產出。 2. 極端值的偵測 　　資料不會百分百乾淨，在資料蒐集過程中容易因為人為因素而造成資料的異常，這類資料通常隨機，也無法解釋異常的原因，這類型資料稱為干擾值或噪音值，可透過適當圖形分析，找出可能值並予以過濾排除。另外部分觀測值也可能與絕大部分的分析資料有極端差異分布，此類資料稱為極端值，在進行模型分析時，當了解分析資料本身有嚴重的極端值時，則應選擇適當演算方法或進行極端值的處理，演算方法如迴歸分析或K-means分群演算方法等，其分析結果都易受極端資料的影響，極值處理則可透過Transform variables node進行衍生變數處理或轉換，或者可直接利用本章節介紹的Filter node進行極值偵測與排除。 Filter node極端值偵測的方法 SAS EM的Filter node位於Sample工具頁籤裡，依據連續變數(Interval Variables)以及類別變數(Class Variables)提供對應的的極值偵測的方法，連續變數的方法說明如下： Mean Absolute Deviation (MAD)平均絕對離差 平均絕對離差是指將每一資料點到平均數的差取絕對值後，即離差的絕對值，加總起來再除以n，其計算公式如下所示。 　　若選擇MAD法進行極值偵測時，系統預設值為9，即表示系統會以平均數為中心計算其左右9倍MAD值當作上下限，超過計算的門檻值的觀測點，即為資料分布的相對極值。若欲調整設定的預設值，可點選參數設定列的Tuning Parameters重新設定。 User-Specified Limits使用者自訂上下限： 使用者可透過參數列下的「Class Variables」以及「Interval Variables」各自進行類別及連續變數的資料排除條件設定，Filter node提供互動式篩選介面，可透過游標點選顯示的分布圖形，拖曳欲分析的區間範圍資料，系統會自動計算其實際的資料上下限，被選取的資料區塊以外的觀測點，系統會進行排除。另外亦可透過值的輸入決定選取範圍的上下限。 Metadata Limits後設資料設定： 　　Metadata Limits和User-Specified Limits一樣屬使用者自訂方法，亦可稱專家經驗法。兩個方法不同之處在於Metadata Limits的設定會在create a data source或Input Data node的變數列下進行上下限設定，排除資料會在資料匯入前就完成，Metadata …