1. 程式人生 > >Logistic Regression在評分卡模型中的應用

Logistic Regression在評分卡模型中的應用

一、Logistic Regression模型的基本概念

線性迴歸無法對{違約,非違約}這類標籤進行建模。對於分類模型而言,建模的物件是每個類別在某條樣本上出現的概率

伯努利概型:

在違規預測場景中,單個個體違約事件可以看成伯努利概型,引數pi即需要預測的目標

通過Logistic變換(sigmoid函式),使目標函式的取值範圍限定在(0,1)

f'(x)=f(x)(1-f(x))

f(x)的特點:

  • 單調性:f(xi)>f(xj) if xi>xj

  • 有界性:(0,1)

  • 可導性:f'(x)存在

將Logistic變換應用在概率中

Xi表示第i個觀測值上p個特徵的取值,β表示該特徵的權重。

通過Logistic變換,上述模型的形式變為:。對違約概率做迴歸,而非違約結果(0or1)

引數估計:通過極大似然估計法(MLE)求出引數β,使得似然函式最大化。

通常將似然函式最大化問題轉化為對數似然函式最大化,原因如下:

  1. 對數似然函式與似然函式單調上升且具有更緊湊的形式

  2. 對數似然函式更易於求導計算

似然函式:

對數似然函式:

通過偏導求最大化時引數β的值:失敗

對數似然函式最大化:

即,對LL(x,y|β)求偏導,並求偏導數為0時的解析解:

,但沒有。

通過數值求解的方式來計算引數β:梯度上升法(下降法是減,其實是一樣的)

  1. 初始化引數β0和步長h,

  2. 計算當前梯度

  3. 更新引數

  4. 直至滿足終止條件

根據梯度使用的樣本量,分為:

  • 批量梯度上升法

  • 隨機梯度上升法

  • 小批量梯度上升法

Logistic Regression模型的優缺點:

  • 優點

    • 結構簡單:變數之間的關係是線性可加關係

    • 可解釋性高:輸入變數對目標變數的影響是容易獲得的

    • 支援增量訓練:無需讀入全部資料,可增量式的讀取資料、訓練模型

    • 給出概率而非判別類別:估計出屬於某一類的概率,結果可用於更復雜的決策

    • 工程化相對容易:測試、部署、監控、調優等工作相對簡單

  • 缺點

    • 預測精度一般:結構較簡單,預測精度不如其他模型

    • 對變數要求高

      • 數值型別,對非數值變數要進行編碼

      • 不能有缺失值,需要對缺失值處理

      • 對異常值敏感,需要對異常值處理

      • 變數尺度差異大時,需要做歸一化

      • 變數間的線性相關性對模型有影響,需要做變數挑選或加上正則項

二、基於Logistic Regression模型的評分卡構建工作

Logistic Regression模型對變數的要求:

  1. 變數間不存在較強的線性相關性和多重共線性(在單變數、多變數分析中得到一定約束,但未必充分)

  2. 變數具有顯著性(從係數的p值-如低於0.1-進行檢測)

  3. 變數具有合理的業務含義,即變數對於風控業務是正確的(從係數的符號進行檢驗)

1.變數顯著性:為了獲取與目標變數(即違約標籤)有較高相關性的變數

如果發現模型中某些變數不顯著,需要檢驗:

  1. 該變數本身不顯著。檢驗方法:

    1. 將該變數單獨與目標變數做Logistic Regression模型

    2. 如果單變量回歸下,係數的p值仍然較高(比如高於0.1),即該變數本身的顯著性很低

    3. 另:對於IV較高的變數,不顯著的可能性較低

  2. 該變數顯著,但由於有一定的線性相關性或者多重共線性,導致該變數在多元迴歸下不顯著

  3. 先檢驗1,如果排除,再檢驗2

2.變數正確性

  • WOE為負:當前箱的“危險性”高於平均樣本的“危險性”,出現壞樣本的概率更高。

  • 所有變數對應的係數應該為負。

  • 如果B、G反過來,那負為正。

兩個問題和答案,附在文末。

3.特徵選擇

全變數都加入LR模型,會出現許多不顯著、不正確的變數是由於線性相關性引起的。因此,需要做變數挑選。

目的:

  • 入模變數正確並且顯著

  • 入模變數的“重要性”是最高的(用IV衡量)

挑選變數的步驟:

  1. 將變數根據IV進行降序排列,x1>x2>...>xp

  2. 當前的入模變數集合為{x1}

  3. 從剩餘的變數中挑選第一個變數放入上一步的集合中,建立迴歸模型,如果該變數的所有的變數都滿足p值小於閾值(一般為0.1)、係數為負,則在入模變數集合中保留該變數,否則剔除

  4. 遍歷所有變數(簡單說:一個一個往裡加,不行就扔)

三、尺度化

得到LR模型後,通常要將概率轉化成分數。分數的單調性與概率相反。違約概率越低,信用資質越好,評分越高。這個過程,稱為“尺度化”。

轉化公式為:,其中

  • PDO的作用:當好壞比上升1倍時,分數上升PDO個單位

  • Base Point的選擇:要滿足所有的評分的取值為正

最後得到評分分佈呈鐘形正態分佈,說明模型較好,尺度化比較成功。

問題1:對所有正係數的變數單獨做一元Logistic Regression,係數全部為-1,為什麼?

答:定性的來看,在特徵都已經標準化的情況下:

  1. 係數的絕對值越大,說明這個特徵越重要。

  2. 如果係數為正,這個特徵與目標值為1的概率正相關

  3. 如果係數為負,這個特徵與目標值為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,而是一個常數,那麼加入常數項的模型就會使得隨機誤差項又變成了標準正態分佈,它的期望就被含在常數項裡了。總而言之,這樣的模型更為靠譜。