基于Python的信用评分卡模型建立和分析,万字阐述,收藏

article/2025/8/3 11:45:03

在这里插入图片描述

和所有金融信贷业务一样,信用风险credit risk也是企业贷款面临的最主要风险,特别是中小微企业。随着微小企业信贷业务的迅速发展,客户群体的不断扩大,诸多大型企业(恒大,融创,st上市公司)暴雷,银行在大数据面前对于客户个人信用水平的把握变得越来越困难.如何科学,快速地识别个人客户和企业客户信用风险,成为微小贷款业务持续,健康发展的重要前提。

信用风险计量模型可以包括跟个人信用评级,企业信用评级和国家信用评级。人信用评级有一系列评级模型组成,常见是A卡(申请评分卡)、B卡(行为模型)、C卡(催收模型)和F卡(反欺诈模型)。 今天我们展示的是个人信用评级模型的开发过程,数据采用kaggle上知名的give me some credit数据集。

give me some credit数据集采用的是国外银行真实个人信贷数据,用于评估个人信贷逾期风险。give me some credit数据集变量不多,只有十余个,但每个变量都很精髓,值得我们深入研究。

一、建模流程

典型的信用评分卡模型如图1-1所示。信用风险评级模型的主要开发流程如下:
(1) 获取数据,包括申请贷款客户的数据。数据包括客户各个维度,包括年龄,性别,收入,职业,家人数量,住房情况,消费情况,债务等等。
(2) 数据预处理,主要工作包括数据清洗、缺失值处理、异常值处理、数据类型转换等等。我们需要把原始数据层层转化为可建模数据。
(3) EDA探索性数据分析和描述性统计,包括统计总体数据量大小,好坏客户占比,数据类型有哪些,变量缺失率,变量频率分析直方图可视化,箱形图可视化,变量相关性可视化等。
(4) 变量选择,通过统计学和机器学习的方法,筛选出对违约状态影响最显著的变量。常见变量选择方法很多,包括iv,feature importance,方差等等 。另外缺失率太高的变量也建议删除。无业务解释性变量且没有价值变量也建议删除。少数数据集存在数据泄露变量,这种模型各种性能会接近完美,需要踢除数据泄露变量。
(5) 模型开发,评分卡建模主要难点是woe分箱,分数拉伸,变量系数计算。其中woe分箱是评分卡中难点中难点,需要丰富统计学知识和业务经验。目前分箱算法多达50多种,没有统一金标准,一般是先机器自动分箱,然后再手动调整分箱,最后反复测试模型最后性能,择优选取最优分箱算法。
(6) 模型验证,核实模型的区分能力、预测能力、稳定性、排序能力等等,并形成模型评估报告,得出模型是否可以使用的结论。模型验证不是一次性完成,而是当建模后,模型上线前,模型上线后定期验证。模型开发和维护是一个循环周期,不是一次完成。
(7) 信用评分卡,根据逻辑回归的变量系数和WOE值来生成评分卡。评分卡方便业务解释,已使用几十年,非常稳定,深受金融行业喜爱。其方法就是将Logistic模型概率分转换为300-900分的标准评分的形式。
(8) 建立评分卡模型系统,根据信用评分卡方法,建立计算机自动信用化评分系统。美国传统产品FICO有类似功能,FICO底层语言是Java。目前流行Java,python或R多种语言构建评分卡自动化模型系统。

(9)模型监控,着时间推移,模型区分能力,例如ks,auc会逐步下降,模型稳定性也会发生偏移。我们需要专业模型监控团队,当监控到模型区分能力下降显著或模型稳定性发生较大偏移时,我们需要重新开发模型,迭代模型。模型监控团队应该每日按时邮件发送模型监控报表给相关团队,特别是开发团队和业务团队。

图片

二. 获取数据

建模数据方面包含借款申请人填写的基本资料,通讯录,通话记录和其他运营商数据,以及在其他第三方平台提供的黑名单和其他借贷平台借贷还款数据,和app抓取的手机数据,有些还包含人行征信,社保公积金工资银行流水,个人消费等数据,针对不同额度和客群需要用户填写和授权的资料不一样。收集需要的数据后,通过SQL提取相关变量特征构造建模用的宽表。具体建模信息如下图。

图片

python评分卡建模实战数据集

