衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何運用MATLAB中的Binning Explorer來創建評分卡?

MATLAB ? 來源:MATLAB ? 作者:MATLAB ? 2021-06-13 15:46 ? 次閱讀

這個案例展示如何運用 MATLAB 中自帶的 Binning Explorer 小程序來創建信用評級中的評分卡。用 Binning Explorer 對樣本進行分箱操作, 創建圖表來展示分箱信息,并將創建的對象”creditscorecard”導出。然后利用 creditscorecard 對象,結合 Financial Toolbox 中的函數來對邏輯回歸模型進行擬合, 為樣本進行評分并計算違約概率(PD),然后用三個不同的指標對評分卡模型進行驗證。

步驟1 將樣本數據導入到 MATLAB 的工作區

步驟2 將數據導入到 Binning Explorer 小程序

步驟3 在 Binning Explorer 中對分箱做進一步調整

步驟4 在 Binning Explorer 中將 creditscorecard 對象導出

步驟5 對邏輯回歸模型進行擬合

步驟6 檢查并調整評分卡分數的比例

步驟7 對樣本進行評分

步驟8 計算違約概率 PD

步驟9 用 CAP,ROC,KS 檢驗來對信用評分卡模型進行驗證

◆ ◆ ◆ ◆

步驟1. 將樣本數據導入到 MATLAB 的工作區將保存在 CreditCardData.mat 中的數據導入 MATLAB 工作區 (使用 Refaat 2011 的數據)。 運行代碼如下:

load CreditCardData

disp(data(1:10,:))

步驟2. 將數據導入到 Binning Explorer 小程序方法一, 從 MATLAB 工具欄中打開 Binning Explorer : 在 Apps 菜單下, 找到計算金融學(Computational Finance), 點擊 Binning Explorer 的圖標。 方法二, 在 MATLAB 中運行如下命令行 。 binningExplorer(更多關于啟動 Binning Explorer 小程序的信息, 參見 Start from MATLAB Command Line Using Data or an Existing creditscorecard Object.) (鏈接如下)https://ww2.mathworks.cn/help/risk/common-binning-explorer-tasks.html#startbinningexplorercommandline在 Binning Explorer 的工具欄,點擊 Import Data 按鈕來打開導入數據的窗口。

在 Step 1(第一步)下, 選擇 data 為需要導入的數據在 Step 2(第二步)下, 可在 Variable Type 下為每個變量指定其類型。 缺省設置下,數據的最后一列(本例中為’status’)為‘Response’, 也就是因變量。因變量的值最好的樣本(本例中為“0“)被標記為‘Good’。 所有其它的變量被歸為因變量。此外, 在這個例子中,‘CustID’(客戶的編號)不是一個包含信息的因變量, 因此把 Variable Type 下面的‘CustID’ 對應設為 Do not include注意

如果導入的數據中有一列是各個因變量的權重,那么在 Step 2 的下面, 對應的 Variable Type , 應在下拉菜單中選中 Weights.

如果原始數據中有部分數據缺失,那么在 Step 2 , 將 Bin missing data 設置為 Yes.

l在 Step 3, 選擇 Monotone 作為缺省的初始化的分箱算法。點擊 Import Data 完成這一導入數據的步驟。在數據導入的過程中,Binning Explorer 采用我們之前選中的算法自動的對應每個自變量對樣本進行分箱。每個自變量對應的樣本分箱的結果都單獨以柱狀圖的形式顯示如下。點擊其中一個因變量,對應的分箱結果的詳細信息就會在左下角的 Bin Information 以及右下角的 Predictor Information 這兩個面板中顯示出來。Binning Explorer 對應每個自變量,都對樣本自動進行分箱。采用的缺省算法是“Monotone”。

該算法是針對信用評分卡最理想的算法,因為通過該算法得出的樣本數據的分箱結果,對應每個分箱的 WOE(Weight of Evidence)都是盡可能(完全或近似的)呈單調線性的趨勢(線性遞增或遞減)。

在本例中各個自變量的分箱圖中可以看到 WOE 這一單調性的趨勢。我們來看一下如何對數據進行一些初步的分析。以‘ResStatus’(居住狀況)這個類別型變量(categorical variable)為例。點擊 ResStatus 的分箱圖。 在 Bin Information 面板中包含了不同分箱(分組)的好樣本和壞樣本的數量和其他的分箱信息如 WOE。以“Tenant”這一分箱(樣本人的居住狀況為“租房”)為例:在租房居住的樣本中,307 個為好樣本(沒有發生過違約),167 個壞樣本(有違約記錄)好樣本與壞樣本之比(Odds)為1.8383。對于數值型的變量, 以 CustIncome 為例,點擊 CustIncome 的分箱圖。則 Bin Information 的面板中的數據更新為 CustIncome 的分箱信息。

