評分卡模型開發-定性指標篩選
阿新 • • 發佈:2019-01-03
定量指標是數值型的,我們還可以用迴歸的方法來篩選,那麼定性的指標怎麼辦呢?
R裡面給我們提供了非常強大的IV值計算演算法,通過引用R裡面的informationvalue包,來計算各指標的IV值,即可得到各定性指標間的重要性度量,選取其中的high predictive指標即可。
有很多小夥伴不知道informationvalue是什麼:
我大概說一下,IV值衡量兩個名義變數(其中一個是二元變數)之間關聯性的常用指標。
library(InformationValue)
library(klaR)
credit_risk<-ifelse(train_kfolddata[,"credit_risk" ]=="good",0,1)
#將違約狀態變數用0和1表示,1表示違約。
tmp<-train_kfolddata[,-21]
data<-cbind(tmp,credit_risk)
data<-as.data.frame(data)
factor_vars<-c("status","credit_history","purpose","savings","employment_duration",
"personal_status_sex","other_debtors","property",
"other_installment_plans" ,"housing","job","telephone","foreign_worker")
#獲取所有名義變數
all_iv<-data.frame(VARS=factor_vars,IV=numeric(length(factor_vars)),
STRENGTH=character(length(factor_vars)),stringsAsFactors = F)
#初始化待輸出的資料框
for(factor_var in factor_vars)
{
all_iv[all_iv$VARS==factor_var,"IV"]<-InformationValue ::IV(X=
data[,factor_var],Y=data$credit_risk)
#計算每個指標的IV值
all_iv[all_iv$VARS==factor_var,"STRENGTH"]<-attr(InformationValue::IV(X=
data[,factor_var],Y=data$credit_risk),"howgood")
#提取每個IV指標的描述
}
all_iv<-all_iv[order(-all_iv$IV),] #排序IV
由結果可知,可選擇的定性入模指標,如表3.12所示。
綜上所述,模型開發中定量和定性的入模指標如表3.13所示。
對入模的定量和定性指標,分別進行連續變數分段(對定量指標進行分段),以便於計算定量指標的WOE和對離散變數進行必要的降維。對連續變數的分段方法通常分為等距分段和最優分段兩種方法。等距分段是指將連續變數分為等距離的若干區間,然後在分別計算每個區間的WOE值。最優分段是指根據變數的分佈屬性,並結合該變數對違約狀態變數預測能力的變化,按照一定的規則將屬性接近的數值聚在一起,形成距離不相等的若干區間,最終得到對違約狀態變數預測能力最強的最優分段。