之前我讲过利用German credit德国信用数据集建立python信用评分卡模型,该数据集优势是数据量小,对计算机硬件要求不高,方便各个阶层学员学习和测试。

图片

信用评分算法对违约概率进行猜测,是银行用来确定是否应授予贷款的方法。数据属于个人消费类贷款,通过预测某人在未来两年内遇到财务困境的可能性,提高信用评分的最新水平。

银行在市场经济中发挥着至关重要的作用。他们决定谁可以获得资金以及以什么条件获得资金,并且可以做出投资决策或终止投资决定。为了让市场和社会发挥作用,个人和公司需要获得信贷。

give me some credit有15万样本数据,该数据量解决中大型金融机构实战数据,更加接近金融企业项目实战。该数据集通过预测某人在未来两年内遇到财务困难的可能性,提高信用评分的水平。

图片

变量中文释义,变量少而精,可作为建模的参考

图片

我们对上述变量归类,主要分为:

– 基本属性:包括了借款人当时的年龄。

– 偿债能力:包括了借款人的可用额度比值、月收入、负债比率。

– 信用历史:两年内35-59天逾期次数、两年内60-89天逾期次数、两年内90

天或高于90天逾期的次数。

– 财产状况:包括了开放式信贷和贷款数量、不动产贷款或额度数量。

– 其它因素:借款人的家属数量(不包括本人在内)

kaggle模型竞赛中,奖金5000美金,模型评估指标为AUC。

图片

互联网上国内外关于give me some credit数据集AUC得分最佳表现为0.85.

图片

但我方《python信用评分卡建模(附代码)》教程中AUC可以达到0.929,调参后AUC可以更高,远高于互联网上give me some credit论文的模型性能AUC=0.85。互联网论文关于建模步骤有很多看似有理,但实际上不正确的理论。

图片

如果你好奇我方如何将give me some credit数据集AUC达到0.929,可参考教程《python信用评分卡建模(附代码)》
在这里插入图片描述

《python信用评分卡建模(附代码)》中give me some credit数据集一览。
图片

三、数据预处理

数据预处理,主要工作包括数据清洗、缺失值处理、异常值处理、数据类型转换等等。我们需要把原始数据层层转化为可建模数据。


3.1 缺失值处理

give me some credit数据集缺失数据并不严重,只有两个变量有缺失值,缺失率为2%和19.8%。

图片

现实中数据存在大量缺失值是非常普遍。央行征信很多变量缺失率可以高达99%。缺失值会导致一些数据分析和建模的问题。通常在信用风险评分卡模型开发的第一步我们就要进行缺失值处理。缺失值处理的方法,包括如下几种。
(1) 直接删除含有缺失值的样本。
(2) 填补缺失值。
(3) 不予理睬。

# 用随机森林对缺失值预测填充函数
def set_missing(df):# 把已有的数值型特征取出来process_df = df.ix[:,[5,0,1,2,3,4,6,7,8,9]]# 分成已知该特征和未知该特征两部分known = process_df[process_df.MonthlyIncome.notnull()].as_matrix()unknown = process_df[process_df.MonthlyIncome.isnull()].as_matrix()# X为特征属性值X = known[:, 1:]# y为结果标签值y = known[:, 0]# fit到RandomForestRegressor之中rfr = RandomForestRegressor(random_state=0, n_estimators=200,max_depth=3,n_jobs=-1)rfr.fit(X,y)# 用得到的模型进行未知特征值预测predicted = rfr.predict(unknown[:, 1:]).round(0)print(predicted)# 用得到的预测结果填补原缺失数据df.loc[(df.MonthlyIncome.isnull()), 'MonthlyIncome'] = predictedreturn df

3.2 异常值处理

缺失值处理后,我们需要进行异常值检验。异常值分为统计学上异常值和业务上异常值。统计学异常值通常用箱型图来判断,如下图。

图片

业务上异常值是根据业务线对变量定义和常识来判断该数据是否合理。比如give me some credit数据集中有个人客户的年龄为0,按照常理,我们认为该值为异常值。哪个贷款公司会把钱借给年龄为0的用户?

图片

3.3 数据划分

我们建立模型后一般会遇到下面三种情况,underfitting欠拟合,just right拟合合适,overfitting过度拟合。

