<原创>邏輯回歸與神經網路建模入門
应台湾朋友的邀请,写一篇繁体字的建模文章。
简体中文版将会以pdf形式发布在微信群里,进群请联系管理员:wmyd80
本案例是根據筆者的工作經驗,根據某網貸的實際建模工作精簡而成。旨在學習建模內容和傳達建模思想方法。供各位讀者入門學習只用。
第一部分資料選取
我們從資料庫中選取前段收集到的一些資料類型,比如使用者屬性,以及一些風控欄位等可以進行量化的資料。選取如下資料:還款狀態;性別;設備;年齡區間;民族;入網時長區間;長期平均話費區間;近3個月呼入通話時長區間;近3個月內呼出通話時長區間;近3個月通話次數區間;近3個月通話時長區間;近3個月與緊急連絡人通話次數區間;運營商連絡人與APP連絡人一致條數區間;芝麻分區間;小信分區間。
第二部分定義好壞
在還款狀態資料中,逾期不還款的一定是“壞”資料;還有一些正常還款和提前還款的這一定是“好”資料,另一類是逾期後還款的,我個人定義為趨向於“好”資料,本次建模定義為好。
第三部分資料分析
我們從庫中隨機抽取10000條資料,進行建模被選資料。簡單的給出幾個分析圖。
我們針對使用者進行一次好壞資料統計
行標籤 | 好 | 壞 | 總計 |
提前還款 | 9.12% | 0.00% | 9.12% |
逾期未還 | 0.00% | 44.36% | 44.36% |
逾期已還 | 17.63% | 0.00% | 17.63% |
正常還款 | 28.89% | 0.00% | 28.89% |
總計 | 55.64% | 44.36% | 100.00% |
經過簡單資料分析之後,我們就可以開始建模了
第四部分建模解析
建模之前我們需要具備的知識
1、傳統建模方法,例如多元線性回歸、邏輯回歸,這些都需要woe和IV分析,分箱等。詳細內容可以看我以前寫的建模5課。
2、神經網路建模需要瞭解神經網路的基礎知識,将在本期發佈的內容中會轉載基礎知識。
邏輯回歸建模
分類表 | ||||
步 驟 | 觀察值 | 預測值 | ||
是否是壞 | 正確百分比 | |||
好 | 坏 | |||
是否是壞 | 好 | 5868 | 0 | 100.0 |
坏 | 4688 | 0 | .0 | |
整體百分比 | 55.6 | |||
a. 常數包含在模型中。b. 分割值為 .500 |
方程式中的變數 | |||||||
B | S.E. | Wald | df | 顯著性 | Exp(B) | ||
步驟 0 | 常數 | -.225 | .020 | 131.353 | 1 | .000 | .799 |
未在方程式中的變數 | |||||
分數 | df | 顯著性 | |||
步驟 0 | 變數 | 性別編號 | 59.228 | 1 | .000 |
設備編號 | 83.464 | 1 | .000 | ||
年齡區間編號 | 37.554 | 1 | .000 | ||
民族編號 | .319 | 1 | .572 | ||
入網時長區間編號 | 203.140 | 1 | .000 | ||
長期平均話費區間編號 | 93.692 | 1 | .000 | ||
近3個月呼入通話時長區間編號 | .048 | 1 | .827 | ||
近3個月內呼出通話時長區間編號 | 4.197 | 1 | .040 | ||
近3個月通話次數區間編號 | 17.596 | 1 | .000 | ||
近3個月通話時長區間編號 | .030 | 1 | .863 | ||
近3個月與緊急連絡人通話次數區間編號 | 47.355 | 1 | .000 | ||
運營商連絡人與APP連絡人一致條數區間編號 | 67.189 | 1 | .000 | ||
芝麻分1 | .083 | 1 | .773 | ||
小信分區間編號 | 1.931 | 1 | .165 | ||
整體統計資料 | 667.907 | 14 | .000 |
好 | 坏 | 總計 | ||||
觀察值 | 期望 | 觀察值 | 期望 | |||
步驟 1 | 1 | 799 | 800.635 | 257 | 255.365 | 1056 |
2 | 728 | 728.149 | 328 | 327.851 | 1056 | |
3 | 694 | 684.098 | 362 | 371.902 | 1056 | |
4 | 655 | 648.089 | 401 | 407.911 | 1056 | |
5 | 607 | 612.881 | 449 | 443.119 | 1056 | |
6 | 583 | 575.972 | 473 | 480.028 | 1056 | |
7 | 513 | 537.831 | 543 | 518.169 | 1056 | |
8 | 498 | 494.879 | 558 | 561.121 | 1056 | |
9 | 442 | 441.012 | 614 | 614.988 | 1056 | |
10 | 349 | 344.454 | 703 | 707.546 | 1052 |
觀察值 | 預測值 | ||||
是否是壞 | 正確百分比 | ||||
好 | 坏 | ||||
步驟 1 | 好 | 4461 | 1407 | 76.0 | |
坏 | 2674 | 2014 | 43.0 | ||
整體百分比 | 61.3 | ||||
a. 分割值為 .500 |
B | S.E. | Wald | 顯著性 | Exp(B) | ||
步驟 1a | 性別編號 | .396 | .047 | 69.501 | .000 | 1.486 |
設備編號 | -.306 | .043 | 51.071 | .000 | .736 | |
年齡區間編號 | -.058 | .017 | 11.269 | .001 | .943 | |
民族編號 | -.002 | .007 | .135 | .714 | .998 | |
入網時長區間編號 | -.095 | .009 | 118.314 | .000 | .910 | |
長期平均話費區間編號 | -.080 | .012 | 43.284 | .000 | .923 | |
近3個月呼入通話時長區間編號 | .036 | .010 | 14.375 | .000 | 1.037 | |
近3個月內呼出通話時長區間編號 | -.035 | .008 | 20.529 | .000 | .965 | |
近3個月通話次數區間編號 | -.077 | .012 | 43.343 | .000 | .926 | |
近3個月通話時長區間編號 | .069 | .012 | 31.956 | .000 | 1.072 | |
近3個月與緊急連絡人通話次數區間編號 | .088 | .010 | 71.509 | .000 | 1.091 | |
運營商連絡人與APP連絡人一致條數區間編號 | -.032 | .005 | 49.108 | .000 | .969 | |
芝麻分1 | .527 | .063 | 70.163 | .000 | 1.693 | |
小信分區間編號 | -.235 | .028 | 70.999 | .000 | .791 | |
常數 | .278 | .105 | 6.952 | .008 | 1.320 |
觀察值清單b | ||||||
觀察值 | 已選取的狀態a | 觀察值 | 預測值 | 預測的群組 | 臨時變數 | |
是否是坏 | 殘差 | Z 殘差 | ||||
3058 | S | 1** | .122 | 0 | .878 | 2.684 |
7638 | S | 1** | .134 | 0 | .866 | 2.540 |
神經網路建模
觀察值處理摘要 | |||
N | 百分比 | ||
樣本 | 訓練 | 4194 | 69.6% |
Testing | 1834 | 30.4% | |
有效 | 6028 | 100.0% | |
已排除 | 4553 | ||
總計 | 10581 |
網路資訊 | |||
輸入階層 | 共變數 | 1 | 性別編號 |
2 | 設備編號 | ||
3 | 年齡 | ||
4 | 民族編號 | ||
5 | 入網時長 | ||
6 | 長期平均話費 | ||
7 | 近3個月內呼入通話總時長 | ||
8 | 近3個月內呼出通話總時長 | ||
9 | 近3個月通話次數 | ||
10 | 近3個月通話時長 | ||
11 | 近3個月與緊急連絡人通話總次數 | ||
12 | 運營商連絡人與APP連絡人一致條數 | ||
13 | 芝麻分1 | ||
14 | 小信分 | ||
單位數a | 14 | ||
共變數的重新計算方法 | 標準化 | ||
隱藏階層 | 隱藏階層的數目 | 1 | |
隱藏階層 1 的單位數a | 4 | ||
啟動函數 | 雙曲線正切值 | ||
輸出階層 | 因變數 | 1 | 是否是壞 |
單位數 | 2 | ||
啟動函數 | Softmax | ||
錯誤函數 | 交叉熵 | ||
a. 排除偏差單位 |
模型摘要 | ||
訓練 | 交叉熵錯誤 | 2782.136 |
不正確預測數百分比 | 39.8% | |
已使用中止規則 | 1 連續步驟(含錯誤縮減)a | |
訓練時間 | 0:00:00.32 | |
Testing | 交叉熵錯誤 | 1221.470 |
不正確預測數百分比 | 40.4% | |
a. 錯誤計算是以測試樣本為基礎。 |
分類 | ||||
樣本 | 觀察值 | 預測值 | ||
.0 | 1.0 | 正確百分比 | ||
訓練 | .0 | 1590 | 684 | 69.9% |
1.0 | 985 | 935 | 48.7% | |
整體百分比 | 61.4% | 38.6% | 60.2% | |
Testing | .0 | 693 | 295 | 70.1% |
1.0 | 446 | 400 | 47.3% | |
整體百分比 | 62.1% | 37.9% | 59.6% |
ROC
第五部分總結
我們通過對不同的建模方式進行對比,發現效果基本上是一樣的。
邏輯回歸建模後測試資料正確率61.3%,神經網路建模後的整體正確率在60%左右。我建議對全量資料進行建模區分,特別是對於資料維度建議使用多種,本文只採用18個維度數據,在真實的建模過程中,我們採用將模型的測試資料正確率提高到了72%。
笔者自序:
笔者目前担任某持牌网络小贷公司CRO,同时也担任多家公司的风控顾问。因程序员出身,文笔比较差劲,请多包涵。笔者Email: liupc@efiner.cn 欢迎各位批评指正。
笔者微信
承接风控系统建设、联合建模及风险管理咨询。有意者请联络管理员即可
更多原创精彩,请点击
<原创>消费金融风控联盟内部通讯录
<原创>信审与贷后管理部门的那些事
<原创>老司机关于信用类风控策略解析
<原创>机构评分卡解析
<原创>个人评分卡解析
<原创>漫谈风控指标(全文)
<原创>风控管理八项指导原则
<原创>《消费金融真经》之读后感
<原创>现金贷的风控策略