證據(jù)權(quán)重 (WOE) 和信息價(jià)值 (IV)
在本文中,我們將介紹證據(jù)權(quán)重和信息價(jià)值的概念,以及如何在預(yù)測(cè)建模過(guò)程中使用它們,以及如何使用 SAS、R 和 Python 計(jì)算它們的詳細(xì)信息。
邏輯回歸模型是解決二分類問(wèn)題最常用的統(tǒng)計(jì)技術(shù)之一。這是幾乎所有領(lǐng)域都可以接受的技術(shù)。這兩個(gè)概念——證據(jù)權(quán)重 (WOE) 和信息價(jià)值 (IV) 從相同的邏輯回歸技術(shù)演變而來(lái)。這兩個(gè)術(shù)語(yǔ)在信用評(píng)分領(lǐng)域已經(jīng)存在超過(guò) 4-5 年了。它們已被用作篩選信用風(fēng)險(xiǎn)建模項(xiàng)目中的變量(例如違約概率)的基準(zhǔn)。它們有助于探索數(shù)據(jù)和篩選變量。它還用于營(yíng)銷分析項(xiàng)目,例如客戶流失模型、活動(dòng)響應(yīng)模型等。
什么是證據(jù)權(quán)重 (WOE)?
證據(jù)權(quán)重表明自變量相對(duì)于因變量的預(yù)測(cè)能力。由于它是從信用評(píng)分世界演變而來(lái)的,它通常被描述為區(qū)分好客戶和壞客戶的衡量標(biāo)準(zhǔn)。“壞客戶”是指拖欠貸款的客戶。和“優(yōu)質(zhì)客戶”指的是誰(shuí)償還貸款的客戶。
商品分布 -特定組中好客戶的百分比 不良
分布 -特定組中不良客戶的百分比
ln -自然對(duì)數(shù)
正 WOE 表示貨物分布 > 不良品分布
負(fù) WOE 表示商品分布 < 不良品分布
提示:數(shù)字的對(duì)數(shù) > 1 表示正值。如果小于 1,則表示負(fù)值。
許多人不理解商品/不良品這兩個(gè)術(shù)語(yǔ),因?yàn)樗鼈兊谋尘芭c信用風(fēng)險(xiǎn)不同。從事件和非事件的角度理解 WOE 的概念是很好的。它的計(jì)算方法是取非事件百分比和事件百分比除以的自然對(duì)數(shù)(以 e 為底的對(duì)數(shù))。
WOE = In(非事件百分比 ? 事件百分比)
計(jì)算 WOE 的步驟
對(duì)于連續(xù)變量,將數(shù)據(jù)分成 10 份(或更少,具體取決于分布)。
計(jì)算每組中事件和非事件的數(shù)量(bin)
計(jì)算每組中事件的百分比和非事件的百分比。
通過(guò)取非事件百分比和事件百分比的自然對(duì)數(shù)來(lái)計(jì)算 WOE
注意:對(duì)于分類變量,您不需要拆分?jǐn)?shù)據(jù)(忽略步驟 1 并按照其余步驟進(jìn)行操作)