图片

为了验证模型的性能,我们需要对数据集进行划分。

首先把所有数据分成x数据和y数据(target目标变量)。

然后把x数据和y数据分成训练集和测试集,并生成四个变量train_x,test_x,train_y,test_y.

图片

四、EDA探索性数据分析和描述性统计

由于人大脑的生理结构,大部分人对数字不敏感,但数据可视化对大脑理解更友好。这就是数据可视化重要性,也方便向领导或决策层汇报工作。

图片

EDA探索性数据分析和描述性统计包括统计总体数据量大小,好坏客户占比,数据类型有哪些,变量缺失率,变量频率分析直方图可视化,箱形图可视化,变量相关性可视化等。EDA是Exploratory Data Analysis缩写,中文释义为探索性数据分析。探索性数据分析方法很多常见的有:hist直方图、scater散点图,boxer箱线图,heat热力图,pairplot配对图。

give me some credit数据集的age年龄变量直方图

图片

give me some credit数据集的target目标变量直方图,可以发现好坏客户占比非常不平衡。好客户数量大概是坏客户数量15倍左右。

图片

give me some credit数据集的家庭成员数量变量直方图

图片

give me some credit数据集所有变量的pairplot配对图,大量信息一目了然。

图片

give me some credit数据集所有变量相关性的热力图,可以分析出有6对变量相关性非常高,变量筛选时候需要注意。

corr = data.corr()#计算各变量的相关性系数xticks = ['x0','x1','x2','x3','x4','x5','x6','x7','x8','x9','x10']#x轴标签yticks = list(corr.index)#y轴标签fig = plt.figure()ax1 = fig.add_subplot(1, 1, 1)sns.heatmap(corr, annot=True, cmap='rainbow', ax=ax1, annot_kws={'size': 9, 'weight': 'bold', 'color': 'blue'})#绘制相关性系数热力图ax1.set_xticklabels(xticks, rotation=0, fontsize=10)ax1.set_yticklabels(yticks, rotation=0, fontsize=10)plt.show()

图片

give me some credit数据集age年龄变量关于好坏客户的分类箱型图统计。我们可以看到好客户年龄中位数要高于坏客户年龄中位数。

图片

五、变量选择

变量选择,通过统计学和机器学习的方法,筛选出对违约状态影响最显著的变量。常见变量选择方法很多,包括iv,feature importance,方差等等 。另外缺失率太高的变量也建议删除。无业务解释性变量且没有价值变量也建议删除。

《python信用评分卡建模(附代码)》教程中集成树算法catboost的feature importance可视化图,我们可以明显看出RevolvingUtilizationOfUnsecuredLines可用额度比值变量的重要性最高。图中蓝色柱越长,重要性越大,反之亦然。

图片

《python信用评分卡建模(附代码)》教程中变量iv值计算结果如下,我们清晰看到RevolvingUtilizationOfUnsecuredLines可用额度比值变量的iv最高。

图片

通过feature importance和iv值方法我们都得到同样结论:RevolvingUtilizationOfUnsecuredLines可用额度比值变量是最重要的。

数据泄露

数据泄露是一个专用名词,表示有入模变量和target目标变量作用极其相似,这样会让模型提前知道预测结果,发生作弊,模型表现接近完美,如下图。

图片

我们变量筛选环节需要查找是否存在数据泄露变量。

查找方法很多,最好方法是看变量相关性。数据泄漏变量和target目标变量相关性会接近1

图片

第二种方法是模型法,通过变量重要性来观察数据泄漏变量。如下图lightgbm在数据泄漏观察中效果不如catboost。lightgbm变量重要性排序中,每个变量权重都会考虑相对平衡。catboost变量重要性会突出重要变量,这样更容易找出数据泄漏变量。

图片

图片

我方《python风控建模实战lendingClub》教程中重点阐述了catboost算法细节运用,有兴趣朋友可前往了解。
在这里插入图片描述

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍六、模型开发‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

下图是建立分类器模型的常见算法,模型验证方法和模型监控内容结构化展示

图片

逻辑回归,决策树,随机森林不同算法的对比如下图

图片

逻辑回归的类型:

大体上可以分为,

1. 二元逻辑回归——两个或二元结果,如是或否