步驟3. 對分箱結果進行手動調整以 CustAge (客戶年齡) 為例,點擊 CustAge 這個變量的分箱圖。注意第一組和第二組分箱(年齡為 33 歲以下,以及 33 到 37 歲)的 WOE 非常接近,第五組和第六組分箱也是類似情況。 我們認為這兩對相鄰的分組并沒有把樣本更好的區分開來,也就是說,這樣的分組并沒有給接下來的打分操作(以便區分好樣本和壞樣本)帶來可以明顯區分的信息。因此可以將這兩對分組分別合并。

要合并第一組和第二組分箱,我們進行如下操作:在 Binning Explorer 菜單下, 點擊 Manual Binning 可將當前選中的變量 CustAge 在一個新的窗口下打開(Manual Binning: CustAge)。 您也可以直接用鼠標雙擊對應變量的圖來打開 Manual Binning 窗口。 用 Ctrl + 鼠標點擊來同時選中要合并的分箱 1 和 2,此時兩個分箱的柱狀圖會被藍色邊框圈起來。

在 Manual Binning 菜單下, Edges 右邊的兩個文本框顯示的是將要合并的兩個分箱所涵蓋的變量的取值的范圍,本例是從 0 到 37 歲(不含37歲)。

點擊 Merge 將前兩個分箱合并。此時在 Overview 窗口下面的 CustAge 的圖已經更新為了合并后的新的分箱的圖例,同時在 Bin Information 和 Predictor Information 面板下的數據也會相應更新。

接下來,合并初始的第 4 和第 5 分箱(上面合并步驟后的第 3 和第 4 分箱,即 46~48 歲組和 48 到 58 歲組), 因為這兩組的 WOE 也非常接近。

變量 CustAge 的分箱圖在前面兩個合并操作后已經更新為了新的信息。Bin Information 和 Predictor Information 這兩個面板的信息也同樣更新了。(注: Predictor Information 在合并操作后沒有變化,是因為這兩次操作并沒有改變具體的樣本,因此沒有影響到該面板下的四個數據統計的信息)對下面這些有接近的 WOE 的分箱進行類似的合并操作:

變量 CustIncome (客戶的收入情況), 合并分箱 3、4 和5.

變量 TmWBank (在該銀行的開戶時長), 合并分箱 2 和 3.

變量 AMBalance, (賬戶平均每月盈余),合并分箱 2 和 3.

現在所有變量的分箱顯示的 WOE 都為近似線性單調(遞增或遞減)的趨勢。步驟4. 將 creditscorecard 對象從 Binning Explorer 導出到工作區在完成所有分箱的操作之后,在 Binning Explorer 菜單下,點擊 Export Scorecard 然后給 creditscorecard 這個對象命名。 本例中將該對象命名為“sc”保存到工作區 。步驟5. 進行邏輯回歸擬合通過 fitmodel 函數來對WOE數據進行邏輯回歸的擬合。 (鏈接如下)https://ww2.mathworks.cn/help/finance/creditscorecard.fitmodel.htmlfitmodel 會對訓練集的數據樣本進行分箱,將其轉化成相應的 WOE 的值,并與相應因變量的值進行映射,(即好樣本對應的因變量值為1)然后做線性的邏輯回歸模型的擬合。缺省設置下,fitmodel 逐一將變量進行測試來決定是否將其納入模型中作為自變量。 代碼運行結果如下:

sc = fitmodel(sc);

1200 observations, 1192 error degrees of freedom

Dispersion: 1

Chi^2-statistic vs. constant model: 89.7, p-value = 1.42e-16

步驟6. 檢查并調整評分卡的分數

在進行模型擬合之后,各個變量的分箱對應評分卡的分數尚未按照比例進行調整,是直接以WOE 值和模型變量的系數的乘積得來的分數。用 displaypoints 函數可以看到評分卡上所有的分箱和對分數。 (鏈接如下)https://ww2.mathworks.cn/help/finance/creditscorecard.displaypoints.html代碼運行結果如下:

p1 = displaypoints(sc);

disp(p1)

用 modifybins 函數來調整對變量的每個分箱的文字描述。

16ce87a6-c41d-11eb-9e57-12bb97331649.png

評分卡的分數通常要按照一定的比例調整并四舍五入進行取整。可用 formatpoints 函數來進行這些操作。 (鏈接如下)https://ww2.mathworks.cn/help/finance/creditscorecard.formatpoints.html比如,可設定達到一定好壞樣本比例(odds ratio)的分箱可以獲得的分數,以及每次該比例翻倍時候可以增加的分數。運行代碼如下:

