Logistic Regression在評分卡模型中的應用
一、Logistic Regression模型的基本概念
線性迴歸無法對{違約,非違約}這類標籤進行建模。對於分類模型而言,建模的物件是每個類別在某條樣本上出現的概率
伯努利概型:
在違規預測場景中,單個個體違約事件可以看成伯努利概型,引數pi即需要預測的目標
通過Logistic變換(sigmoid函式),使目標函式的取值範圍限定在(0,1) f'(x)=f(x)(1-f(x)) f(x)的特點:
將Logistic變換應用在概率中, Xi表示第i個觀測值上p個特徵的取值,β表示該特徵的權重。 |
通過Logistic變換,上述模型的形式變為:。對違約概率做迴歸,而非違約結果(0or1)
引數估計:通過極大似然估計法(MLE)求出引數β,使得似然函式最大化。
通常將似然函式最大化問題轉化為對數似然函式最大化,原因如下:
-
對數似然函式與似然函式單調上升且具有更緊湊的形式
-
對數似然函式更易於求導計算
似然函式:
對數似然函式:
通過偏導求最大化時引數β的值:失敗 對數似然函式最大化: 即,對LL(x,y|β)求偏導,並求偏導數為0時的解析解: |
通過數值求解的方式來計算引數β:梯度上升法(下降法是減,其實是一樣的)
-
初始化引數β0和步長h,
-
計算當前梯度
-
更新引數
-
直至滿足終止條件
根據梯度使用的樣本量,分為:
-
批量梯度上升法
-
隨機梯度上升法
-
小批量梯度上升法
Logistic Regression模型的優缺點:
-
優點
-
結構簡單:變數之間的關係是線性可加關係
-
可解釋性高:輸入變數對目標變數的影響是容易獲得的
-
支援增量訓練:無需讀入全部資料,可增量式的讀取資料、訓練模型
-
給出概率而非判別類別:估計出屬於某一類的概率,結果可用於更復雜的決策
-
工程化相對容易:測試、部署、監控、調優等工作相對簡單
-
-
缺點
-
預測精度一般:結構較簡單,預測精度不如其他模型
-
對變數要求高
-
數值型別,對非數值變數要進行編碼
-
不能有缺失值,需要對缺失值處理
-
對異常值敏感,需要對異常值處理
-
變數尺度差異大時,需要做歸一化
-
變數間的線性相關性對模型有影響,需要做變數挑選或加上正則項
-
-
二、基於Logistic Regression模型的評分卡構建工作
Logistic Regression模型對變數的要求:
-
變數間不存在較強的線性相關性和多重共線性(在單變數、多變數分析中得到一定約束,但未必充分)
-
變數具有顯著性(從係數的p值-如低於0.1-進行檢測)
-
變數具有合理的業務含義,即變數對於風控業務是正確的(從係數的符號進行檢驗)
1.變數顯著性:為了獲取與目標變數(即違約標籤)有較高相關性的變數
如果發現模型中某些變數不顯著,需要檢驗:
-
該變數本身不顯著。檢驗方法:
-
將該變數單獨與目標變數做Logistic Regression模型
-
如果單變量回歸下,係數的p值仍然較高(比如高於0.1),即該變數本身的顯著性很低
-
另:對於IV較高的變數,不顯著的可能性較低
-
-
該變數顯著,但由於有一定的線性相關性或者多重共線性,導致該變數在多元迴歸下不顯著
-
先檢驗1,如果排除,再檢驗2
2.變數正確性
-
WOE為負:當前箱的“危險性”高於平均樣本的“危險性”,出現壞樣本的概率更高。
-
所有變數對應的係數應該為負。
-
如果B、G反過來,那負為正。
兩個問題和答案,附在文末。
3.特徵選擇
全變數都加入LR模型,會出現許多不顯著、不正確的變數是由於線性相關性引起的。因此,需要做變數挑選。
目的:
-
入模變數正確並且顯著
-
入模變數的“重要性”是最高的(用IV衡量)
挑選變數的步驟:
-
將變數根據IV進行降序排列,x1>x2>...>xp
-
當前的入模變數集合為{x1}
-
從剩餘的變數中挑選第一個變數放入上一步的集合中,建立迴歸模型,如果該變數的所有的變數都滿足p值小於閾值(一般為0.1)、係數為負,則在入模變數集合中保留該變數,否則剔除
-
遍歷所有變數(簡單說:一個一個往裡加,不行就扔)
三、尺度化
得到LR模型後,通常要將概率轉化成分數。分數的單調性與概率相反。違約概率越低,信用資質越好,評分越高。這個過程,稱為“尺度化”。
轉化公式為:,其中
-
PDO的作用:當好壞比上升1倍時,分數上升PDO個單位
-
Base Point的選擇:要滿足所有的評分的取值為正
最後得到評分分佈呈鐘形正態分佈,說明模型較好,尺度化比較成功。
問題1:對所有正係數的變數單獨做一元Logistic Regression,係數全部為-1,為什麼?
答:定性的來看,在特徵都已經標準化的情況下:
-
係數的絕對值越大,說明這個特徵越重要。
-
如果係數為正,這個特徵與目標值為1的概率正相關
-
如果係數為負,這個特徵與目標值為0的概率正相關
那麼,係數為-1,說明這個特徵出現懷樣本的概率幾乎為0
問題2:在一元Logistic Regression中,常數項(或稱為截距項)有什麼含義?
回答這個問題,我們先從定義出發,然後再結合個實際例子去理解。從定義來看,多元線性迴歸方程定義如下: 這裡的 a 為常數項, 為隨機誤差項,且服從標準正態分佈( ),或者我們把它稱作白噪聲(white noise)。通過影象,我們可以很好理解常數項和隨機誤差的含義: 上圖是多元線性迴歸迴歸的一個特例,即一元線性迴歸。多元就是在一元的基礎上,用更多的自變數對因變數進行解釋。我們以一元為例,來看常數項和隨機誤差的含義。從圖中可以看出,常數項是擬合的一元迴歸直線在因變數(Y)軸上的截距;誤差是實際的點和迴歸直線之間的差,而隨機則表示的是這個誤差不是固定的,有大有小,沒有特定的規律,服從標準正態分佈。具體來說,常數項表示的是未被自變數解釋的且長期存在(非隨機)的部分,即資訊殘留。而隨機誤差是在自變數解釋空間內,預測值和去掉常數項的實際值的誤差。下圖是從一個多元線性迴歸模型的視角去看問題:因變數(Y)代表需要解釋的全體資訊,模型裡的Xi構成的空間是自變數解釋空間,隨機誤差存在於自變數解釋空間中。在自變數解釋空間外,如果還有恆定的資訊殘留,那麼這部分資訊構成常數項。 一言以蔽之,在計量經濟學的線性迴歸模型中,常數項在很多情況下並無實際的解釋意義。 要論含義,常數項的數學含義是,平均來講,當所有解釋變數的值為0的時候,被解釋變數的值是幾?但是在計量經濟學的實證模型中,這通常是無意義的,原因很簡單,因為在很多時候,解釋變數的定義域並不一定包括0,比如人的身高、體重等等。可是,即便所有的解釋變數都可以同時取0,常數項依然是基本無意義的。我們回到線性迴歸的本質上來講的話,所有引數的確定都為了一個目的:讓殘差項的均值為0,而且殘差項的平方和最小。所以,想象一下,當其他的引數都確定了以後,常數項的變化在影象上表現出來的就是擬合曲線的上下整體浮動,當曲線浮動到某一位置,使得在該位置上,殘差項的均值為0,曲線與y軸所確定的截距即為常數項。因此,可以理解為常數項是對其他各個解釋變數所留下的偏誤(bias)的線性修正。但是要說常數項具體的值所代表的解釋意義,在通常情況下是無意義的。 寫到這裡,有人可能會問,既然無意義,我們何不去掉常數項?答案是否定的,原因是,如果去除了常數項,就等於強制認定當所有解釋變數為0時,被解釋變數為0。如果這個斷定不符合實際意義,而你執意去除常數項的話,你的線性估計將是有偏的。 隨機誤差項的理解相對簡單,線上性迴歸模型中,每一個觀測值都有一個殘差項,也叫隨機誤差項,它刻畫的是模型的估計值和真實觀測值之間的偏差。 說實在的,區別不太大,而且有的時候去掉常數項各變數t值會有上升。 平狄克的「econometrics」書中提到過「可以將常數項看作是值恆為1的一個虛擬變數的係數」(上述原話為英文,但是是這個意思)也就是說,它可能包含了一些你忽視掉的虛擬變數。 而且帶常數項的模型其實是對隨機誤差項的優化,我們在做OLS時總是假定隨機誤差項是標準正態分佈的,但這很難滿足。假設隨機誤差項的均值不是0,而是一個常數,那麼加入常數項的模型就會使得隨機誤差項又變成了標準正態分佈,它的期望就被含在常數項裡了。總而言之,這樣的模型更為靠譜。 |