【分类算法】Logistic算法原理、标准评分卡开发流程、python代码案例
【博客地址】:https://blog.csdn.net/sunyaowu315
【博客大綱地址】:https://blog.csdn.net/sunyaowu315/article/details/82905347
??對數據分析、機器學習、數據科學、金融風控等感興趣的小伙伴,需要數據集、代碼、行業報告等各類學習資料,可添加微信:wu805686220(記得要備注喔!),也可關注微信公眾號:風控圏子(別打錯字,是圏子,不是圈子,算了直接復制吧!)
關注公眾號后,可聯系圈子助手加入如下社群:
- 機器學習風控討論群(微信群)
- 反欺詐討論群(微信群)
- python學習交流群(微信群)
- 研習社資料(qq群:102755159)(干貨、資料、項目、代碼、報告、課件)
相互學習,共同成長。
問題:
- Logistic算法的原理是啥啊?
- 為何用卡方分箱?
- 為何需要woe編碼呢?
- 變量bad rate必須滿足單調性嗎?
- 為何要檢驗變量的正負性、單調性、相關性?
- IV值有什么用啊?該怎么判斷呢?
- 最終標準評分怎么轉換的?為什么要加一個截距項呢?
文章目錄
- 一 Logistic算法原理
- 1、基本概念
- 2、算法特點
- 3、算法應用
- 4、算法推導
- 1)Logistic分布
- 2)二項Logistic回歸模型
- 3)模型參數估計
- 4)極大似然估計
- 二 標準評分卡開發流程
- 1、數據獲取
- 2、數據處理
- 1)EDA
- 2)特征工程
- 3)分箱
- 3、變量選擇
- 1)woe編碼
- 2)IV重要性
- 3)顯著性、共線性、正負性、單調性分析的問題
- 4、模型開發
- 5、模型評估及監測指標
- 三 基于Logistic算法的標準評分卡開發python代碼案例實操
- 四 總結
一 Logistic算法原理
1、基本概念
??邏輯斯蒂回歸(logistic regression )是統計學中的經典分類方法,屬于廣義線性模型(generalizedlinear model)。雖然名字里帶“回歸”,但它實際上是一種分類方法,與多重線性回歸有很多相同之處,最大的區別就在于它們的因變量取值不同。
??廣義線下模型家族:
- 若因變量是連續分布,就是多重線性回歸
- 若因變量是二項分布,就是Logistic回歸
- 若因變量是Poisson分布,就是Poisson回歸
- 若因變量是負二項分布,就是負二項回歸
??Logistic是這樣一個過程:對一個回歸或者分類問題,建立代價函數,通過優化方法迭代求解出這個函數的最優參數,然后測試驗證這個模型的好壞。
2、算法特點
??優點:
- 速度快,適合二分類問題
- 易解釋,可以直接看到模型中各個變量的權重
- 易調整,能容易地更新模型,吸收新的數據
??缺點:
- 對數據和場景的適應性有限,精度一般,不如樹模型、SVM、adaboost等一些其他的常用分類模型給力。
3、算法應用
??在Logistic回歸模型中,y是一個定性變量,比如y=0或1,故其主要應用于研究某些分類事件發生的概率,如:銀行業金融借貸場景中預測風險客戶的違約逾期概率;氣象局根據一些天氣因素判斷是否下雨;醫療機構根據病情特征判斷客戶患病的概率等。
- 概率預測:根據模型,預測事件發生的概率;
- 類型判別:將事件分類。
4、算法推導
1)Logistic分布
??我們首先介紹下Logistic分布(logistic distribution):
??設X為連續隨機變量,X服從Logistic分布是指X具有下列分布函數和密度函數:
??如果所示:
2)二項Logistic回歸模型
??二項Logistic回歸模型(binomial logistic regression model)是一種分類模型,由條件概率P(Y|X)表示,形式為參數化的Logistic分布。這里,X取實數,Y取值0或1。
??二項Logistic回歸模型是如下的條件概率分布:
??這里x是輸入,y是輸出,w和b是參數,w成為權值向量,b稱為偏置,w*x為w和x的內積。
??Logistic回歸比較兩個條件概率的大小,將實例分到概率值較大的那一類。
??當輸入向量和權值向量擴充時,w = (w(1),w(2),…,w(n),b)T,X = (x(1),x(2),…,x(n),1)T,這時,Logistic回歸模型如下:
??一個事件的幾率(odds)是指該事件發生概率與不發生概率的比值,如果事件發生的概率為p,不發生的概率為1-p,那么該事件的odds為p/(1-p),該事件的對數幾率log odds 或logit函數為:
??對邏輯回歸而言,得:
??注意!注意!pay attention!!!
??也就是說,在Logistic回歸模型中,輸出Y=1的對數幾率是輸入x的線性函數,或者說,輸出Y=1的對數幾率是由輸入x的 線性函數 表示的模型。
??通過Logistic回歸模型定義式可以將線性函數w*x轉換為概率:
??這時,線性函數的值越接近正無窮,概率值越接近1;線性函數的值越接近負無窮,概率值越接近0。這樣的模型,就是Logistic回歸模型。
3)模型參數估計
??Logistic回歸模型學習時,對于給定的訓練數據集T={(x1,y1),(x2,y2),…,(xn,yn)},可以應用極大似然估計模型參數,從而得到完整的Logistic回歸模型。
??設:
??似然函數為:
??對數似然函數為:
??對L(w)求極大值,得到w的估計值。
??注意!注意!pay attention!!!
??這樣,求參問題,就變為了以對數似然函數為目標函數的求參問題,Logistic回歸學習中通常采用的方法是梯度下降法及擬牛頓法。
??假設w的極大似然估計值是w,那么學到的Logistic回歸模型為:
4)極大似然估計
??(待續!)
二 標準評分卡開發流程
1、數據獲取
??準備數據源,如:
2、數據處理
1)EDA
??對數據做描述性分析和探索性分析,發現變量的基本屬性。
2)特征工程
??此處特征工程,特征特征處理,如缺失值、異常值、錯誤值、離群值等處理。
??對字段特征做處理,具體處理方式,請移步特征工程篇:【特征工程】嘔心之作——深度了解特征工程
3)分箱
- 概念:
1.將連續變量離散化
2.將多狀態的離散變量合并成少狀態 - 目的:
從模型效果上來看,特征分箱主要是為了降低變量的復雜性,減少變量噪音對模型的影響,提高自變量和因變量的相關度。從而使模型更加穩定。 - 注意事項:
分箱就是為了做到同組之間的差異盡可能的小,不同組之間的差異盡可能的大。 - 分箱方法:
等距、等頻、卡方分箱、決策樹分箱法 - 分箱原則:
(1)最小分箱占比不低于5%
(2)箱內不能全部是好客戶
(3)連續箱單調
3、變量選擇
1)woe編碼
- 概念:
由于制作評分卡的某些需要,通常會在建立評分模型時將自變量(連續+離散都可以)做離散化處理(等寬切割,等高切割,或者利用決策樹來切割),但是模型本身沒辦法很好地直接接受分類自變量的輸入。所以信用評分卡中常用的WOE轉換。 - 目的:
提升模型的預測效果,提高模型的可理解性。 - 公式:
WOE的公式就是:WOE=ln(好客戶占比/壞客戶占比)*100%=優勢比
好客戶占比=數量(x︱y=好)/總人數
2)IV重要性
-
概念:
??IV的全稱是Information Value,中文意思是信息價值,或者信息量。
??在用邏輯回歸、決策樹等模型方法構建分類模型時,經常需要對自變量進行篩選。通常情況下,不會直接把所有變量直接放到模型中去進行擬合訓練,而是會用一些方法。
??挑選入模變量過程是個比較復雜的過程,需要考慮的因素很多,比如:變量的預測能力,變量之間的相關性,變量的簡單性(容易生成和使用),變量的強壯性(不容易被繞過),變量在業務上的可解釋性(被挑戰時可以解釋的通)等等。但是,其中最主要和最直接的衡量標準是變量的預測能力。
??“變量的預測能力”這個說法很籠統,很主觀,非量化,而我們需要一些具體的量化指標來衡量每自變量的預測能力,并根據這些量化指標的大小,來確定入模變量。IV就是這樣一種指標,他可以用來衡量自變量的預測能力。類似的指標還有信息增益、基尼系數等等。 -
公式:
-
標準:
??iv值一般取0.1-0.5,但iv值并不是越高越好,當高于0.5時就很可疑,因為它太過于好而顯得不真實。但是也有些風控團隊也將大于0.5的納入模型,但是在學術界一般取值0.1-0.3
3)顯著性、共線性、正負性、單調性分析的問題
??在變量初步選擇完成后,我們還需要檢查變量的可用性。通常要考慮的就是變量的顯著性、共線性、正負性、單調性問題。
??注意!注意!pay attention!!!
??顯著性水平,P-value,用于檢驗變量的有效性,通常取值為0.05以內。但在實際應用中,設為0.1,有可能比0.05更好,0.1的顯著性水平就夠了,90%相比95%的置信區間,其估計的誤差范圍要更小,也就是說犧牲估計的把握度可以換來估計的精確度。
??共線性不比解釋,共線性明顯容易導致過擬合。
??單調性和正負性呢?我們記得在Logistic回歸模型中,輸出Y=1的對數幾率是輸入x的線性函數,又因為既然是線性函數,w內積向量的取值就需要正負一致呀;既然要保持線性,變量bad rate 就要保持單調一致呀。這樣就不容易增加模型的復雜性,更易于解釋。
??我們看圖說話:
??這樣,是否就立即明白了這個算法的簡單性,線性加權的原理,一些困惑是不是就迎刃而解啦!
4、模型開發
??可使用R、python、matlab等語言,自己編寫函數,或直接調用相對應的函數,進行樣本拆分、模型訓練、交叉驗證等騷操作。具體流程,我們移步代碼區,盤一遍就懂。
5、模型評估及監測指標
??風控模型評價指標總結
三 基于Logistic算法的標準評分卡開發python代碼案例實操
??logistic算法構建標準評分卡python代碼實例
四 總結
??logistic模型,是數據分析、建模人員的入門操作,正因其通用性、可調整和易解釋性,才普遍為銀行業、互聯網金融行業業務所用。總結一句話:全民兼可盤!
??對數據分析、機器學習、數據科學、金融風控等感興趣的小伙伴,需要數據集、代碼、行業報告等各類學習資料,可添加qq群(資料共享群):102755159,也可添加微信wu805686220,加入微信討論群,相互學習,共同成長。
??風里雨里,只要你騷,我就敢皮。
總結
以上是生活随笔為你收集整理的【分类算法】Logistic算法原理、标准评分卡开发流程、python代码案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【复杂网络】图模型在欺诈检测应用一点看法
- 下一篇: 【科技金融】风控命门——第三届互联网金融