2. 多项 Logistic 回归 - 三个或更多结果,如一等、二等和三等或无学位

3.序数逻辑回归——三个或更多类似于多项逻辑回归。

评分卡模型开发用的是逻辑回归。逻辑回归的一个难点是sigmoid函数,我们简单介绍一下sigmoid函数和逻辑回归关系。

Logit 函数到 Sigmoid 函数 - Logistic 回归:

逻辑回归可以表示为,

图片

其中 p(x)/(1-p(x)) 称为赔率,左侧称为 logit 或 log-odds 函数。几率是成功几率与失败几率的比值。因此,在逻辑回归中,输入的线性组合被转换为 log(odds),输出为 1。

以下是上述函数的反函数

图片

这是 Sigmoid 函数,它产生 S 形曲线。它总是返回一个介于 0 和 1 之间的概率值。Sigmoid 函数用于将期望值转换为概率。该函数将任何实数转换为 0 到 1 之间的数字。我们利用 sigmoid 将预测转换为机器学习中的概率。

数学上的 sigmoid 函数可以是,

图片

图片

模型开发,评分卡建模主要难点是woe分箱,分数拉伸,变量系数计算。其中woe分箱是评分卡中难点中难点,需要丰富统计学知识和业务经验。目前分箱算法多达50多种,没有统一金标准,一般是先机器自动分箱,然后再手动调整分箱,最后反复测试模型最后性能,择优选取最优分箱算法。

《python信用评分卡建模(附代码)》讲解Kmeans,等频分箱、等距分箱,卡方分箱,决策树分箱算法原理和python实现分箱代码。《python信用评分卡建模(附代码)》还告诉你如何选择分箱方法?在不同需求下,选择最合适分箱方法。

图片

分箱主要分为有监督方法和无监督方法。k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是,预将数据分为K组,则随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。下图是Kmeans分箱算法原理。

图片

传说中的最优分箱就是决策树分箱。

决策树分箱算法步骤为:

步骤 1:首先,它使用我们想要离散化的变量来训练一个有限深度(2、3 或 4)的决策树来预测目标。

_第 2 步:_然后将原始变量值替换为树返回的概率。单个 bin 内的所有观测值的概率相同,因此用概率替换相当于将决策树决定的截止值内的观测值分组。

决策树分箱算法好处和缺点是:

好处 :

  • 概率预测返回的决策树与目标单调相关。

  • 新的 bin 显示出减少的熵,这是每个桶/桶内的观察结果与它们自己的相似度,而不是其他桶/桶的观察结果。

  • 树会自动找到垃圾箱。

缺点:

  • 可能会导致过拟合

  • 更重要的是,可能需要对树参数进行一些调整以获得最佳分割(例如,深度、一个分区中的最小样本数、最大分区数和最小信息增益)。这可能很耗时。

图片

                                (决策树分箱可视化)

等距分箱可用于类似age年龄的变量。

图片

分箱完成后,就把分箱数据转换为woe数据,最后用逻辑回归算法建模。

分箱的简单代码

# 定义自动分箱函数
def mono_bin(Y, X, n = 20):r = 0good=Y.sum()bad=Y.count()-goodwhile np.abs(r) < 1:d1 = pd.DataFrame({"X": X, "Y": Y, "Bucket": pd.qcut(X, n)})d2 = d1.groupby('Bucket', as_index = True)r, p = stats.spearmanr(d2.mean().X, d2.mean().Y)n = n - 1d3 = pd.DataFrame(d2.X.min(), columns = ['min'])d3['min']=d2.min().Xd3['max'] = d2.max().Xd3['sum'] = d2.sum().Yd3['total'] = d2.count().Yd3['rate'] = d2.mean().Yd3['woe']=np.log((d3['rate']/(1-d3['rate']))/(good/bad))d4 = (d3.sort_index(by = 'min')).reset_index(drop=True)print("=" * 60)print(d4)return d4

七、模型验证

逻辑回归算法建模后,我们需要模型验证。模型验证是核实模型的区分能力、预测能力、稳定性、排序能力等指标是否合格,并形成模型评估报告,得出模型是否可以使用的结论。模型验证不是一次性完成,而是当建模后,模型上线前,模型上线后定期验证。模型开发和维护是一个循环周期,不是一次完成。

