SAS Enterprise Miner

SAS 預測模型 (5)

教學目標

初步了解 SAS Enterprise Miner 中互動式分箱節點和互動式分群節點的基本概念。

重點概念

首先在 SAS Enterprise Miner 的 SEMMA 資料探勘方法中,資料準備通常是資料探勘中最關鍵、最困難和最花費時間的過程,其中涉及很多步驟,像是互動式分箱節點 (Interactive Binning Node) 主要將每個類別值和間隔值的變數進行分組,以用於預測建模提高預測能力的方法,此外節點主要可用於將 Gini 統計量為測量的變數選擇,該指標顯示了特徵的預測能力,例如將高風險申請人與低風險申請人分開的能力。

接著互動式分箱可用於對多種連續分佈模式的非線性函數進行建模,互動式工具按分位數計算初始分箱,以及我們更能夠建立所有輸入變數的分箱,其中包括類別和間隔輸入變數。按照屬性中事件比例的降序對數據進行排序,假設一個特徵具有 m 個屬性,然後排序的屬性表示為分組 1、2、…、m,每個分組對應一個屬性,分組 1 具有最高比例的事件,再對於這些排序分組中的每一個計算分組 i 中的事件和非事件的數量,並且計算 Gini統計量,並且根據 Gini 統計量選擇強特徵,以及考慮業務因素對所選的特徵進行分組,該節點有助於表示風險等級趨勢,請注意這有可能導致過度擬合。

再來若使用這些屬性設定執行互動式分箱節點,則每個間隔縮放變數會先分為四個分箱,分箱是一種方法,用於將具有無限範圍的可能數值的區間標度變數轉換為分類變數,該變數採用有限數量的值,對應於觀察可能屬於的類別中。分箱涉及通過將觀察結果分類成對應於原始間隔縮放變數所採用的值的或多或少的窄範圍的區間來對觀察進行分組,這些分箱中的每一個都成為所得分類變數的類別之一。以及在形成分箱之後,就會計算每個輸入的 Gini 統計量,若是變數的 Gini 統計量值高於 Gini Cutoff 屬性指定的最小截止值,則變數為輸入,否則變數為為被拒絕。

最後若有 SAS Enterprise Miner 中 Credit Scoring 模組授權,則我們就能夠透過互動式分群節點 (Interactive Grouping) 自動化建立分組變數分析,並且允許我們將區間值變數轉換為類別值變數,或者基於二元值目標將每個分類值變數重新定義為完全不同的群組變數,在節點內建立的各個分組由證據權重 (Weight of Evidence,WOE) 統計量和基於二元值目標變數資訊值統計量,所謂 WOE 統計量主要是輸入分組變數的相對風險,其非常類似於邏輯斯回歸建模中的 log odds-ratio 統計量。此外不論是互動式分箱節點或互動式分群節點皆允許透過查看各種頻率圖,一次一個的針對訓練資料集中的每個輸入變數進行互動式分組。

相關資源

SAS 預測模型 (4)

教學目標

此篇主要考取 SAS 認證預測模型建置設計師國際證照的心得分享。

重點概念

今天終於考取 SAS 認證預測模型建置設計師國際證照,五月上完課程,七月第一次考試準備不充份就沒考過,九月第二次參加考試準備充份終於考過,考題總共 58 題,滿分 1000 分,需達 725 分才算通過。前 30 題為上機練習題,總共有 Project A 至 Project Z 等專案,每個專案會考二至四題,主要測驗我們對於 SAS Enterprise Miner 的熟練程度,請記得先設定擷取取樣資料為最大的屬性,以及熟悉如何從節點的結果中閱讀重要資訊。後 28 題為基本概念題,主要測驗我們是否有讀通 SAS 預測模型分析之官方講議中的內容,像是如何計算關聯分析的提升值,請特別注意 SAS 中的計算公式,以及決策樹、迴歸和類神經網路模型的主要特性和原理。

接著如何準備考試,除了閱讀二至三遍官方講議,並且了解所有練習題背後的意義之外,像是預測模型的類型主要有哪三大類和相關評估值為何,決策樹模型為何要使用分割搜尋的方式選取實用輸入值和剪支目的為何,迴歸模型如何透過逐步的方式選取實用輸入值,類神經模型的激活函數為何,以及不同的預測模型如何優化複雜度等基本概念。

