1. 程式人生 > >SAS決策樹:信貸風險建模試驗

SAS決策樹:信貸風險建模試驗

、 概論

決策樹通過應用一系列簡單的規則建立起對觀測資料分類。決策樹對於觀測值的分類建立在變數的輸入值基礎上。每條規則都是在前一條規則形成的層次的基礎上對觀測資料的進一步劃分,而最終建立的劃分層次稱為決策樹,每個劃分段稱為決策樹的一個結點。最初的未進行劃分的片段包括所有的觀測資料稱作決策樹的根結點。一個結點和它所有的後續結點共同構成一顆子樹。決策樹中最底層的結點叫做葉子。觀測資料都將會被分配到其中的一個葉子之中。

二、 建立決策樹例項

本文將引用SAS軟體自帶資料(SAMPSIO.HMEQ)建立決策樹,用來分析是否應該同意客戶的家庭資產抵押貸款。該資料集包含5,960個觀測資料並存放在抽樣資料庫

中。BAD目標變數是一個二進位制變數用於指明貸款申請者是有可能拖欠貸款者還是可信的。這種不利情況可能在1189個案例中發生的可能性19.95%。該資料集中有12解釋變數用於建立決策樹。

(一)建立決策樹的變數要求

決策樹的建立需要一個目標變數(響應變數),以及至少一個輸入變數(自變數、解釋變數)。響應變數和解釋變數的設定在輸入資料來源結點中設定。

(二)結點總攬

建立的決策樹資料分析過程包括一下三個結點Input Data Source、Data Partition以及決策樹結點,最終建立結果如圖(1):

圖(1)

(三)新建 資料探勘專案

1、 SAS的命令視窗輸入命令 miner,進入資料探勘視窗。

2、 在選單欄中選擇 檔案 —〉新建—〉專案,彈出新建資料挖據專案 如 圖(2)。

圖 (2)

3、 在Create new project 視窗中點選 Create 按鈕,進入new tree 專案。併為新的資料專案更名為:Tree Node。

(四)建立輸入資料來源結點

新增一個 輸入資料來源 結點,為本次資料分析建立起資料來源。

1.1.1 增加一個 Input Data Source 結點,選擇專案列表下方的Tools 選項。在列表中選擇 Input Data Source結點,點選滑鼠左鍵將Input Data Source拖入右側的工作空間。

1.1.2 雙擊工作空間Input Data Source 結點,進入Input Data Source的設定視窗。

1.1.3 在Input Data Source設定視窗中的Data項中點選Select按鈕,選擇資料來源。進入選擇 SAS Data Set視窗。在Library項選擇SAMPSIO—〉 HMEQ。

如圖(3)。

圖(3)

1.1.4 點選ok,回到Input Data Source設定視窗,選擇Variables項,在variables項中找到BAD資料項,在BAD行 Model Role 項上點選滑鼠右鍵選擇Set Model Role選項—〉Target項,如圖(4)。

圖(4)

1.1.5 關閉Input Data Source設定視窗,並儲存。

(五)建立 Data Partition 結點

Data Partition結點主要將元資料分為訓練資料、驗證資料和測試資料。其中訓練資料用於生成決策樹輪廓,驗證資料用於比較響應變數的觀測值和預測值,而測試資料使用不多。

1. 像拖入Input Data Source結點一樣,將Data Partition從左側列表框拖入右側的工作平臺。

2. 建立 Input Data Source 結點 和 Data Partition結點之間的連線。如圖(5)。

圖(5)

3. 雙擊Data Partition 圖示,進入屬性設定介面,設定屬性如圖(6)

圖(6)

4. 關閉該視窗,並儲存。

(六)建立 Tree Node 結點

Tree Node節點是進行決策樹分析的中心結點,對它的不同設定和操作將對資料集建立起不同的決策樹模型

1. 像拖入Input Data Source結點一樣,將 Tree 從左側列表框拖入右側的工作平臺。

2. 建立 Data Partition 結點 和 Tree 結點之間的連線。如圖(7)。

圖(7)

3. 雙擊tree圖示,進入相關屬性設定介面,相關標籤屬性和設定介紹如下:

1) Data 標籤:該標籤中展示了前一結點資料集的名稱和相關的描述,這些資料集包括訓練資料和驗證資料等。如圖(8) 。

圖(8)

2) Variables標籤:variables標籤中可以看到觀測資料集各資料項的相關情況,如圖(9),

圖(9)

A. 在每一個標題頭上點選滑鼠左鍵,可以按該列對錶格中各項進行排序。

B. 其中可以在Status屬性中列中單擊滑鼠右鍵選擇Set Status將Use狀態更改為Don’t Use狀態。