着时间推移,模型区分能力,例如ks,auc会逐步下降,模型稳定性也会发生偏移。当模型区分能力下降显著或模型稳定性发生较大偏移时,我们需要重新开发模型,迭代模型。

模型验证指标涉及到脚本主要来自sklearn的metrics,具体指标如下:

图片

排序类评估——ROC指标:

很多统计指标来源于战争。ROC最早用于英国雷达分辨鸟或德国飞机的概率。二战期间首次用于分析雷达有效性。在早些时候雷达,有时很难从飞机上分辨出一只鸟。英国人率先使用 ROC 曲线来优化他们依赖雷达进行判别的方式在来袭的德国飞机和鸟类之间。

AUC(area under the curve)是机器学习领域中一种常见且重要的模型评估指标,用于计算二元分类器效率的方法。AUC表示ROC(receiver operator characteristic)曲线下的面积,即AUC = ROC 曲线下面积。

图片

sensitivity=黑色竖线右边红色像素面积/红色像素总面积

false positive=黑色竖线右边绿色像素面积/蓝色像素总面积

当我们对不同的阈值进行遍历时,产生的 (假阳率, 真阳率) 坐标点也就可以连成ROC曲线,进而求得曲线下面积AUC。

图片

K-S值

在完成一个模型后,将测试模型的样本平均分成10组,以好样本占比降序从左到右进行排列,其中第一组的好样本占比最大,坏样本占比最小。将KS检验应用于信用评级模型主要是为了验证模型对违约对象的区分能力,通常是在模型预测全体样本的信用评分后,将全体样本按违约与非违约分为两部分,然后用KS统计量来检验这两组样本信用评分的分布是否有显著差异。

图片

图片

GINI系数

图片

使用洛伦茨曲线,可以描述预期违约客户的分布。

基尼系数常用于统计宏观经济的贫富差距。例如将一个国家所有的人口按最贫穷到最富有进行排列,随着人数的累计,这些人口所拥有的财富的比例也逐渐增加到100%,按这个方法得到图中的曲线,称为洛伦兹曲线。基尼系数就是图中A/B的比例。可以看到,假如这个国家最富有的那群人占据了越多的财富,贫富差距越大,那么洛伦茨曲线就会越弯曲,基尼系数就越大。

基尼系数显示的是好客户的比例(累计),而不是所有客户。它显示了模型与随机模型相比具有更好分类能力的程度。它也被称为基尼指数。基尼系数可以取-1 到1 之间的值。负值对应于分数含义相反的模型。

下面看基尼系数的计算步骤:

图片

在ROC图中,GINI=A/(A+B)=A/C=(A+C)/C-1=AUC/C-1

其中,C=1/2 所以,GINI=2AUC-1

《python信用评分卡建模(附代码)》教程中训练模型AUC为0.929,具体模型性能如下:

model accuracy is: 0.9406307593547452

model precision is: 0.9060132575757576

model sensitivity is: 0.6077497220898841

f1_score: 0.7274973861800208

AUC: 0.9290751730536397

good classifier

gini 0.8581503461072795

ks value:0.7107

远超互联网give me some credit数据集建模论文的模型性能AUC 0.85。

图片

逻辑回归调参

在模型验证中,我们还要测试模型参数是否最佳。逻辑回归中没有需要调整的基本超参数。尽管它有很多参数,但以下三个参数可能有助于微调以获得更好的结果,

正则化(惩罚)有时可能是有益的。

惩罚 - {‘l1’, ‘l2’, ‘elasticnet’, ‘none’}, default=‘l2’

惩罚强度由 C 参数控制,这可能很有用。

C –浮点数,默认值 = 1.0

使用不同的求解器,您有时可能会观察到有用的性能或收敛变化。

求解器 - {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}, default=‘lbfgs’

注意:要使用的算法由惩罚决定:求解器支持的惩罚:

1. ‘newton-cg’ – [‘l2’, ‘none’]

2. ‘lbfgs’ – [‘l2’, ‘none’]

3.‘liblinear’ - [‘l1’, ‘l2’]

4. ‘sag’ – [‘l2’, ‘none’]

5. ‘saga’ – [‘elasticnet’, ‘l1’, ‘l2’, ‘none’]

八、评分卡诞生

===