建模階段 基本概念 決策樹 迴歸 類神經網路
Predict new cases Decide, rank, and estimate Prediction rules Prediction formula Prediction formula
Select useful inputs Eradicate redundancies and irrelevancies Split search Sequential selection None
Optimize complexity Tune models with validation data Pruning Best model from sequence Stopped training

再來更建議安裝 SAS Enterprise Miner 工具進行實機練習,此時可以參考官方網站所提供的 SAS Enterprise Miner 案例文件 進行練習,基本上坊間有二本中文的「資料採礦應用: 以SAS Enterprise Miner為工具」書籍,其中範例有八成皆以官方範例相同,一本橘色「資料採礦應用: 以SAS Enterprise Miner為工具-曾淑峰、林志弘、翁玉麟作」書中版本為 7.1,主要有關聯分析的介紹,目前已絕版,一本籃色「資料採礦運用 : 以SAS Enterprise Miner為工具 / 李淑娟作 」,書中版本為 13.1,雖然沒有關聯分析,但是內容較貼近官方教材,建議可作為複習之用途,並且若住台灣的朋友則可以在「國家圖書館」借閱。至於官方建議的參考書籍「Predictive Modeling with SAS Enterprise Miner」原文書,書中版本為 12.1,建議若想更深入了解再閱讀,至於對於考試有沒有幫助,我個人只閱讀這本書一遍,範例練習則略過,多少有幫助,但是效益不大。

最後考試完當天 3 ~ 4 小時之後就能夠下載 SAS 認證預測模型建置設計師的國際證照,並且證照也已更新新樣式囉,請參考下圖,個人覺得舊版樣式比較專業,但新版則有徽章也不錯啦!至於是否有考古題可上經管之家查查,我記得有幾篇有提供練習題下載,但是完全沒有一題考出來,所以 SAS 預測模型建置設計師國際證照不像 SAS 基礎程式設計師有考古題,只能憑實力考取囉!此外 SAS Enterprise Miner 真的是非常成熟且實用的產品,個人非常的喜歡,並且在 14.2 版本之後也已經能夠直接透過節點連結 SAS Viya 新平台,非常實用,至於什麼是 SAS Viya 新平台,則可透過 SAS Viya 官方網站 進行試用,建議嘗試看看「SAS® Visual Data Mining and Machine Learning on SAS® Viya®」。

SAS Certified Predictive Modeler Using SAS Enterprise Miner 14

相關資源

SAS 預測模型 (3)

教學目標

此篇主要為 Applied Analytics Using SAS Enterprise Miner 官方課程筆記心得分享。

重點概念

首先我們除了能夠透過決策樹或迴歸建立預測模型之外,更能夠透過類神精網路建立預測模型,其不需使用輸入變數,但主要透過最大概似函式進行運算。開始之前,我們要先管理遺漏值、處理極值、使用非數值輸入、…等預先處理,尤其是遺漏值的處理。至於在 SAS Enterprise Miner 中有關類神經網路的隱藏層只有一層,並非像目前所流行的深度學習有多個隱藏層,並且隱藏單位數目為 64 個,最大反覆運算次數預設為 50 次,以及我們除了可以調整隱藏單位數目和最大反覆運算次數提高預測模型的成效之外,更能夠透過決策數和迴歸挑選變數之後,再以類神精網路建立預測模型。

接著在 SAS Enterprise Miner 中還有整體模型主要是整合不同預測模型產生新的預測模型,我們主要會在公用程式中的控制點節點,先將所有預測模型節點以利簡化流程圖的連接線,並且在模型中的整體節點產生整體模型,其主要是從多重模型中取出類別目標之事後機率和間隔目標之預測值的函數建立新的模型。當建立完成多個預測模型的建立之後,像是決策樹、邏輯迴歸、類神經網路、整體、…等預測模型,下一步要如何挑選出最適當的預測模型。此時我們主要會透過評估中的模型比較節點同時比較多個預測模型。此時我們預設會透過 ROC 曲線評估多個預測模型的成效,找出最適當的預測模型,簡單判斷的方式為 ROC 曲線下的面積越大越好。