1716cd72-c41d-11eb-9e57-12bb97331649.png

步驟7. 對樣本進行評分用 score 函數來計算訓練集中的樣本的分數。(鏈接如下)https://ww2.mathworks.cn/help/finance/creditscorecard.score.html也可以用該函數來計算其它樣本的分數,比如預留的用來驗證模型的測試集樣本。該函數也可以顯示每個客戶樣本在每個自變量上所獲得的分數。運行代碼如下:

[Scores,Points] = score(sc);

disp(Scores(1:10))

disp(Points(1:10,:))

528.2044

554.8861

505.2406

564.0717

554.8861

586.1904

441.8755

515.8125

524.4553

508.3169

步驟8. 計算違約概率PD用 probdefault 函數來計算違約概率 pd. (鏈接如下)https://ww2.mathworks.cn/help/finance/creditscorecard.probdefault.htmlpd = probdefault(sc);定義好樣本的概率,并將好壞樣本的比率 (odds) 和對應的評分卡分數畫圖顯示。圖中我們可以看出,樣本的分數與對應的好壞樣本比(odds)相吻合,并且滿足預定義的“odds翻倍則分數增加50“。運行代碼如下:

176d8cac-c41d-11eb-9e57-12bb97331649.png

步驟 9. 利用 CAP、ROC 和 Kolmogorov-Smirnov 檢驗來驗證信用評分卡模型Creditscorecard 這個對象支持三種驗證方式: CAP,ROC 和 K-S 檢驗。 更多關于這三種檢驗方式的信息,參見 validatemodel. 運行代碼如下:

17c5a8e2-c41d-11eb-9e57-12bb97331649.png

原文標題:實用案例 | 用 Binning Explorer 小程序創建評分卡

文章出處:【微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • matlab
    +關注

    關注

    185

    文章

    2981

    瀏覽量

    231015
  • 小程序
    +關注

    關注

    1

    文章

    239

    瀏覽量

    12266

原文標題:實用案例 | 用 Binning Explorer 小程序創建評分卡