模型根据逻辑回归的变量系数和WOE值来生成评分卡。评分卡方便业务解释,已使用几十年,非常稳定,深受金融行业喜爱。其方法就是将Logistic模型概率分转换为300-900分的标准评分的形式。国内绝大多数信用评分卡都效仿的美国FICO分数。

FICO 分数为 800 或以上的个人具有特殊的信用记录。信用评分高的人很可能多年来拥有多项信用额度。他们没有超过任何信用额度,并及时还清了所有债务。

中高 700 分的 FICO 分数是不错的分数。得分在此范围内的个人明智地借贷和消费并及时付款。这些人,例如 800 岁以上的人,往往更容易获得信贷,并且通常支付的利率要低得多。

最常见的分数介于 650 和 750 之间。虽然分数在此范围内的个人信用相当好,但他们可能会延迟付款。这些人通常不会很难获得贷款。但是,他们可能需要支付略高的利率。

最后一个要考虑的实际范围是 599 或更低的分数。它们被认为信用评分不佳,通常是由于多次延迟付款、未能偿还债务或已转到收款机构的债务所致。拥有此类 FICO 分数的个人通常很难(如果不是不可能的话)获得任何形式的信用。

图片

如下图, FICO信用分在very poor300-579分的占比最低,只有17%;good670-739分的占比最高,达到21.5%。

图片

《python信用评分卡建模(附代码)》中评分卡生成有详细章节讲解,包括PDO,theta0,P0,A,B,odds,woe,iv等专业术语有完全解读。

图片

九.评分卡自动评分系统

我们通过上面基础,可以生成自动化评分系统,对每个申请单用户生成好坏客户真实标签,好坏客户预测标签,坏客户概率值,拉伸评分。

图片

根据信用评分卡方法,我们可以建立计算机自动信用化评分系统。美国传统产品FICO有类似功能,FICO底层语言是Java。目前流行Java,python或R多种语言构建评分卡自动化模型系统。如果数据量大,建立自动信用化评分系统并非易事,需要专业团队不断测试和更新。python或R是开源语言,包定期升级,如果没有专业团队维护,该系统在将来会出现严重问题。

十.模型监控

着时间推移,模型区分能力,例如ks,auc会逐步下降,模型稳定性也会发生偏移。我们需要专业模型监控团队,当监控到模型区分能力下降显著或模型稳定性发生较大偏移时,我们需要重新开发模型,迭代模型。模型监控团队应该每日按时邮件发送模型监控报表给相关团队,特别是开发团队和业务团队。

模型监控的ks指标,当模型ks低于0.2时,模型区分好坏客户能力几乎没有作用,需要重新迭代模型。

图片

模型监控的bad rate指标,当bad rate突然升高时,领导会非常紧张,这意味着大量贷款收不回成本。

图片

模型监控的PSI指标,当PSI高于0.25时,暗示模型极不稳定,需要重新迭代。

图片

模型监控与模型效果评测一样,也是从两个方面去监控,一是有效性,主要看过件样本在后续的逾期表现,这种逾期不需要和建模样本那么严格,可以放松一些。二是稳定性,同样是变量稳定性和模型稳定性,评测的方式与模型效果评价部分类似。监测可以分为前端、后端监控。

图片

(1)前端监控,授信之前,别的客户来了,这个模型能不能用?

长期使用的模型,其中的变量一定不能波动性较大。

比如,收入这个指标,虽然很重要,但是波动性很大,不适合用在长期建模过程中。如果硬要把收入放到模型之中,可以改成收入的百分位制(排名)。

(2)后端监控,建模授信之后,打了分数,看看一年之后,分数是否发生了改变。

主要监控模型的正确性以及变量选择的有效性。出现了不平滑的问题,需要重新考虑

图片

总结

基于Python的信用评分卡模型主要流程就为大家介绍到这里,但实操评分卡建模中有很多细节,互联网上对这些细节描述过于草率甚至不正确。例如变量缺失率达到80%-90%就应该直接删除该变量吗?变量相关性高达0.8就可以去掉吗?经验丰富建模人员需要在数学理论,业务线实际需求,计算机测试结果等多方面找到平衡点,而不是只从一个角度思考问题。这就像经验丰富外科医生并不一定完全遵循教科书的理论。统计学,机器学习,人工智能等领域里有很多争议地方,并非有完全统一共识。各位在学习时要保持独立思考能力,这样才能不断优化数据科学知识。