再來資料量越大不代表分析結果越好,因為我們進行資料探勘時主要關心的是較稀少且發生機率非常低的事件。此時我們可以採用過度抽樣方法,調整稀少事件和非稀有事件抽樣比例,使得事件比例較為平均,避免發生錯誤抽樣。針對過度抽樣我們除了透過分層抽樣的方法快之外,更能夠在決策處理中調整事前機率,並且針對模型節點中的模型選取準則建議調整為平均誤差,以及針對比較模型節點中的選取統計建議為平均平方誤差和選取模型使用的表格建議為驗證表格。此外在 SAS Enterprise Miner 中還能夠以利潤模型進行決策,則能夠透過勘查中的 StatExplore 節點查看目標變數更詳細的描述性統計資訊,並且在資料來源的決策處理中設定決策權數,修改模型比較中的選取統計為平均利潤/損失,當設定完成之後重新執行,此時就會以利潤矩陣的方式挑選預測模型進行最佳決策。此外我們更能夠查看模型比較節點中的評分排名重疊圖,點選 Cumulative Total Expected Profit 項目查看不同預測模型中的利潤變化。

最後我們可以透過評估中的評分節點和建立評分角色的資料來源,針對所挑選最適當的模型以評分的方式進行預測,並且在透過公用程式中的儲存資料節點將預測結果儲存為 SAS 資料集檔案,或著透過公用程式中的程式碼節點透過巨集撰寫 SAS 程式碼進行處理。此外我們更能夠將 SAS Enterprise Miner 產生的預測模型程式碼複製至 SAS Base、SAS Enterprise Guide 、 SAS Studo、…等 SAS 相關應用程式中進行更深入的商業分析之整合應用。

相關資源

SAS 預測模型 (2)

教學目標

此篇主要為 Applied Analytics Using SAS Enterprise Miner 官方課程筆記心得分享。

重點概念

首先當我們需要透過 SAS Enterprise Miner 建立線性迴歸預測模型或邏輯迴歸預測模型,主要會有三個參數必須進行估計,當有參數估計會在帶入預測函數的式子中進行運算,當然我們會針對不同策略目的,選取適當的指標進行比較。此外當準備開始建立預測模型時,我們需要先處理遺漏值,當我們收集資料時通常會有遺漏值發生,但是通常建立預測模型,則主要會以沒有遺漏值的資料列進行模型建立。

接著遺漏值發生主要會因為不合理的資料欄位、資料整合時發生問題、屬於不被揭露的資訊、…等,此時補值方法主要有兩種,分別為資料分佈和數學公式。此時我們主要能夠透過節點的編輯變數,勾選遺漏值百分比查看所有變數值的遺漏值情況,並且修改中的設算節點處理遺漏值,其中指標變數主要有二種,分別為單一和唯一,所謂單一主要是會產生單一變數,表示是否設定記錄中的任何變數,唯一主要是會為每個設算的變數產生虛擬變數,表示是否設算此觀測中的變數值。當設算遺漏值之後我們就能夠透過模型中的迴歸節點建立邏輯迴歸預測模型,並且我們能夠透過結果中的配適統計查看關鍵統計值,像是誤分類率、平均平方誤差、Akaike’s Information Criterion、Schwarz’s Bayesian Criterion、…等。此外我們還能夠透過結果中的輸出查看迴歸模型是否已經滿足收斂準則等詳細的統計資訊,以利判斷迴歸模型已達最佳化。

再來我們主要有三種方式選取模型的輸入變數變數,分別為向前、向後和逐步,所謂向前主要訓練會從模型中沒有候選效果開始,直到達停留顯著水準或停止準則時增加效果,向後主要訓練會從模型中所有候選效果開始,直到達停留顯著水準或停止準則時移除效果,逐步主要開始訓練時會和向前模型一樣,但是會移除模型中已存在的效果,直到達停留顯示水準或停止準則。此外預設為無則代表配適模型主要會使用所有的輸入變數,因此選取模型的方法不同時則會有不同的輸入變數,成效當然也會有所差異。此外在 SAS Enterpise Miner 中我們主要也可以透過變數選取節點、最小平方節點和決策樹節點選取最重要的變數,相關做法分別為:

  1. 變數選取節點:透過勘查中的變數選取節點進行變數的選取,產生結果中將會針對所有變數進行評估是否輸入或拒絕,若是拒絕則會有相關的理由進行說明。
  2. 最小平方節點:透過模型中的偏最小平方節點,此時要將匯出選取的變數設為是,並且設定 VIP 截止值,預設為 0.5,產生結果中將會針對所有變數進行評估是否輸入或拒絕,其主要是以 VIP 截止值進行判斷。
  3. 決策樹節點:透過模型中的決策樹節點,此時要將子樹方法為最大,並且設定替代規則數目為 1,產生結果中我們可以透過「檢視」->「模型」->「變數重要性」了解哪些變數非常重要。

