本文主要是介绍手把手教你用R语言建立信用评分模型(完结篇)— —打分卡转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
全部代码请访问我的Github:
http://github.com/frankhlchi/R-scorecard (点击原文链接即可)
打分卡转换
我们在上一部分,我们已经基本完成了建模相关的工作,并用混淆矩阵验证了模型的预测能力。接下来的步骤,就是将Logistic模型转换为标准打分卡的形式。
在建立标准评分卡之前,我们需要选取几个评分卡参数:基础分值、 PDO(比率翻倍的分值)和好坏比。 这里, 我们取600分为基础分值,PDO为20 (每高20分好坏比翻一倍),好坏比取2.5。;可得下式:
620 = q - p * log(2.5)
600 = q - p * log(2.5/2)
p = 20/log(2)
q =600-20*log(2.5)/log(2)
其中总评分为基础分+部分得分。基础分可通过:
base <- q + p*as.numeric(coe[1])
算出为597分。
而第一个变量AccountBalance的第一种分箱评分得分为 :
AccountBalanceSCORE = p*as.numeric(coe[2])AccountBalancewoe$woe[1]-1
-17.23854
以此类推, 我们可以得到所有变量取值分箱的得分,详细代码如下。AccountBalance变量:
p*as.numeric(coe[2])AccountBalancewoe$WOE[1]-1
p*as.numeric(coe[2])AccountBalancewoe$WOE[2]-1
p*as.numeric(coe[2])AccountBalancewoe$WOE[3]-1
p*as.numeric(coe[2])AccountBalancewoe$WOE[4]-1
Duration变量:
p*as.numeric(coe[3])Durationwoe$WOE[1]-1
p*as.numeric(coe[3])Durationwoe$WOE[2]-1
p*as.numeric(coe[3])Durationwoe$WOE[3]-1
PaymentStatusofPreviousCredit变量:
p*as.numeric(coe[4])PaymentStatusofPreviousCreditwoe$WOE[1]-1
p*as.numeric(coe[4])PaymentStatusofPreviousCreditwoe$WOE[2]-1
p*as.numeric(coe[4])PaymentStatusofPreviousCreditwoe$WOE[3]-1
p*as.numeric(coe[4])PaymentStatusofPreviousCreditwoe$WOE[4]-1
p*as.numeric(coe[4])PaymentStatusofPreviousCreditwoe$WOE[5]-1
Purpose变量:
for(i in 1:10){
print(p*as.numeric(coe[5])Purposewoe$WOE[i])-1
}
CreditAmount变量
p*as.numeric(coe[6])CreditAmountwoe$WOE[1]-1
p*as.numeric(coe[6])CreditAmountwoe$WOE[2]-1
ValueSavings变量:
p*as.numeric(coe[7])ValueSavingswoe$WOE[1]-1
p*as.numeric(coe[7])ValueSavingswoe$WOE[2]-1
p*as.numeric(coe[7])ValueSavingswoe$WOE[3]-1
p*as.numeric(coe[7])ValueSavingswoe$WOE[4]-1
Lengthofcurrentemployment变量:
p*as.numeric(coe[8])Lengthofcurrentemploymentwoe$WOE[1]-1
p*as.numeric(coe[8])Lengthofcurrentemploymentwoe$WOE[2]-1
p*as.numeric(coe[8])Lengthofcurrentemploymentwoe$WOE[3]-1
p*as.numeric(coe[8])Lengthofcurrentemploymentwoe$WOE[4]-1
Agewoe变量:
p*as.numeric(coe[9])Agewoe$WOE[1]-1
p*as.numeric(coe[9])Agewoe$WOE[2]-1
ForeignWorker变量:
p*as.numeric(coe[10])ForeignWorkerwoe$WOE[1]-1
p*as.numeric(coe[10])ForeignWorkerwoe$WOE[2]-1
最终得出的打分卡结果为:
R语言建立信用模型部分完结,欢迎分享
这篇关于手把手教你用R语言建立信用评分模型(完结篇)— —打分卡转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!