基于Python的信用评分卡模型-give me some credit就为大家介绍到这里了,欢迎各位同学报名<python金融风控评分卡模型和数据分析微专业课>,学习更多相关知识。微信二维码扫一扫报名

在这里插入图片描述
版权声明:文章来自公众号(python风控模型),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。


http://chatgpt.dhexx.cn/article/hNatS8Vo.shtml

相关文章

基于Python的信用评分卡模型分析

我们每天都在用支付宝&#xff0c;蚂蚁金服风险识别速度可达到100毫秒&#xff0c;比眨眼一次的时间还要快四倍。在全球数字经济时代&#xff0c;有一种金融优势&#xff0c;那就是基于消费者大数据的纯信用&#xff01; 我们不妨称之为数据信用&#xff0c;它比抵押更靠谱&…

基于python的信用卡评分模型

基于python的信用卡评分模型 1. 项目背景介绍 1.1 信用风险和评分卡模型的基本概念 信用风险指的是交易对手未能履行约定合同中的义务造成经济损失的风险&#xff0c;即受信人不能履行还本付息的责任而使授信人的预期收益与实际收益发生偏离的可能性&#xff0c;它是金融风险…

信用标准评分卡模型开发及实现

一、信用风险评级模型的类型 信用风险计量体系包括主体评级模型和债项评级两部分。主体评级和债项评级均有一系列评级模型组成&#xff0c;其中主体评级模型可用“四张卡”来表示&#xff0c;分别是A卡、B卡、C卡和F卡&#xff1b;债项评级模型通常按照主体的融资用途&#xf…

我眼中的信用评分模型

关于信用风险 之前工作中涉及到信用风险&#xff0c;接下来几天就分享些我在信用风险建模领域的一些经验吧~ 推荐一本比较好的资料书-《信用风险评分卡研究-基于SAS的开发与实施》&#xff0c;书的核心内容为以逻辑回归为基础构建信用评分模型&#xff0c;如果将这本书的内容理…

信用卡评分模型(数据获取+数据预处理+探索分析+变量选择+模型开发+模型评估+信用评分+建立评分系统)

最近两次遇到关于信用卡评分的题目&#xff0c;遂了解一波。 Reference: 基于python的信用卡评分模型(超详细&#xff01;&#xff01;&#xff01;) https://www.jianshu.com/p/f931a4df202c https://blog.csdn.net/zs15321583801/article/details/81234446 https://blo…

信用评分模型详解(下)之 信用评分系统搭建

信用评分问题中一般使用逻辑回归作为主要的模型。过程主要包括变量分箱、变量的WOE&#xff08;证据权重&#xff09;变换和变量选择&#xff08;IV值&#xff09;、逻辑回归估算。 一个完整的评分卡流程主要包括以下几个步骤&#xff1a; 数据准备数据探索性分析数据预处理&…

【信用评分预测模型(一)】信用评分预测模型简介

文章目录 前言一、数据准备1.文章所使用的数据都是基于下面这两个网站&#xff1a;2.观察期和表现期 二、数据处理1.缺失值和异常值2.筛选数据 三、相关性检验四、特征工程1.特征变量 五、模型构建1.随机森林模型2.决策树模型3.AHP分析 总结 前言 在传统的信用风险预测的模型中…

大数据分析案例-基于多元线性回归算法构建用户信用评分模型

🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集…

【综合案例】信用评分模型开发

目录 一、案例背景二、前置知识2.1 数据分箱2.2 属性选择2.3 回归方程 三、数据处理3.1 数据清洗3.2 因素分析 四、模型训练五、模型预测六、结语后记 一、案例背景 在上一篇文章网络贷款违约预测案例中&#xff0c;我们在分析属性关系时发现&#xff1a;FICO信用评分与分类标…

信用评分模型(R语言)

信用评分 2016年1月10日 本文详细的介绍了信用评分卡的开发流程,开发语言为R语言,python版本请见:一行代码搞定信用评分模型(python) python版实例和数据请见我的github:https://github.com/chengsong990020186/CreditScoreModel,如觉得实用就点下star,欢迎大家一起…

信用评分卡模型分析(基于Python)--理论部分