C. 在Model Role 列點選滑鼠右鍵選擇 edit target profile 將變數進行目標變數和解釋變數之間的轉化。

3) Basic標籤:在Basic 標籤中,可以指定劃分規則以及與決策樹大小相關的各種引數值。下面是一個有關Basic標籤各項的一個展示如圖(10)。

圖(10)

A. 其中劃分規則(splitting criteria)可以根據目標變數的度量方面進行選擇。

對於定性或二進位制的目標變數,可以選擇以下劃分規則:

檢驗(預設)——Pearson 檢驗用於衡量對目標變數建立分支結點,其預設顯著性指標為 0.20 。

熵值約簡——通過對熵值大小的衡量反映結點不純性也成為熵不純性。

基尼係數約簡——通過對基尼係數大小的衡量反映結點不純性也成為Gini 不純性。

對於連續型目標變數,可以選擇以下兩種劃分規則:

F 檢驗(預設)——F檢驗的P值與結點一致性有關,預設顯著性指標為 0.20。

一致性約簡——該約簡基於結點的均方差檢驗。

本例中由於目標變數是家庭資產抵押貸款為二元變數, 檢驗是一個比較合適的劃分規則。

B. 同時可以在Basic標籤指定以下相關屬性值:

Minimum number of observations in a leaf(default = 1)

Observations required for a split search. 該選項保證劃分的結點都有觀測資料,並且對於比該項指定的觀測值還要少的結點不進行繼續劃分

Maximum number of branches from a node(default= 2)

Maximum depth of tree (default = 6)

Splitting rules saved in each node (default = 5)

Surrogate rules saved in each node (default = 0)

Treat missing as an acceptable value.

4)Advanced標籤,其中可以進行以下設定:

A. 評估度量模型的選擇

評估度量模型是基於從有效的資料中獲得的決策樹結果中選擇出最佳的決策樹模型,對於範疇型目標變數或間斷型目標變數會有不同的評估度量模型選擇。

B. 自定子樹模型

Advanced標籤中的子樹選項中指定怎樣選擇整個增長樹中選擇子樹。一個大型的決策樹會對那些隨機選擇的選練資料很好的適應,但對新資料進行預測上表現不佳。該選項就在於設定怎樣判斷一棵決策樹已經足夠大了。

C. 選擇p值調整方法的選擇

如果既沒有選擇 檢驗也沒有選擇F檢驗,就需要指定一種方法調整p值。

D. 在決策樹建立過程中合併收益或損失表

下面是Advanced標籤各項的一個展示,如圖(11)

圖(11)

5.關閉tree結點屬性設定視窗並儲存。

(七)執行決策樹結點

在設定完成決策樹結點之後,有四種方法來執行決策樹結點:

A 如果該結點已經關閉:

在tree結點上右擊滑鼠並選擇Run選項。

在選單欄中選擇 操作—〉執行。

B 如果該結點仍處於開啟狀態:

選擇 工具—〉執行樹狀模型

在快捷方式欄中選擇 執行樹模型的圖示

三、瀏覽決策樹執行結果

執行完決策樹結點,會出現如圖(12),選擇 Yes 就可以看到決策樹的執行結果

圖 (12)

其中主要的視窗如圖(13)所示:

(一) 綜合窗體

圖(13)

對於圖的解釋可以參看SAS提供的幫助檔案,地址為:

emgui.hlp/a000106004.htm#a000471388

或在SAS幫助檔案中搜索 Tree Node 察看

Layout of the Tree Results Browser

(二) 檢視樹狀結構圖

在選單欄中選擇檢視—〉樹狀結構 ,可以看到決策樹執行結果以樹狀形式展現,如圖 (14)。

圖 (14)

圖 (14)描述了典型的模型分析輸出結果,分析是通過分裂的方式進行的。在圖的上部是決策樹模型的根結點,包含了所有的可能的觀測資料,根結點中處於中間列出了訓練資料為總共為4172個,19.9%可信任(不能貸款),而80.1%不可信任(可以貸款),處於右側的資料是驗證資料結果,共有 1788個驗證資料,其中20.1%可信任(不能貸款),而79.9%不可信任(可以貸款)。在過程的進一步,客戶被分成了兩組,根據變數 DEBTING的級別值,這個變數是最能區分的變數。組的左側觀測資料3225條記錄中有93.0%的客戶記錄是可信的(DEBTING<45.1848),右側947條觀測記錄中36.3%的客戶記錄是可信的(DEBTING>=45.1848)。接著對於選用變數VALUE,以各條記錄的 VALUE屬性值與662969.5進行比較進行下一步劃分,右側以DELINQ變數進行下一步劃分。左側經過VALUE屬性的劃分後,第三層第二個結點在這一步停止。第一個結點則繼續根據DELINQ屬性值繼續劃分,最終到達葉子結點。

