300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【分类算法】Logistic算法原理 标准评分卡开发流程 python代码案例

【分类算法】Logistic算法原理 标准评分卡开发流程 python代码案例

时间:2019-09-06 17:01:50

相关推荐

【分类算法】Logistic算法原理 标准评分卡开发流程 python代码案例

【博客地址】:/sunyaowu315

【博客大纲地址】:/sunyaowu315/article/details/82905347

对数据分析、机器学习、数据科学、金融风控等感兴趣的小伙伴,需要数据集、代码、行业报告等各类学习资料,可添加微信:wu805686220(记得要备注喔!),也可关注微信公众号:风控圏子(别打错字,是圏子,不是圈子,算了直接复制吧!)

关注公众号后,可联系圈子助手加入如下社群:

机器学习风控讨论群(微信群)反欺诈讨论群(微信群)python学习交流群(微信群)研习社资料(qq群:102755159)(干货、资料、项目、代码、报告、课件)

相互学习,共同成长。

问题:

Logistic算法的原理是啥啊?为何用卡方分箱?为何需要woe编码呢?变量bad rate必须满足单调性吗?为何要检验变量的正负性、单调性、相关性?IV值有什么用啊?该怎么判断呢?最终标准评分怎么转换的?为什么要加一个截距项呢?

文章目录

一 Logistic算法原理1、基本概念2、算法特点3、算法应用4、算法推导1)Logistic分布2)二项Logistic回归模型3)模型参数估计4)极大似然估计二 标准评分卡开发流程1、数据获取2、数据处理1)EDA2)特征工程3)分箱3、变量选择1)woe编码2)IV重要性3)显著性、共线性、正负性、单调性分析的问题4、模型开发5、模型评估及监测指标三 基于Logistic算法的标准评分卡开发python代码案例实操四 总结

一 Logistic算法原理

1、基本概念

逻辑斯蒂回归(logistic regression )是统计学中的经典分类方法,属于广义线性模型(generalizedlinear model)。虽然名字里带“回归”,但它实际上是一种分类方法,与多重线性回归有很多相同之处,最大的区别就在于它们的因变量取值不同。

广义线下模型家族:

若因变量是连续分布,就是多重线性回归若因变量是二项分布,就是Logistic回归若因变量是Poisson分布,就是Poisson回归若因变量是负二项分布,就是负二项回归

Logistic是这样一个过程:对一个回归或者分类问题,建立代价函数,通过优化方法迭代求解出这个函数的最优参数,然后测试验证这个模型的好坏。

2、算法特点

优点:

速度快,适合二分类问题易解释,可以直接看到模型中各个变量的权重易调整,能容易地更新模型,吸收新的数据

缺点:

对数据和场景的适应性有限,精度一般,不如树模型、SVM、adaboost等一些其他的常用分类模型给力。

3、算法应用

在Logistic回归模型中,y是一个定性变量,比如y=0或1,故其主要应用于研究某些分类事件发生的概率,如:银行业金融借贷场景中预测风险客户的违约逾期概率;气象局根据一些天气因素判断是否下雨;医疗机构根据病情特征判断客户患病的概率等。

概率预测:根据模型,预测事件发生的概率;类型判别:将事件分类。

4、算法推导

1)Logistic分布

我们首先介绍下Logistic分布(logistic distribution):

设X为连续随机变量,X服从Logistic分布是指X具有下列分布函数和密度函数:

如果所示:

2)二项Logistic回归模型

二项Logistic回归模型(binomial logistic regression model)是一种分类模型,由条件概率P(Y|X)表示,形式为参数化的Logistic分布。这里,X取实数,Y取值0或1。

二项Logistic回归模型是如下的条件概率分布:

这里x是输入,y是输出,w和b是参数,w成为权值向量,b称为偏置,w*x为w和x的内积。

Logistic回归比较两个条件概率的大小,将实例分到概率值较大的那一类。

当输入向量和权值向量扩充时,w = (w(1),w(2),…,w(n),b)T,X = (x(1),x(2),…,x(n),1)T,这时,Logistic回归模型如下:

一个事件的几率(odds)是指该事件发生概率与不发生概率的比值,如果事件发生的概率为p,不发生的概率为1-p,那么该事件的odds为p/(1-p),该事件的对数几率log odds 或logit函数为:

对逻辑回归而言,得:

注意!注意!pay attention!!!

也就是说,在Logistic回归模型中,输出Y=1的对数几率是输入x的线性函数,或者说,输出Y=1的对数几率是由输入x的线性函数表示的模型。

通过Logistic回归模型定义式可以将线性函数w*x转换为概率:

这时,线性函数的值越接近正无穷,概率值越接近1;线性函数的值越接近负无穷,概率值越接近0。这样的模型,就是Logistic回归模型。

3)模型参数估计

Logistic回归模型学习时,对于给定的训练数据集T={(x1,y1),(x2,y2),…,(xn,yn)},可以应用极大似然估计模型参数,从而得到完整的Logistic回归模型。