信用风险计量体系包括主体评级模型和债项评级两部分。主体评级和债项评级均有一系列评级模型组成&#xff0c;其中主体评级模型可用“四张卡”来表示&#xff0c;分别是A卡、B卡、C卡和F卡&#xff1b;债项评级模型通常按照主体的融资用途&#xff0c;分为企业融资模型、现金流…

企业信用评分卡模型实战(python,附代码)

企业信用评级在全球金融领域有广泛应用。它涉及到公司管理&#xff0c;企业债发行&#xff0c;企业融资&#xff0c;企业上市&#xff0c;企业并购&#xff0c;个人炒股和购买公司债券等多个场景。企业债发行 企业主体信用评级越高&#xff0c;意味着该企业抗风险能力、盈利能力…

银行信用卡评分模型(一)| python

文章目录 背景介绍题目分析一、申请者评级模型二、欺诈评级模型三、行为评级模型四、催收评级模型总结 背景介绍 信用风险和评分卡模型的基本概念&#xff1a;信用风险指的是交易对手未能履行约定合同中的义务造成经济损失的风险&#xff0c;即受信人不能履行还本付息的责任而使…

【单片机毕业设计】【mcuclub-cl-010】基于单片机的灭火小车的设计

最近设计了一个项目基于单片机的灭火小车系统&#xff0c;与大家分享一下&#xff1a; 一、基本介绍 项目名&#xff1a;灭火小车 项目编号&#xff1a;mcuclub-cl-010 单片机类型&#xff1a;STC89C52、STM32F103C8T6 具体功能&#xff1a; 1、通过一对红外寻迹管进行寻迹&a…

详细介绍如何从零开始制作51单片机控制的智能小车(四)———通过蓝牙模块实现数据传输以及通过手机蓝牙实现对小车运动状态的控制

我会通过本系列文章&#xff0c;详细介绍如何从零开始用51单片机去实现智能小车的控制&#xff0c;在本系列的上一篇文章中介绍了如何让小车实现自动避障&#xff0c;本文作为本系列的第四篇文章&#xff0c;主要介绍蓝牙模块的使用&#xff0c;如何通过蓝牙进行数据传输&#…

课设-基于51单片机的智能小车(循迹+避障+APP控制)

51单片机课设—智能小车 一、课设任务二、硬件设计及相关传感器模块1、车模2、51单片机3、红外循迹模块4、电机及驱动5、蓝牙模块6、硬件搭建 三、程序代码1、main.c文件2、motor.c文件 四、我的大学--“造车”史 注&#xff1a;本设计资源可在微信公众号&#xff1a;“Kevin的…

基于51单片机智能小车循迹功能的实现

基于51单片机智能小车循迹功能的实现 目录 基于51单片机智能小车循迹功能的实现一、思路&#xff08;仅供参考&#xff09;二、部分硬件模块介绍1、L298n电机驱动模块2、两路红外循迹模块 三、实现1、代码2、运行视频(...注意&#xff1a;该视频有声音&#xff01;&#xff01;…

基于51单片机的循迹小车

在大学期间&#xff0c;单片机是部分学生的专业课之一&#xff0c;在学完课本上枯燥的知识后&#xff0c;需要实践加强巩固。简单且综合性尚可的循迹小车必然是实践的首要选择。下面将主要从机械、电控、代码三个部分对以51单片机为主控芯片的循迹小车进行简述 目录 1.总体介…

51单片机智能蓝牙小车

作为大一电子小趴菜&#xff0c;在和队友学习制作蓝牙小车过程中遇到了许多困难。本文既为大家避坑&#xff0c;也作为团队总结。 这篇文章分为两部分 1&#xff0c;组装篇 2&#xff0c;代码篇 思维导图&#xff1a; 组装篇 先准备好一块电源拓展板&#xff0c;用于为电机驱…

浅谈51单片机简易循迹小车制作方案

目录 省流助手&#xff08;方案清单&#xff09; 前言 一、小车模型 二、电机 三、电源 1、电池&#xff1a; 2、PCB电源选择&#xff1a; 3、MCU供电方案&#xff1a; 4、MCU和电机的供电方案&#xff1a; 四、主控MCU最小系统 五、电机驱动 1、让电机动起来&#xff1a;&…