其中樹狀結構的每一個結點所列專案如圖(15):

圖 (15)

(三)以文字形式儲存規則

在SAS中在檢視決策樹執行結果是可以將決策樹的結果以base語言的形式儲存為文字檔案,選擇選單欄中的 檔案 項—〉儲存規則項。最終儲存結果如圖(16)。可以將該段程式複製到SAS的編輯視窗直接執行而不需要開啟企業資料探勘模組。

圖 (16)

四、互動式建立決策樹過程

除了上述自動由機器建立資料庫的方法外,SAS還提供了一種與使用者互動式的建立決策樹的過程,該過程要求使用者有一定的決策樹演算法的相關知識以及對原資料的十分了解。過程如下:

(一) 首先需要從新定義Input Data Source和 Data Partition結點,引數設定同上。

(二) 執行Data Partition結點

(三) 新增tree結點,連線tree結點和Data Partition結點, 在tree結點的圖示上右擊滑鼠選擇 Interactive屬性,進入 Interactive Training:Tree窗體 ,如圖(17)。

圖(17)

(四) 在樹環狀圖上點選滑鼠右鍵,選擇 Create Rules選項,進入建立規則窗體如圖 (18)。

圖(18)

(五) 如圖(18)所示以列 Logworth 屬性為標準選擇值最大的進入規則,點選ok,DPW2項成為劃分決策樹的一個指標,如圖(19)。

圖 (19)

圖 (19)中面板分為五部分,各部分內容反映如下:

l 圖中標示 1 的部分,是關於屬性DPM12的密度分佈圖。

l 圖中標示 2 的部分,是決策樹的環形圖。

l 圖中標示 3 的部分,是根據決策樹規則對觀測資料進行劃分過程的錯分率分佈圖。

l 圖中標示 4 的部分,是觀測資料(藍色)和驗證資料(紅色)的分支密度圖。

l 圖中標示 5 的部分,是關於屬性的密度分佈圖的總體瀏覽。

(六) 重複上述步驟,可形成使用者自己的決策樹。

相關推薦

SAS決策信貸風險建模試驗

一、 概論 決策樹通過應用一系列簡單的規則建立起對觀測資料的分類。決策樹對於觀測值的分類建立在變數的輸入值基礎上。每條規則都是在前一條規則形成的層次的基礎上對觀測資料的進一步劃分,而最終建立的劃分層次稱為決策樹,每個劃分段稱為決策樹的一個結點。最初的未進行劃分的片段包括所有

[譯] 設計師的決策當遇到豬隊友時,你需要一個系統來控制每個人

原文地址:A Decision Tree for Designers 原文作者:Cap Watkins 譯文出自:掘金翻譯計劃 本文永久連結:github.com/xitu/gold-m… 譯者:zhmhhu 校對者:calpa, Wangalan30

決策特徵分佈空間劃分方法

前言:懶惰的原因是因為時間太少,不能夠去仔細的探索學習,拿來主義喪失了很多快樂! K近鄰演算法的實現:KD樹 2.0、背景      之前blog內曾經介紹過SIFT特徵匹配演算法,特徵點匹配和資料庫查、影象檢索本質上是同一個問題,都可以歸結為一個通過距離函式在高維向量之

機器學習決策提煉出分類器演算法

,用到決策樹一般都會出現過擬合問題,因此需要對決策樹進行剪枝,闡述了常用的幾種剪枝的方法(這些方法都出現在了sklearn的決策樹建構函式的引數中),後面總結了sklearn調包分析用決策樹做分類和迴歸的幾個例子,下面通過一個簡單的例子,提煉出構建一棵分類決策樹的演算法思想,進一步體會下決策樹的分類原

Boosting決策GBDT

GBDT (Gradient Boosting Decision Tree)屬於整合學習中的Boosting流派,迭代地訓練基學習器 (base learner),當前基學習器依賴於上一輪基學習器的學習結果。 不同於AdaBoost自適應地調整樣本的權值分佈,GBDT是通過不斷地擬合殘差 (residual)

【10月31日】機器學習實戰(二)決策隱形眼鏡資料集

決策樹的優點:計算的複雜度不高,輸出的結果易於理解,對中間值的確實不敏感,可以處理不相關的特徵資料 決策樹的缺點:可能會產生過度匹配的問題。 其本質的思想是通過尋找區分度最好的特徵(屬性),用於支援分類規則的制定。 那麼哪些特徵是區分度好的,哪些特徵是區分度壞的呢?換句話說