设:

似然函数为:

对数似然函数为:

对L(w)求极大值,得到w的估计值。

注意!注意!pay attention!!!

这样,求参问题,就变为了以对数似然函数为目标函数的求参问题,Logistic回归学习中通常采用的方法是梯度下降法及拟牛顿法

假设w的极大似然估计值是w,那么学到的Logistic回归模型为:

4)极大似然估计

(待续!)

二 标准评分卡开发流程

1、数据获取

准备数据源,如:

2、数据处理

1)EDA

对数据做描述性分析和探索性分析,发现变量的基本属性。

2)特征工程

此处特征工程,特征特征处理,如缺失值、异常值、错误值、离群值等处理。

对字段特征做处理,具体处理方式,请移步特征工程篇:【特征工程】呕心之作——深度了解特征工程

3)分箱

概念:

1.将连续变量离散化

2.将多状态的离散变量合并成少状态目的:

从模型效果上来看,特征分箱主要是为了降低变量的复杂性,减少变量噪音对模型的影响,提高自变量和因变量的相关度。从而使模型更加稳定。注意事项:

分箱就是为了做到同组之间的差异尽可能的小,不同组之间的差异尽可能的大。分箱方法:

等距、等频、卡方分箱、决策树分箱法分箱原则:

(1)最小分箱占比不低于5%

(2)箱内不能全部是好客户

(3)连续箱单调

3、变量选择

1)woe编码

概念:

由于制作评分卡的某些需要,通常会在建立评分模型时将自变量(连续+离散都可以)做离散化处理(等宽切割,等高切割,或者利用决策树来切割),但是模型本身没办法很好地直接接受分类自变量的输入。所以信用评分卡中常用的WOE转换。目的:

提升模型的预测效果,提高模型的可理解性。公式:

WOE的公式就是:WOE=ln(好客户占比/坏客户占比)*100%=优势比

好客户占比=数量(x︱y=好)/总人数

2)IV重要性

概念:

IV的全称是Information Value,中文意思是信息价值,或者信息量。

在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。通常情况下,不会直接把所有变量直接放到模型中去进行拟合训练,而是会用一些方法。

挑选入模变量过程是个比较复杂的过程,需要考虑的因素很多,比如:变量的预测能力,变量之间的相关性,变量的简单性(容易生成和使用),变量的强壮性(不容易被绕过),变量在业务上的可解释性(被挑战时可以解释的通)等等。但是,其中最主要和最直接的衡量标准是变量的预测能力

“变量的预测能力”这个说法很笼统,很主观,非量化,而我们需要一些具体的量化指标来衡量每自变量的预测能力,并根据这些量化指标的大小,来确定入模变量。IV就是这样一种指标,他可以用来衡量自变量的预测能力。类似的指标还有信息增益、基尼系数等等。

公式:

标准:

iv值一般取0.1-0.5,但iv值并不是越高越好,当高于0.5时就很可疑,因为它太过于好而显得不真实。但是也有些风控团队也将大于0.5的纳入模型,但是在学术界一般取值0.1-0.3

3)显著性、共线性、正负性、单调性分析的问题

在变量初步选择完成后,我们还需要检查变量的可用性。通常要考虑的就是变量的显著性、共线性、正负性、单调性问题。

注意!注意!pay attention!!!

显著性水平,P-value,用于检验变量的有效性,通常取值为0.05以内。但在实际应用中,设为0.1,有可能比0.05更好,0.1的显著性水平就够了,90%相比95%的置信区间,其估计的误差范围要更小,也就是说牺牲估计的把握度可以换来估计的精确度。

共线性不比解释,共线性明显容易导致过拟合。

单调性正负性呢?我们记得在Logistic回归模型中,输出Y=1的对数几率是输入x的线性函数,又因为既然是线性函数,w内积向量的取值就需要正负一致呀;既然要保持线性,变量bad rate 就要保持单调一致呀。这样就不容易增加模型的复杂性,更易于解释。

我们看图说话:

这样,是否就立即明白了这个算法的简单性,线性加权的原理,一些困惑是不是就迎刃而解啦!

4、模型开发

可使用R、python、matlab等语言,自己编写函数,或直接调用相对应的函数,进行样本拆分、模型训练、交叉验证等骚操作。具体流程,我们移步代码区,盘一遍就懂。

5、模型评估及监测指标

风控模型评价指标总结

三 基于Logistic算法的标准评分卡开发python代码案例实操

logistic算法构建标准评分卡python代码实例

四 总结

logistic模型,是数据分析、建模人员的入门操作,正因其通用性、可调整和易解释性,才普遍为银行业、互联网金融行业业务所用。总结一句话:全民兼可盘!

对数据分析、机器学习、数据科学、金融风控等感兴趣的小伙伴,需要数据集、代码、行业报告等各类学习资料,可添加qq群(资料共享群):102755159,也可添加微信wu805686220,加入微信讨论群,相互学习,共同成长。

风里雨里,只要你骚,我就敢皮。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。