如何運用SAS EM進行各式抽樣及過度抽樣(上)

本期開始Dr. SAS將會系列介紹如何運用SAS EM進行模型建置前的各項資料處理，首先將介紹Sample node的使用方法。在SAS EM建模方法論SEMMA的工作循環裡，SAS EM告訴我們分析的第一步驟即為進行Sample,這裡的sample代表著樣本資料與抽樣方法。在模型建置程序裡須取用的資料為樣本資料(sample data)，而非母體的全體資料，同時取樣的樣本集必須具有母體代表性，如此模型才具有解釋意義，也才能真實被應用。 並非資料量越大分析結果越好 過去我們可能會認為模型結果要好要準，資料量盡可能要多才能預測準確，然而影響模型的配適效果，除了重要變數的選取，其實資料的密度與結構也會影響模型結果的解釋，這裡的資料密度說的是目標變數裡分析事件的比例。在資料探勘裡我們常常關心的是較稀少的事件，比方說客戶的違約、盜刷事件等等，這些事件的發生機率可能不到百分之一，用這樣的母體事件比例來建模，可能見不出什麼預測規則，因為模型只要全判不違約或正常客戶，準確率就可高達99%以上。因此資料量並非越多越好，反而要經過適度的抽樣設計，才能建置出有應用價值的模型。         此外，抽樣的主要目的是從母體資料中運用統計方法，抽出具有代表性的樣本資料，同時，避免直接拿母體資料來分析有幾個好處：能有足夠資料來進行資料驗證，也能避免模型過度配適的結果。在進行巨量資料分析時，抽樣程序尤其必要，利用樣本資料分析，可以避免系統運算效能降低與減少模型配適時間，同時也可降低資料收集的成本。取樣單元裡真正的重點在於抽樣方法設計，以抽出具有母體代表性的樣本資料。抽樣設計在模型建置過程也是重要的分析步驟與議題，影響著預測模型未來的可用性與穩定性。 Sample node的抽樣方法         SAS EM的Sample node位於Sample工具頁籤裡，提供的抽樣方法包括有：預設抽樣方法(Default)、隨機抽樣(Random)、群集抽樣(Cluster)、前N抽樣(First N)、系統抽樣(Systematic)以及分層抽樣(Stratify)。這些抽樣方法都可以透過指定樣本比例(percentage)、樣本數(number of observations)或給定Alpha值及p-value透過EM計算來決定樣本數的大小(參見下圖Sample node的參數列中的Size參數設定)。 接下來依序詳細介紹Sample node的各種抽樣方法與對應參數的設定，輔助說明的資料集為SAMPSIO.DMAGECR(German Credit資料集)。Sample node前通常直接串接分析資料集，若同時串接多個前置資料集，則會自動選擇一個當作欲抽樣之資料集，未被選取的資料集，亦不會被處理或做資料匯出。 1預設抽樣方法(Default)： Sample Method參數預設的抽樣方法為Default. 選取預設抽樣方法時，若目標變數為類別資料型態，則預設抽樣會依目標變數進行分層抽樣，否則則為隨機抽樣方法。 2 隨機抽樣(Random)： 隨機從母體抽出樣本，每個抽樣個體均有相同的機率被抽入樣本池，適用於構成母體的屬性分布為均質時，也是最常被應用的抽樣以此種抽方法，隨機抽樣方式欲從母體當中隨機抽取1組n個樣本，事先須將母體中的個體一一編號，然後以隨機號碼表(Random Numbers Table)抽出所需的樣本。Sample node的隨機種子值預設為12345。隨機抽樣程序的參考程式碼如下： 3 系統抽樣(Systematic)：系統抽樣方式類似簡單隨機抽樣，其作法是先由設定信賴水準(Alpha)及誤差大小(p-value)或指定觀測值數目決定抽樣的樣本數，並計算抽樣間隔數目及選定第一個起始的樣本單位序號；先抽樣起始序號，每隔間數目抽取1人，直到所需的總樣本數為止。系統抽樣的方法缺點若資料分布具有週期性的誤差出現時，容易造成模型的偏誤。 假设母體資料總數為N，要抽取的樣本數為n，則系統抽樣為每隔N/n個樣本抽一個。參考程式碼如下： 4  前N抽樣(First N)： 直接抽取前N個樣本，較少用在正式分析建模的抽樣方法設計，此方法比較常用在分析者欲快速進行資料瀏覽時，直接抽取前N筆做資料觀察。參考的程式碼如下： 5 分群抽樣：Cluster sampling 分群抽樣又稱整群抽樣或集體抽樣，將母體依據特定特徵值分成若干的群組然後依據隨機抽樣從分組的群集中，抽出樣本群集，被抽中的的群組，群內的樣本會全抽。當選取分群抽樣方法時，則必須點選參數列的Variables，調整Sample Role來決定分群變數。​