證據(jù)權(quán)重和信息價(jià)值計(jì)算
下載:WOE和IV的Excel模板
與 WOE 相關(guān)的術(shù)語(yǔ)
1. 精細(xì)分類
為連續(xù)自變量創(chuàng)建 10/20 個(gè) bins/groups,然后計(jì)算變量的 WOE 和 IV
2. 粗分類
合并具有相似 WOE 分?jǐn)?shù)的相鄰類別
WOE的使用
證據(jù)權(quán)重 (WOE) 有助于根據(jù)因變量分布的相似性(即事件和非事件的數(shù)量)將連續(xù)自變量轉(zhuǎn)換為一組組或箱。
對(duì)于連續(xù)自變量:首先,為連續(xù)自變量創(chuàng)建分箱(類別/組),然后將具有相似 WOE 值的類別組合起來(lái),并用 WOE 值替換類別。在模型中使用 WOE 值而不是輸入值。
對(duì)于分類自變量:組合具有相似 WOE 的類別,然后創(chuàng)建具有連續(xù) WOE 值的自變量的新類別。換句話說(shuō),在模型中使用 WOE 值而不是原始類別。轉(zhuǎn)換后的變量將是具有 WOE 值的連續(xù)變量。它與任何連續(xù)變量相同。
為什么將具有相似 WOE 的類別組合在一起?
這是因?yàn)榫哂邢嗨?WOE 的類別具有幾乎相同的事件和非事件比例。換句話說(shuō),這兩個(gè)類別的行為是相同的。
WOE相關(guān)規(guī)則
每個(gè)類別 (bin) 應(yīng)至少有 5% 的觀察值。
對(duì)于非事件和事件,每個(gè)類別 (bin) 都應(yīng)該是非零的。
每個(gè)類別的 WOE 應(yīng)該是不同的。類似的群體應(yīng)該被聚合。
WOE 應(yīng)該是單調(diào)的,即隨著分組增加或減少。
缺失值單獨(dú)裝箱。
箱數(shù)(組)
一般來(lái)說(shuō),取 10 或 20 個(gè) bin。理想情況下,每個(gè) bin 應(yīng)包含至少 5% 的案例。bin 的數(shù)量決定了平滑的數(shù)量 - bin 越少,平滑越多。如果有人問(wèn)你“為什么不形成 1000 個(gè)垃圾箱?” 答案是捕獲數(shù)據(jù)中重要模式的 bin 越少,同時(shí)排除噪聲。案例少于 5% 的 bin 可能不是數(shù)據(jù)分布的真實(shí)情況,并可能導(dǎo)致模型不穩(wěn)定。
處理零事件/非事件
如果特定 bin 不包含事件或非事件,您可以使用以下公式忽略丟失的 WOE。我們將組中事件和非事件的數(shù)量增加 0.5。
調(diào)整后的WOE = ln(((組中的非事件數(shù)+ 0.5)/非事件數(shù)))/((組中的事件數(shù)+ 0.5)/事件數(shù)))
如何使用 WOE 檢查正確的分箱
1. WOE 應(yīng)該是單調(diào)的,即隨著 bin 增加或減少。您可以在圖表上繪制 WOE 值并檢查線性度。
2.分箱后進(jìn)行WOE變換。接下來(lái),我們使用 1 個(gè)具有 WOE 值的自變量運(yùn)行邏輯回歸。如果斜率不是 1 或截距不是ln(非事件的百分比/事件的百分比),則分箱算法不好。[來(lái)源: 文章]
WOE 的好處
它可以處理異常值。假設(shè)你有一個(gè)連續(xù)變量,比如年薪,極值超過(guò)5億美元。這些值將被歸為一類(假設(shè)為 250-5 億美元)。稍后,我們將使用每個(gè)類別的 WOE 分?jǐn)?shù),而不是使用原始值。
它可以處理缺失值,因?yàn)槿笔е悼梢詥为?dú)裝箱。
由于 WOE 轉(zhuǎn)換處理分類變量,因此不需要虛擬變量。
WoE 轉(zhuǎn)換可幫助您與對(duì)數(shù)賠率建立嚴(yán)格的線性關(guān)系。否則用對(duì)數(shù)、平方根等其他變換方法很難實(shí)現(xiàn)線性關(guān)系??傊?,如果你不使用WOE變換,你可能需要嘗試幾種變換方法來(lái)實(shí)現(xiàn)這一點(diǎn)。
什么是信息價(jià)值 (IV)?
信息值是在預(yù)測(cè)模型中選擇重要變量的最有用的技術(shù)之一。它有助于根據(jù)變量的重要性對(duì)變量進(jìn)行排名。IV 使用以下公式計(jì)算:
IV = ∑(非事件百分比 - 事件百分比)* WOE
信息價(jià)值相關(guān)規(guī)則
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?信息價(jià)值可變預(yù)測(cè)性小于 0.02對(duì)預(yù)測(cè)沒(méi)有用0.02 到 0.1預(yù)測(cè)能力弱0.1 到 0.3中等預(yù)測(cè)能力0.3 到 0.5強(qiáng)大的預(yù)測(cè)能力>0.5可疑的預(yù)測(cè)能力
根據(jù) Siddiqi (2006),按照慣例,信用評(píng)分中 IV 統(tǒng)計(jì)量的值可以解釋如下。
如果 IV 統(tǒng)計(jì)量是:
小于 0.02,則預(yù)測(cè)器對(duì)建模沒(méi)有用
0.02 到 0.1,則預(yù)測(cè)變量與 Goods/Bads 優(yōu)勢(shì)比的關(guān)系很弱
0.1 到 0.3,則預(yù)測(cè)變量與 Goods/Bads 優(yōu)勢(shì)比具有中等強(qiáng)度關(guān)系
0.3 到 0.5,則預(yù)測(cè)變量與 Goods/Bads 優(yōu)勢(shì)比有很強(qiáng)的關(guān)系。
> 0.5,高的可疑(需要檢查)
要點(diǎn)
信息值隨著自變量的 bins/groups 增加而增加。當(dāng)有超過(guò) 20 個(gè) bin 時(shí)要小心,因?yàn)橛行?bin 可能只有很少的事件和非事件。
當(dāng)您構(gòu)建除二元邏輯回歸(例如隨機(jī)森林或 SVM)以外的分類模型時(shí),信息值不是最佳特征(變量)選擇方法,因?yàn)闂l件對(duì)數(shù)幾率(我們?cè)谶壿嫽貧w模型中預(yù)測(cè))高度相關(guān)到證據(jù)權(quán)重的計(jì)算。換句話說(shuō),它主要是為二元邏輯回歸模型設(shè)計(jì)的。也可以這樣想 - 隨機(jī)森林可以很好地檢測(cè)非線性關(guān)系,因此通過(guò)信息值選擇變量并在隨機(jī)森林模型中使用它們可能不會(huì)產(chǎn)生最準(zhǔn)確和魯棒的預(yù)測(cè)模型。
如何計(jì)算連續(xù)因變量的 WOE 和 IV
連續(xù)因變量的 WOE 和 IV
Python、SAS 和 R 中的證據(jù)權(quán)重和信息價(jià)值
代碼
Python代碼
SAS代碼
第 1 步:安裝和加載包首先你需要安裝“信息”包,然后你需要在 R 中加載包。
install.packages("信息")
庫(kù)(信息)
第 2 步:導(dǎo)入您的數(shù)據(jù)
#讀取數(shù)據(jù)
mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")
第 3 步:匯總數(shù)據(jù)
在這個(gè)數(shù)據(jù)集中,我們有四個(gè)變量和 400 個(gè)觀察值。變量admit 是一個(gè)二元目標(biāo)或因變量。
摘要(我的數(shù)據(jù))
第 4 步:數(shù)據(jù)準(zhǔn)備
確保您的獨(dú)立分類變量作為因子存儲(chǔ)在 R 中。您可以使用以下方法進(jìn)行操作 -
mydata$rank <- 因子(mydata$rank)
重要說(shuō)明:在按照此包運(yùn)行 IV 和 WOE 之前,二進(jìn)制因變量必須是數(shù)字。不要讓它成為因素。
第 5 步:計(jì)算信息價(jià)值和 WOE
在第一個(gè)參數(shù)中,您需要定義數(shù)據(jù)框,然后是目標(biāo)變量。在 bins= 參數(shù)中,您需要指定要為 WOE 和 IV 創(chuàng)建的組數(shù)。
IV <- create_infotables(data=mydata, y="admit", bins=10, parallel=FALSE)
它將除因變量之外的所有變量作為數(shù)據(jù)集中的預(yù)測(cè)變量,并對(duì)它們運(yùn)行 IV。
該函數(shù)支持并行計(jì)算。如果你想在并行計(jì)算模式下運(yùn)行你的代碼,你可以運(yùn)行以下代碼。
IV <- create_infotables(data=mydata, y="admit", bins=10, ? parallel=TRUE )
您可以添加ncore=參數(shù)以提及用于并行處理的內(nèi)核數(shù)。
R 中的信息值 在 IV 列表中,列表摘要包含所有自變量的 IV 值。
IV_Value = data.frame(IV$Summary)
要獲取變量gre 的WOE 表,您需要從 IV 列表中調(diào)用表列表。
打?。↖V$Tables$gre,row.names=FALSE)
要將其保存在數(shù)據(jù)框中,您可以運(yùn)行以下命令 - gre = data.frame(IV$Tables$gre)
繪制 WOE 分?jǐn)?shù)
要查看 WOE 變量的趨勢(shì),您可以使用plot_infotables函數(shù)繪制它們。
plot_infotables(IV, "gre")

WOE 情節(jié)
要在一頁(yè)上生成多個(gè)圖表,您可以運(yùn)行以下命令 -
plot_infotables(IV, IV$Summary$Variable[1:3], same_scale=FALSE)

多圖 WOE
重要點(diǎn)?
是要注意“等級(jí)”變量的箱數(shù)。由于它是一個(gè)分類變量,bin 的數(shù)量將取決于因子變量的唯一值。參數(shù) bins=10 不適用于因子變量。
版權(quán)申明
文本原創(chuàng)于公眾號(hào):python風(fēng)控模型
歡迎學(xué)習(xí)更多金融風(fēng)控相關(guān)知識(shí)《python金融風(fēng)控評(píng)分卡模型和數(shù)據(jù)分析》