最後要如何選擇最佳化的模型,訓練資料隨著輸入變數越多時,則會越來越精準,但是驗證資料則不一定。此時我們能夠針對模型選取修改選取選項,像是輸入顯著水準、停留顯示水準、最大步驟數目、…等,以及修改選取準則為驗證誤差或驗證誤分類率優化邏輯迴歸模型。此外當我們配適模型之前可以先進行資料轉換將能夠使得迴歸模型更加適合,此時轉換將會透過函數進行轉換,請注意轉換函數建議一對一對應。當然我們能夠透過修改中的轉換變數節點,針對變數進行勘查了解變數資料分配情況,以利後續挑選變數進行轉換,並且我們可以針對變數設定不同方法,像是對數、指數、平方、…等方法進行資料轉換。此外我們也能夠透過修改中的取代節點,針對類別變數透過取代編輯器進行值的取代分類,至於哪種方法比較好,沒有標準答案,重點在於關鍵指標是否有被優化,並且方法方便進行解釋,理應就是最好的方法,以利建立最適當的最佳化模型。

相關資源

SAS 預測模型 (1)

教學目標

此篇主要為 Applied Analytics Using SAS Enterprise Miner 官方課程筆記心得分享。

重點概念

首先 SAS Enterprise Miner 軟體主要是用於建立模型,一般來說,分析流程一定有目的,並且根據不同變數和訓練變數建立模型,其中建模方式有兩種,分別為模式探索,像是購物籃分析和集群分析,以及預測模型,像是決策樹、邏輯回歸和類神經網路。基本上一個專案中通常會有資料館和處理流程,其中處理流程是由許多節點所組成,每個流程會有不同的資料夾,並且在資料夾中會有許多節點對應的資料集。當我們開始建立 SAS Enterprise Miner 專案主要會先新增流程圖和新增資料來源,以修改中的取代節點處理遺漏值,以樣本中的資料分區節點產生訓練和驗證資料集,以模型中的決策樹節點進行分析。

接著我們將會進行決策樹分析,分割搜尋法主要會計算 logworth 值,p-value 值介於 0 至 1 之間,當 logworth 值越大則變數越顯著,一般我們會先挑選,並且進行分割,持續重複進行至最後就會產生最大樹。此時我們就能夠透過模型中的決策樹進行實作,透過互動式就能開始進行分割節點,其中-Log(p) 就是 logworth 值,接著編輯規則的部分,則能夠決定分割規則,當然我們能夠一層一層進行分割,此外我們也能夠針對分割點能夠進行增加和移除的修改,以及若不想手動分割節點,則能夠透訓練節點自動進行分割,不同顏色代表差異程度,顏色越深代表差異越大,至於線條大小則代表筆數。

再來若我們要更進一步了解誤分類率,則能夠透過子樹評估進行驗證,分支預設為 2 ,但是我們能夠去控制不同的分支數,分割準則針對類別資料我們除了 Chi-square logworth 值之外,更能夠使用 Entropy 和 Gini 值,至於連續型資料,則是使用 Variance 值和 Prob-F logworth 值。控制資料複雜度我們針對子樹的方法主要有 Assessment、Largest 和 N,我們也能夠的設定決策樹的最大深度和最小的葉子節點。此外決策樹優化主要是以誤分類率或精確率為主,排名優化主要是用窮舉法兩兩比較判斷一致性,估計優化則是以計算平方誤差進行比較為主。並且當我們建立完成決策樹之後,還能夠透過凍結樹指定是否要在訓練期間使用凍結樹的定義建立新的決策樹。

最後當我們執行之後將會產生決策樹的結果,其中預設結果主要包括評分排名重疊圖、分葉統計、樹狀圖、樹、配適統計和輸出,以利我們針對決策樹的結果進行判斷分析。當然我們也能夠點選「檢視」->「模型」->「變數重要性」,以利我們能夠根據變數重要性挑選變數。此外若我們建立多個決策樹模型,則能夠透過評估中的模型比較模型節點找出最佳的決策樹模型。

相關資源