文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Simulink與 MATLAB 的結合使用 Simulink的信號處理方法

    在工程和科學研究,信號處理是一個重要的領域,涉及到信號的采集、分析、處理和生成。MATLAB 提供了豐富的信號處理工具箱,而 Simulink 提供了一個直觀的圖形界面,使得復雜的信號處理系統可以
    的頭像 發表于 12-12 09:25 ?499次閱讀

    Pure path studio內能否自己創建一個component,實現特定的算法,例如LMS算法?

    TLV320AIC3254EVM-K評估模塊, Pure path studio軟件開發環境。 問題:1.Pure path studio 內能否自己創建一個component,實現特定的算法
    發表于 11-01 08:25

    MATLAB-網頁訪問與關閉

    。 要將 MATLAB 瀏覽器用作打開外部網站的默認瀏覽器,請轉到主頁選項,然后在環境部分中點擊預設。選擇 MATLAB > Web,然后在系統 Web 瀏覽器部分,清除打開
    發表于 09-05 16:23

    MATLAB的矩陣索引

    對矩陣進行索引是從矩陣中選擇或修改部分元素的一種方式。MATLAB 有幾種索引樣式,它們不僅功能強大、靈活,而且可讀性強、表現力強。矩陣是 MATLAB 用來組織和分析數據的一個核心組件,索引是以可理解的方式有效操作矩陣的關鍵。
    的頭像 發表于 09-05 09:28 ?542次閱讀
    <b class='flag-5'>MATLAB</b><b class='flag-5'>中</b>的矩陣索引

    IOy系列BACnetIP協議遠程IO模塊用于接入江森Facility Explorer?樓宇自控系統

    在智能樓宇管理的新時代,江森的Facility Explorer?樓宇自控系統以其高效能和先進的技術引領著行業的發展。而鋇錸技術的IOy系列BACnet/IP協議遠程I/O模塊BA190的引入,為
    的頭像 發表于 08-26 14:23 ?437次閱讀

    SD的識別、掛載、讀寫性能是如何檢測的呢?

    工業網關和工業路由器,經常用到SD,SD的識別、掛載、讀寫性能是如何檢測的呢?有哪些檢測命令?一起學習一下吧: 1.插入SD卡到工業路由器的SD
    發表于 07-24 08:18

    瑞薩電子推出Reality AI Explorer Tier,用于開發AI與TinyML解決方案

    全球半導體解決方案供應商瑞薩電子(TSE:6723)宣布推出Reality AI Explorer Tier——作為Reality AI Tools軟件的免費版本,可用于開發工業、汽車和商業應用的AI與TinyML解決方案。
    的頭像 發表于 07-19 10:03 ?491次閱讀

    在RT-Thread Studio中新建的stm32f407-atk-explorer工程運行qemu失敗,是什么原因引起的?

    在RT-Thread Studio中新建的stm32f407-atk-explorer工程運行qemu失敗,是什么原因引起的?該如何修改? 工程創建的配置如下: 運行結果如下:
    發表于 07-16 06:08

    如何使用MATLAB創建預測模型

    在這篇文章,我們將討論如何使用MATLAB創建預測模型。MATLAB(矩陣實驗室)是一種用于數值計算、可視化和編程的高級編程語言和交互式環境。它廣泛應用于工程、科學研究和金融領域。
    的頭像 發表于 07-11 14:29 ?753次閱讀

    如何利用Matlab進行神經網絡訓練

    ,使得神經網絡的創建、訓練和仿真變得更加便捷。本文將詳細介紹如何利用Matlab進行神經網絡訓練,包括網絡創建、數據預處理、訓練過程、參數調整以及仿真預測等步驟。
    的頭像 發表于 07-08 18:26 ?2064次閱讀

    微軟發布Windows 11累積更新,修復Internet Explorer崩潰問題

    據悉,本次更新旨在解決影響 Internet Explorer 模式的崩潰問題,即在空文本框按下左箭頭鍵可能引發的停滯現象。此外,更新內容還包括克羅地亞貨幣由庫納轉為歐元,以及修復了 VPN 連接失敗等問題。
    的頭像 發表于 05-15 10:13 ?1123次閱讀

    Matlab R2016b創建STM32H743ZIT6控制工程當從Simulink庫拖入TIMx模塊出現報錯的原因?

    Matlab R2016b創建STM32H743ZIT6控制工程當從Simulink庫拖入GPIO和ADC模塊到模型時都沒有問題 但是拖入TIMx模塊出現提下列提示,并且反復蹦出,
    發表于 04-25 07:00

    MATLAB電路仿真中能講電流匯總的元件

    MATLAB電路仿真中,可以使用許多元件匯總電流。以下是一些常見的元件和它們在電路的作用: 電阻(Resistor):電阻是電路中最基本的元件之一,用于限制電流的流動。在MATLAB
    的頭像 發表于 04-21 09:23 ?3614次閱讀

    虹科干貨丨輕松掌握PCAN-Explorer 6,dll調用一文打盡!

    邏輯操作體驗。本文將詳細介紹如何在虹科PE6高效調用dll,包括如何加載和使用dll文件,以及如何創建自定義的dll項目。
    的頭像 發表于 04-19 10:36 ?876次閱讀
    虹科干貨丨輕松掌握PCAN-<b class='flag-5'>Explorer</b> 6,dll調用一文打盡!

    利用ISE與Matlab創建并仿真FPGA設計的ROM IP核

    一般都是先創建MIF文件,將圖像的像素信息用一個ROM儲存起來,然后調用ROM里面的地址進行處理,相當于制作了一個ROM查找表。
    發表于 04-16 11:49 ?690次閱讀
    利用ISE與<b class='flag-5'>Matlab</b><b class='flag-5'>創建</b>并仿真FPGA設計<b class='flag-5'>中</b>的ROM IP核
    百家乐娱乐平台会员注册| 百家乐小77论坛| 百家乐官网怎么玩高手| 百家乐官网园游戏庄闲| 百家乐官网赌机玩法| 百家乐官网怎么玩| 百家乐全程打庄| 澳门百家乐大揭密| 威尼斯人娱乐城优惠| 太阳城娱乐城管理网| 如何玩百家乐官网扑克| 百家乐官网凯时赌场娱乐网规则| 百家乐百家乐论坛| 大发888娱乐免费试玩| 保靖县| 百家乐官网赢钱打| 乐天堂百家乐娱乐网| 大发888娱乐软件| 百家乐官网天天赢钱| 百家乐官网计划软件| 百家乐那里最好| 百家乐官网单跳双跳| 黄金城百家乐官网安卓版| 大连百家乐食品| 泰顺县| 百家乐官网那个娱乐城信誉好| 南京百家乐的玩法技巧和规则| 维多利亚娱乐| 运城百家乐官网的玩法技巧和规则| 百家乐在线洗码| 威尼斯人娱乐城吃饭| KK百家乐官网现金网| 利高百家乐现金网| 大发888官方6222.co| 澳门百家乐官网职业| 蓝盾百家乐打法| 德州扑克英语| 百家乐官网巴厘岛上海在线| 金域百家乐的玩法技巧和规则| 线上真人游戏| 百家乐是骗人吗|