分類算法決策(C4.5)(轉)

clas 依賴 1.5 -s clip win pan 定義 衡量 C4.5是機器學習算法中的另一個分類決策樹算法,它是基於ID3算法進行改進後的一種重要算法,相比於ID3算法,改進有如下幾個要點: 1)用信息增益率來選擇屬性。ID3選擇屬性用的是子樹的信息增益,這裏可

Spark機器學習(6)決策算法

projects 信息 txt .cn import n) .com util seq 1. 決策樹基本知識 決策樹就是通過一系列規則對數據進行分類的一種算法,可以分為分類樹和回歸樹兩類,分類樹處理離散變量的,回歸樹是處理連續變量。 樣本一般都有很多個特征,有的特征對分

我的機器學習之旅(六)決策

family 分配 根據 drop chrom labels arch ntp -o 決策樹概念: 分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點和有向邊組成。結點有兩種類型:內部節點和葉節點,內部節點表示一個特征或屬性,葉節點表示一個類。 分類的時候,從根

機器學習決策(基尼系數)

try matplot 代碼實現 sci bubuko div tro 兩種 () 一、基礎理解  1)公式 k:數據集中樣本類型數量; Pi:第 i 類樣本的數量占總樣本數量的比例  2)實例計算基尼系數 3 種情況計算基尼系數: 基尼系數的性質與信息熵

決策問題一讀取文件頭報錯問題 has no attribute next

文件 tro 版本 決策樹 open all header headers 決策 這個是版本的問題引起的,在2.7版本中應該使用代碼如下: allElectronicsData = open(r‘AllElectronics.csv‘, ‘rb‘) reader = csv

統計學習五1.決策基本概念

目的 條件概率 給定 條件 復雜 操作 噪聲 節點 要求 全文引用自《統計學習方法》(李航) 決策樹(decision tree) 是一種常用的分類與回歸方法。決策樹的模型為樹形結構,在針對分類問題時,實際上就是針對輸入數據的各個特征對實例進行分類的過程,即通過樹形結構

機器學習篇決策的理解

1、決策樹是一個樹結構(可以是二叉樹或非二叉樹) 決策樹是一個樹結構(可以是二叉樹或非二叉樹)其每個非葉節點表示一個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放一個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特徵屬性,並按照其值選擇輸出分

學習筆記(五)使用決策演算法檢測POP3暴力破解

1.資料蒐集     載入KDD 99中的資料: def load_kdd99(filename): x=[] with open(filename) asf: for line in f: line=line.st

四 分類基本概念,決策與模型評估2

4.4模型的過分擬合 分類模型的誤差分類:訓練誤差和泛化誤差 過擬合:訓練誤差小,泛化能力弱 造成過擬合的主要原因:模型複雜度 4.4.1噪聲導致的過分擬合 由於擬合了誤分類(噪聲)的訓練記錄,導致了泛化誤差增大。 4.4.2缺乏代表性樣本導致的過分擬合 由於訓練樣本太

四 分類基本概念,決策與模型評估1

4.1預備知識 元組(x,y):x指屬性集合,y指分類屬性 目標函式又稱為分類模型:描述性建模;預測性建模 4.2 解決分類問題的一般方法 分類技術是一種根據輸入資料集建立分類模型的系統方法。 學習演算法確定分類模型;泛化能力模型 訓練集;檢驗集 分類模型效能評估: 1.正確

第七講決策+隨機森林+AdaBoost(下)

本講主要內容 4 整合學習(下)     4.3 Boosting         4.3.1 AdaBoost     &

第六講決策+隨機森林+AdaBoost(中)

主要內容: 4 整合學習(下) 4.1決策樹     4.1.1  CART模型(見上講)       4.1.2  特徵選擇  &nb

第五講決策+隨機森林+AdaBoost(上)

主要內容 3 邏輯斯蒂迴歸(下) 3.5 邏輯斯諦迴歸和凸優化問題 3.5.1 什麼是凸優化問題 3.5.2 為什麼說邏輯斯諦迴歸是一個凸優化問題 3.6 多項邏輯斯諦迴歸 3.6.1 模型 3.6.2 策略 3.6.3 演算法 3.6.4 正則化 3.7 對

ml課程決策、隨機森林、GBDT、XGBoost相關(含程式碼實現)

以下是我的學習筆記,以及總結,如有錯誤之處請不吝賜教。 基礎概念: 熵Entropy:是衡量純度的一個標準,表示式可以寫為: 資訊增益Information Gain:熵變化的一個量,表示式可以寫為: 資訊增益率Gain Ratio:資訊增益的變化率,表示式可以寫為: