CN103942604B - 基于森林区分度模型的预测方法及系统 - Google Patents
基于森林区分度模型的预测方法及系统 Download PDFInfo
- Publication number
- CN103942604B CN103942604B CN201310018641.5A CN201310018641A CN103942604B CN 103942604 B CN103942604 B CN 103942604B CN 201310018641 A CN201310018641 A CN 201310018641A CN 103942604 B CN103942604 B CN 103942604B
- Authority
- CN
- China
- Prior art keywords
- node
- branch mailbox
- bifurcated
- result
- obtains
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于森林区分度模型的预测方法及系统,该方法包括:步骤1,基于随机森林算法使用建模数据进行建模,对所述建模数据进行分箱,并经过区分度模型求解,获得建模结果;步骤2,根据建立的模型和所述建模结果,对待预测的数据进行打分,获得预测结果。本发明能提供一种简单的、扩展的、有据可循的分箱方法,它简化了对数据的考量,及不需要精通较高深的运算理论,就能够使用该方法得到较好的分箱结果,从而得到效果较好的预测结果。这在很大程度上也提高了建模的效率和模型的精度。
Description
技术领域
本发明涉及评分卡建模技术领域,尤其涉及一种基于森林区分度模型的预测方法及系统。
背景技术
评分卡是一个基于统计学的分析工具,它可以通过分析已经发生的现象,根据历史数据和各种相关因素,来预测将来某个特定结果发生的概率。分析的基础是一系列描述历史数据的互相关联的因素、变量、预测值或者回归方程的独立变量,我们称之为预测变量。待预测的某个特定结果称为目标变量。评分卡建模技术就是基于评分卡,建立预测变量和目标变量之间映射关系的技术,这种映射关系就是评分卡模型。评分卡模型的常用模型方法,有线性回归、逻辑回归、神经网络、决策树、区分度等。比如,我们可以通过分析已有的信用卡使用者的还款情况,来预测一个信用卡申请者在将来是否可能出现逾期不还款的行为。虽然授信者通过人工分析客户的历史信用资料,同样可以得到这样的分析结果,但利用信用评分却更加快速、更加客观、更具有一致性。
区分度模型是一种较稳定,且可解释性强的模型,在金融和电信领域广泛应用。区分度模型的目标变量是二分类型的,即其取值范围为两个值,如:好/坏,逾期/不逾期,是/否,等等。建模的目的是为了有效的区分好样本和坏样本。如图1C,假定坏样本的分布如图中部分1,好样本的分布如图中部分2,为了能够最好的区分出来好坏样本,我们设想最好的情况是坏样本的分布中不包含好的样本,好样本分布中不包含坏的样本,这样我们就可能达到完全分出来好坏样本的目的。当然在实际的操作过程中我们不可能达到理想的分布,但是我们的目标就是希望最大化的接近这种目的,因此在这个图中希望好坏样本交叉重叠的部分达到最小,当他们完全没有交叉重叠时也就是我们设想的理想情况了。
基于这种想法,提出了DIV的公式(DIV公式的数学思想来源于Fisher判别分析方法。Fisher判别分析是模式识别领域广泛应用的一种分类方法,它 根据最大化类间离散度、同时最小化类内离散度的准则,确定一系列线性变化方向,使各类之间最大程度的分离。)至今,该方法已成功应用于评估消费者信用风险、岩质边坡稳定性评价、非线性统计过程监控与故障诊断等众多领域。美国FICO公司提出的Divergence模型便是将Fisher判别方法与具有现实意义的限制条件相结合,从而成功应用于信用评估领域,大大方便了业务对模型的要求:
我们通过求解DIV的最大值即MAX(DIV)来达到使两个分布重叠最小的要求,以此达到最好区分好坏样本的目的。
基于区分度模型建立预测模型,并对未来事件进行预测:
其中,变量分箱的过程就是根据一定的规则将预测变量离散化,分割为一段段区间的过程。对于连续的数值型变量,该离散化过程的结果为多个区间。比如对于表示年龄和学历的变量,分箱的结果可能如下表所示。年龄被分为5个区间,而学历被分为4个区间。每个区间称为一个箱子(bin),而一个变量对应的一组bin称为该变量的分箱(binning),用于预测的所有变量的binning称为一个分箱组。下述表格为分箱示例
统计学上,也叫做把变量转换为“哑变量”。变量分箱虽然在某种程度上可能牺牲了模型的精确度,但是在一定程度上它也防止了模型的过度拟合,保证了模型的稳定性。在变量分箱的过程当中,分析师可以参照一些统计指标,根据业务的实际情况,确定一个相对合理的分箱方式。
目前,数据分析师在变量分箱过程中,存在两个主要问题:一是自动化程度低,需要耗费大量的时间,且分箱结果对分析师经验依赖程度高,对于得到好的分箱结果没有成熟的技术保障;二是变量分箱过程只针对单个变量,没有考虑多个变量之间的联系。
目前分析师所使用的方法基本是手动或者半自动的,即需要数据分析师结 合实际业务,观察和分析样本数据分布规律,然后确定几个区间,并得到分箱的统计指标(可以借助于已有的统计工具实现,如SAS),然后依据此统计指标,再逐步调整区间分割点,再考察统计指标,再逐步调整;如此反复,直到调整得到较理想的分箱结果。每个变量都需要重复该过程,需要消耗数据分析师大量的时间。而该过程还未必能得到较优的结果,因为对于大数据量,分析师不可能将每个变量的每个值都考察一遍,而只能是根据已有的经验,大致考察有限个点。此外,对于不同的数据分析师,该过程得到的结果还是不一样的。因为分割点的选择是人为确定的,该过程是不能够重现和重复的。对于其它的分析师,不具备参考和借鉴意义。特别的是,对于经验不足的数据分析师来说,能够得到一个效果较好的分箱结果是非常困难的。
FICO在其产品Model Builder(FICO公司研发的建模工具软件)中,为数据分析师提供了根据指定参数,自动生成初步分箱结果的功能。分析师可以在此基础上,再对分箱进行调整。该功能为分析师节省了大量的工作。但是,无论是分析师手动分箱还是使用ModelBuilder的自动分箱功能,分箱考虑的都是单个变量,根据单个变量的变量值分布特征,将变量分割为一段段的区间。因此,已有方式没有考虑到不同变量间的相关性,即在对已有样本进行划分时,没有综合考虑多个变量的因素。
发明内容
为解决上述问题,本发明提供了一种基于森林区分度模型的预测方法及系统,目的是提供一种简单的、扩展的、有据可循的分箱方法,不需要精通较高深的运算理论,就能够使用该方法得到较好的分箱结果,从而得到效果较好的预测结果。
为实现上述目的,本发明公开了一种基于森林区分度模型的预测方法,该方法包括:
步骤1,基于随机森林算法使用建模数据进行建模,对所述建模数据进行分箱,并经过区分度模型求解,获得建模结果;
步骤2,根据建立的模型和所述建模结果,对待预测的数据进行打分,获得预测结果。
进一步的,所述步骤1包括:
步骤11,基于所述随机森林算法,对所述建模数据进行分箱,获得分箱结果;
步骤12,根据所述分箱结果将所述建模数据的变量转换为哑变量,利用所述哑变量进行区分度模型求解,获得各分箱权重;
步骤13,根据所述各分箱权重计算所述建模数据中每个记录的分数,获得评分结果;
步骤14,根据所述评分结果,决定区分好坏的分数,获得建模结果。
进一步的,所述步骤11包括:
步骤111,随机抽取部分建模数据作为树的根节点,并加入到待分叉的树节点集合中;
步骤112,判断所述待分叉的树节点集合是否为空,如果为空,则返回所述根节点的树;如果不为空,则从所述待分叉的树节点集合中选择一个节点,并从所述待分叉的树节点集合中删除该节点;
步骤113,判断所述节点是否符合节点分叉条件,如果不符合条件,则返回步骤112,否则计算该节点的分叉的变量和分叉的值;
步骤114,根据所述分叉的变量和分叉的值,得到所述分叉节点的左子节点和右子节点,并均加入所述待分叉的树节点集合中。
进一步的,所述步骤13包括:
步骤131,根据所述各分箱权重,确定对应的多个叶子节点的权重;
步骤132,根据每个叶子节点所代表的区间,获知某条记录在叶子节点区间的分布,将所述记录分布的所有叶子节点的权重加起来,得到该记录对应的分数;
步骤133,根据步骤132计算所有记录对应的分数,获得评分结果。
进一步的,所述步骤2包括:
根据所述各分箱权重计算所述待预测数据中每个记录的分数,获得评分结果。
为实现上述目的,本发明还公开了一种基于森林区分度模型的预测系统,该系统包括:
建模模块,基于随机森林算法使用建模数据进行建模,对所述建模数据进行分箱,并经过区分度模型求解,获得建模结果;
预测模块,根据建立的模型和所述建模结果,对待预测的数据进行打分,获得预测结果。
进一步的,所述建模模块包括:
分箱模块,基于所述随机森林算法,对所述建模数据进行分箱,获得分箱结果;
区分模块,根据所述分箱结果将所述建模数据的变量转换为哑变量,利用所述哑变量进行区分度模型求解,获得各分箱权重;
计算模块,根据所述各分箱权重计算所述建模数据中每个记录的分数,获得评分结果;
分割模块,根据所述评分结果,决定区分好坏的分数,获得建模结果。
进一步的,所述分箱模块包括:
抽取模块,随机抽取部分建模数据作为树的根节点,并加入到待分叉的树节点集合中;
第一判断处理模块,判断所述待分叉的树节点集合是否为空,如果为空,则返回所述根节点的树;如果不为空,则从所述待分叉的树节点集合中选择一个节点,并从所述待分叉的树节点集合中删除该节点;
第二判断处理模块,判断所述节点是否符合节点分叉条件,如果不符合条件,则返回第一判断处理模块,否则计算该节点的分叉的变量和分叉的值;
结果获得模块,根据所述分叉的变量和分叉的值,得到所述分叉节点的左子节点和右子节点,并均加入所述待分叉的树节点集合中。
进一步的,所述计算模块包括:
权重获得模块,根据所述各分箱权重,确定对应的多个叶子节点的权重;
权重处理模块,根据每个叶子节点所代表的区间,获知某条记录在叶子节点区间的分布,将所述记录分布的所有叶子节点的权重加起来,得到该记录对应的分数;
评分模块,根据权重处理模块计算所有记录对应的分数,获得评分结果。
进一步的,所述预测模块包括:
根据所述各分箱权重计算所述待预测数据中每个记录的分数,获得评分结果。
本发明的有益效果为:本发明主要针对目前已有的使用区分度模型进行评 分卡建模过程中的分箱步骤,提出了基于随机森林的分箱方式,使用随机森林算法的结果作为样本分类方式,并进一步引用于区分度模型中,而不是直接使用随机森林的结果进行判别。此种新的方式不仅为分箱过程提供了可以自动化的工具,而且在分箱过程中能够综合考虑多个变量间的关系,从而得到更好的分箱结果。可以说,该方法提供了一种简单的、扩展的、有据可循的分箱方法,该方法可以减少数据分析师筛选变量的时间,降低分析师建模的门槛,及不需要精通较高深的运算理论,就能够使用该方法得到较好的分箱结果,从而得到效果较好的预测结果。同时也提高了建模的效率和模型的精度。这在一定程度上促进了评分卡建模技术的普及,让大多数的人都能够应用该方法于自己的生产和工作领域中。
另外,对于区分度算法来说,它的优势在于相对传统的回归模型来说,当建模的数据存在多重共线性时,有时候会严重影响模型的精度,而区分度通过分箱后重新计算变量的权重,就避免了多重共线性对模型的影响。但区分度的也有一个问题,就是当样本数据存在异方差时,会在一定程度上影响模型的稳定性。而随机森林因为综合考虑了多个变量间的相关性,是由多变量的分箱组合而成的新变量计算出来的权重,这样就避免了数据存在异方差对模型的影响。换句话说,随机森林的分箱算法简化了对数据的考量,省略了对数据多重共线性及异方差的检验,这在很大程度上也提高了分析师的工作效率。
附图说明
图1A是本发明的基于森林区分度模型的预测方法流程图;
图1B是本发明的基于森林区分度模型的预测系统示意图;
图1C评分样本示意图;
图2应用评分卡技术预测流程;
图3评分卡建模流程;
图4随机森林分箱流程;
图5随机森林生成一棵树的流程;
图6随机森林树节点分叉流程;
图7随机森林计算一个节点处一个变量最优分叉点流程。
具体实施方式
下面给出本发明的具体实施方式,结合附图对本发明做出了详细描述。
图1A是本发明的基于森林区分度模型的预测方法流程图。如图1A所示,该方法包括:
步骤1,基于随机森林算法使用建模数据进行建模,对所述建模数据进行分箱,并经过区分度模型求解,获得建模结果;
步骤2,根据建立的模型和所述建模结果,对待预测的数据进行打分,获得预测结果。
进一步的,所述步骤1包括:
步骤11,基于所述随机森林算法,对所述建模数据进行分箱,获得分箱结果;
步骤12,根据所述分箱结果将所述建模数据的变量转换为哑变量,利用所述哑变量进行区分度模型求解,获得各分箱权重;
步骤13,根据所述各分箱权重计算所述建模数据中每个记录的分数,获得评分结果;
步骤14,根据所述评分结果,决定区分好坏的分数,获得建模结果。
进一步的,所述步骤11包括:
步骤111,随机抽取部分建模数据作为树的根节点,并加入到待分叉的树节点集合中;
步骤112,判断所述待分叉的树节点集合是否为空,如果为空,则返回所述根节点的树;如果不为空,则从所述待分叉的树节点集合中选择一个节点,并从所述待分叉的树节点集合中删除该节点;
步骤113,判断所述节点是否符合节点分叉条件,如果不符合条件,则返回步骤112,否则计算该节点的分叉的变量和分叉的值;
步骤114,根据所述分叉的变量和分叉的值,得到所述分叉节点的左子节点和右子节点,并均加入所述待分叉的树节点集合中。
进一步的,所述步骤13包括:
步骤131,根据所述各分箱权重,确定对应的多个叶子节点的权重;
步骤132,根据每个叶子节点所代表的区间,获知某条记录在叶子节点区 间的分布,将所述记录分布的所有叶子节点的权重加起来,得到该记录对应的分数;
步骤133,根据步骤132计算所有记录对应的分数,获得评分结果。
进一步的,所述步骤2中:
根据所述各分箱权重计算所述待预测数据中每个记录的分数,获得评分结果。
图1B是本发明的基于森林区分度模型的预测系统示意图。如图1B所示,该系统包括:
建模模块100,基于随机森林算法使用建模数据进行建模,对建模数据进行分箱,并经过区分度模型求解,获得建模结果;
预测模块200,根据建立的模型和所述建模结果,对待预测的数据进行打分,获得预测结果。
进一步的,所述建模模块100包括:
分箱模块110,基于所述随机森林算法,对所述建模数据进行分箱,获得分箱结果;
区分模块120,根据所述分箱结果将所述建模数据的变量转换为哑变量,利用所述哑变量进行区分度模型求解,获得各分箱权重;
计算模块130,根据所述各分箱权重计算所述建模数据中每个记录的分数,获得评分结果;
分割模块140,根据所述评分结果,决定区分好坏的分数,获得建模结果。
进一步的,所述分箱模块110包括:
抽取模块,随机抽取部分建模数据作为树的根节点,并加入到待分叉的树节点集合中;
第一判断处理模块,判断所述待分叉的树节点集合是否为空,如果为空,则返回所述根节点的树;如果不为空,则从所述待分叉的树节点集合中选择一个节点,并从所述待分叉的树节点集合中删除该节点;
第二判断处理模块,判断所述节点是否符合节点分叉条件,如果不符合条件,则返回第一判断处理模块,否则计算该节点的分叉的变量和分叉的值;
结果获得模块,根据所述分叉的变量和分叉的值,得到所述分叉节点的左子节点和右子节点,并均加入所述待分叉的树节点集合中。
进一步的,所述计算模块130包括:
权重获得模块,根据所述各分箱权重,确定对应的多个叶子节点的权重;
权重处理模块,根据每个叶子节点所代表的区间,获知某条记录在叶子节点区间的分布,将所述记录分布的所有叶子节点的权重加起来,得到该记录对应的分数;
评分模块,根据权重处理模块计算所有记录对应的分数,获得评分结果。
进一步的,所述预测模块200中:
根据所述各分箱权重计算所述待预测数据中每个记录的分数,获得评分结果。
本发明所涉及的森林区分度模型基于区分度模型,在分箱过程中,采用了随机森林算法,该算法在对样本划分的过程中,综合考虑了多个变量间的相关性。为了更好的理解随机森林算法的结果,可以做如下的对比:使用该随机森林算法产生的分箱结果中,每棵树类似于原来分箱方法中的一个binning,而每个树的叶节点类似于原来分箱方法中的一个bin。
在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。本发明中所提到的随机森林算法,只是基于随机森林的思想,对样本进行划分,但算法得到的多个决策树,并不是直接用于类别判断,而是作为一种分箱的方式,根据该决策树,对样本原始变量进行“哑变量”转换,进而进行后续的区分度模型的求解。
本发明提供了一套完整的评分卡建模和应用方法。首先,根据训练样本数据建立模型。该方法基于随机森林算法,对样本进行分箱,并根据算法结果将样本原始变量转换为哑变量,经过转换后的数据作为区分度模型的输入,求解出哑变量的权重。该过程中得到的样本分箱的结果和哑变量(即每个bin)的权重即代表了建立的模型。根据模型,我们可以计算出样本中每个记录对应的分数。计算方式是:根据每个bin所代表的区间,看每条记录落入哪些bin,将所有落入的bin的权重加起来,就是该记录对应的分数。基于样本所有记录好坏的分布和分数的分布,我们可以得到Divergence图,并得到每个分数点,对应的好坏的样本数。依据这一统计信息和相应的业务需求,可以确定用于区分好坏样本的分数点,即cutoff点。至此,依据建立的模型和模型结果,可以应用模型对样本外的数据进行预测好坏。预测过程如下:首先对一条记录打 分,打分方式和样本数据打分方式一样;如果打分结果小于cutoff点的分数,则预测该样本的目标变量值为“坏”,否则为“好”。
图2至图7展示了使用森林区分度模型建模和预测的详细流程。下面结合图示说明该流程的具体操作步骤:
S1.使用建模数据进行建模,得到依据模型进行预测的策略1.1分箱
S1.1.1生成随机森林中的一棵树(重复Nt次,生成Nt棵树)其具体步骤如下:
S1.1.1.1随机抽取Nr条数据(Nr为用户指定的参数),作为树的根节点root,并加入到待分叉的树节点集合V中
S1.1.1.2判断V是否为空,如果为空,则返回以root为根节点的树;如果不为空,则继续下面的操作:
S1.1.1.2.1从V中选择一个节点node,并从集合V中删除该节点
S1.1.1.2.2判断node是否符合节点分叉条件(该条件可以根据用户需要自定义,比如图5中所示的条件为:该节点包含的总数据量是否不小于M,并且“好”或者“坏”的数据量不小于P,M和P为用户指定的参数),如果不符合条件,则返回步骤1.1.1.2,否则继续下面的操作:
S1.1.1.2.2.1计算该node的分叉的变量Var_S和分叉的值Value_S
S1.1.1.2.2.1.1从node对应的样本中包含的所有预测变量中随机选取X个变量(X是一个节点考察的变量个数,是由用户指定的参数)
S1.1.1.2.2.1.2对X个变量,分别考察其作为分叉变量时,对应的最优分叉点。其具体步骤如下:
S1.1.1.2.2.1.2.1对于X中的一个变量Xi,得到node对应的样本中,Xi所有不重复的记录值构成的集合S
S1.1.1.2.2.1.2.2计算S中的每个值作为分叉点时,对应的评估函数F的值;记为<Sk,Fk>,评估函数F的计算可以直接使用统计值IV或者Gini等,能够用于评估好坏区分能力的公式;这里的计算中,基于计算效率和实际应用场景的需要,也可以不用计算S中的每个值对应的F值,而只是计算部分值,这样得到局部最优解即可;否则计算每个值得到的是该步骤中的全局最优解
S1.1.1.2.2.1.2.3选择S中,使得评估函数F取得最大值时的记录值Sm,作为变量Xi的分叉值,即<Sm,Fm>
S1.1.1.2.2.1.3得到X个变量,及每个变量对应的分叉值,我们记为<Xi,Sm,Fm>,即变量Xi对应的分叉值为Sm,评估函数值为Fm。选取所有变量中评估函数最大的作为该node的分叉变量Var_S,分叉值Value_S
S1.1.1.2.2.2根据分叉的信息Var_S和Value_S,得到分叉后的子节点left和right;如果Var_S是数值型变量,则样本中变量Var_S的值小于等于Value_S的数据归入子节点left,变量Var_S的值大于Value_S的数据归入子节点right;如果Var_S是离散型变量或者称为字符型变量,则样本中变量Var_S值等于Value_S的数据归入子节点left,其它的数据归入子节点right
S1.1.1.2.2.3将left设置为node的左子结点,将right设置为node的右子结点,并将left和right加入集合V中
S1.2区分度模型求解
根据1.1分箱的过程,我们可以知道每棵树中,从根节点到最终的叶子节点,每个节点是如何分叉的,最终可以得到每个叶子节点的样本划分条件。比如根节点N0分叉变量是连续型变量V1,分叉值是S1,则其左子节点N1的划分条件为V1<=S1,其右子结点N2的划分条件为V1>=S1;N1的分叉变量为离散型变量V2,分叉值为S2,则N1的左子节点N3的划分条件为V1<=S1 && V2=S2,N1的右子结点N4的划分条件为V1<=S1 && V2!=S2;以此类推,我们可以得到最终叶子节点的划分条件。每个叶子节点就是一个bin,叶子节点的划分条件就是bin对应的条件,而一棵树所有叶子节点的集合就是一个binning。
根据分箱的结果,我们进行哑变量的转换,得到转换后的数据集。转换规则是每个bin对应于一个哑变量,根据原始样本中每条记录的值,是否满足bin的条件,如果满足,则该bin对应的变量值为1,否则为0。使用该数据集求解使得DIV取得最大值的变量系数,即对应于每个bin的系数。
S1.3计算评分
根据使用随机森林得到的分箱的结果,和每个bin的系数,可以计算出样本数据中每个记录的分数。计算方法是,根据记录中每个变量的值,判断是否满足某个bin的条件,如果满足,则该条记录的分数加上bin对应的系数。所有满足条件的bin的系数之和,即为该条记录的分数。
S1.4决定cutoff点
通过步骤1.3得到的每条记录的分数,通常都是数值较小的,或者是包含 小数。在实际应用中,这样的数值不便于理解和业务解释。比如,业务要求分数分布范围在0-1000,那么我们可以通过尺度化变换,将原来的分数映射到新的分数范围内。该变换规则应用到每个bin的系数上,可以得到每个bin尺度化之后的系数。同样,依据此尺度化系数计算得到的分数,称为尺度化分数。根据该分数和样本中每个记录的目标变量,可以统计出每个分数对应的好的记录个数占总记录数的比例,以及每个分数对应的坏的记录的个数占总记录数的比例。依此,可以得到这两组数据对应的直方图,用不同部分分别表示好坏记录对应的直方图,即可以得到如图1C所示的Divergence图。通过该图形,我们可以直观地看出好坏两部分的重叠程度,如果重叠部分较大,则说明模型对于好坏的区分能力不好,还需要继续调整模型;如果重叠部分不大,则说明模型是可以接受的。一般来说,可以选取两个图形相交点对应的分数值,作为区分好坏的分数,即cutoff点。当然,根据具体的业务需求,也可以再细致考察以其它分数作为cutoff点时,可能误判的概率,并结合实际要求确定一个合适的cutoff点。
S2.根据得到的预测策略,对待预测的数据进行预测,得到预测结果
根据之前的步骤,可以得到随机森林分箱的结果,每个bin对应的系数,以及cutoff点对应的分数。对每一条待预测的数据,根据该数据的每个变量的值,使用与步骤1.3相同的方法,计算出该条数据的得分。如果步骤1.4中应用了尺度化变换,则此处的得分也需要使用每个bin的尺度化系数计算,得到尺度化分数。如果该分数的值大于等于cutoff点对应的分数,则该条记录被预测为好的记录;否则被预测为坏的记录。
需要说明的是,对于随机森林中一棵树的生成,如果一棵树上每个节点用于分叉的变量都是一个,而不是从多个变量中随机选择,即一棵树最终叶子节点的条件中,只包含一个变量,那么一棵树得到的结果就对应于原有的分箱方法中对一个变量分箱的结果;而每一个棵分别使用不同的变量,那么得到的随机森林就对应于原有分箱方法中对不同变量的分箱结果。因此,本发明中介绍的随机森林分箱的方法是对原有分箱方式的扩展,而原有分箱方式是随机森林分箱方式的一种特殊情况。进一步的,我们可以确定,如果使用该特殊情况,我们至少能保证随机森林能够得到和原有方式相同的分箱结果;而在某些情况下,使用随机森林方法,因为其考虑了多变量间的相关性,我们能够得到比原有方式更好的分箱结果。
本发明重点要保护的是这一方法流程,即随机森林+区分度。
为了更好地理解该流程,下面以一个信用卡审批为例来说明(以下用到的数据纯属虚构)。样本数据如下表所示,其中GB为目标变量,GB值为1表示好客户,0表示坏客户;AGE,AMOUNT为连续型预测变量,PURPOSE为离散型预测变量。
基于该样本的建模和预测流程如下:
1.建模
a)分箱(生成随机森林)
i.生成3棵树(该过程已经在图5至图7中详细描述,可以通过编程实现,这里不详细列出具体计算过程)
结果为:
第一棵树:
第一个bin:AMOUNT<1391
第二个bin:AMOUNT>=1391 and AGE<35
第三个bin:AMOUNT>=1391 and AGE>=35
第二棵树:
第一个bin:AMOUNT<1391
第二个bin:AMOUNT>=1391 and AMOUNT<2080
第三个bin:AMOUNT>=2080 and AMOUNT<5800
第四个bin:AMOUNT>=5800
第三棵树:
第一个bin:AMOUNT<1309
第二个bin:AMOUNT>=1309 and AGE<27
第三个bin:AMOUNT>=1309 and AGE>=27 and PURPOSE==’3’
第四个bin:AMOUNT>=1309 and AGE>=27 and PURPOSE!=’3’
b)变量转换
根据上述分箱结果,我们可以对样本数据进行变量转换。每个bin为一个新的预测变量,则我们有11个预测变量,其中变量TiBj表示第i棵树第j个bin对应的变量。转换规则是根据原始样本中每条记录的值,是否满足bin的条件,如果满足,则该bin对应的变量值为1,否则为0。
以样本中第一条记录为例:AGE为45,PURPOSE为0,AMOUNT为1403。与每个bin的条件进行匹配后,可知第一棵树三个bin对应的值为0,0,1,第二棵树四个bin的值为0,1,0,0,第三棵树的四个bin的值为0,0,0,1,因此,该条记录转换后的记录值对应于0,0,1,0,1,0,0,0,0,0,1。如表格1的第一行数据所示。表格1展示了原始样本中前三条数据转换后的结果,其它数据可以依据该规则逐一转换。
表格1转换后的数据
INDEX | T1B1 | T1B2 | T1B3 | T2B1 | T2B2 | T2B3 | T2B4 | T3B1 | T3B2 | T3B3 | T3B4 | GB |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
2 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
3 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
c)区分度模型求解,尺度化变换
i.经过转换后的数据,使用区分度模型求解后,可以得到各变量的权重如下:
T1B1 | T1B2 | T1B3 | T2B1 | T2B2 | T2B3 | T2B4 | T3B1 | T3B2 | T3B3 | T3B4 |
-0.1217 | -0.9787 | 1.600 | -0.0813 | -0.6204 | 0.6203 | -0.4907 | 1.6591 | 1.6314 | -1.1496 | -0.7744 |
由于经过区分度模型求解得到的权重大多数为较小的数,为了在实际应用中更加方便,我们对该组权重进行尺度化变换,转为比较容易理解和接受的整数值。上述权重经过变换后,得到如下尺度化后的权重:
21,10,43,17,10,26,11,46,46,10,14
该权重分别对应于上述每个bin的权重。
T1B1 | T1B2 | T1B3 | T2B1 | T2B2 | T2B3 | T2B4 | T3B1 | T3B2 | T3B3 | T3B4 |
21 | 10 | 43 | 17 | 10 | 26 | 11 | 46 | 46 | 10 | 14 |
d)计算评分
根据尺度化后的权重,可以计算原始样本中每个样本的评分值。比如第一条记录,对应T1B3,T2B2和T3B4箱子为1,则这三个箱子的权重之和43+10+14=67即为第一条记录的分数。依此类推,可以计算出每条记录的分数。
e)确定cutoff点
根据样本评分的计算,可知样本分数分布范围为29到83,根据不同分数段好坏比率的分布可以确定一个较优的cutoff点,使得cutoff点以下的,占了坏样本的大多数,cutoff点以上的,占了好样本的大多数。此处作为示意,我们选择52分作为cutoff点。
2.应用模型
有了上述建立的模型和建模结果,我们可以应用该模型对样本外的数据进行预测。比如
对于一条新的数据AGE为20,AMOUNT为5000,PURPOSE为3,该数据预测好坏可以通过下述方法:
a)计算评分
根据模型内容,该条记录满足T1B2,T2B3,T3B2的条件,因此该条记录的评分为:
10+26+46=82
b)确定预测数据的好坏
评分82大于cutoff点52,所以该条记录预测结果为好,即GB=1。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
Claims (6)
1.一种基于森林区分度模型的预测方法,其特征在于,包括:
步骤1,基于随机森林算法使用建模数据进行建模,对所述建模数据进行分箱,并经过区分度模型求解,获得建模结果,其中所述步骤1包括:
步骤11,基于所述随机森林算法,对所述建模数据进行分箱,获得分箱结果;
步骤12,根据所述分箱结果将所述建模数据的变量转换为哑变量,利用所述哑变量进行区分度模型求解,获得各分箱权重;
步骤13,根据所述各分箱权重计算所述建模数据中每个记录的分数,获得评分结果;
步骤14,根据所述评分结果,决定区分好坏的分数,获得建模结果;
步骤2,根据建立的模型和所述建模结果,对待预测的数据进行打分,获得预测结果,所述步骤2中:根据所述各分箱权重计算所述待预测的数据中每个记录的分数,获得评分结果。
2.如权利要求1所述的基于森林区分度模型的预测方法,其特征在于,所述步骤11包括:
步骤111,随机抽取部分建模数据作为树的根节点,并加入到待分叉的树节点集合中;
步骤112,判断所述待分叉的树节点集合是否为空,如果为空,则返回所述根节点的树;如果不为空,则从所述待分叉的树节点集合中选择一个节点,并从所述待分叉的树节点集合中删除所述节点;
步骤113,判断所述节点是否符合节点分叉条件,如果不符合条件,则返回步骤112,否则计算所述节点的分叉的变量和分叉的值;
步骤114,根据所述分叉的变量和分叉的值,得到所述节点的左子节点和右子节点,并均加入所述待分叉的树节点集合中。
3.如权利要求1所述的基于森林区分度模型的预测方法,其特征在于,所述步骤13包括:
步骤131,根据所述各分箱权重,确定对应的多个叶子节点的权重;
步骤132,根据每个叶子节点所代表的区间,获知某条记录在叶子节点区间的分布,将所述记录分布的所有叶子节点的权重加起来,得到所述记录对应的分数;
步骤133,根据步骤132计算所有记录对应的分数,获得评分结果。
4.一种基于森林区分度模型的预测系统,其特征在于,包括:
建模模块,基于随机森林算法使用建模数据进行建模,对所述建模数据进行分箱,并经过区分度模型求解,获得建模结果,其中所述建模模块包括分箱模块、区分模块、计算模块、分割模块:
分箱模块,基于所述随机森林算法,对所述建模数据进行分箱,获得分箱结果;
区分模块,根据所述分箱结果将所述建模数据的变量转换为哑变量,利用所述哑变量进行区分度模型求解,获得各分箱权重;
计算模块,根据所述各分箱权重计算所述建模数据中每个记录的分数,获得评分结果;
分割模块,根据所述评分结果,决定区分好坏的分数,获得建模结果;
预测模块,根据建立的模型和所述建模结果,对待预测的数据进行打分,获得预测结果,所述预测模块中:根据所述各分箱权重计算所述待预测的数据中每个记录的分数,获得评分结果。
5.如权利要求4所述的基于森林区分度模型的预测系统,其特征在于,所述分箱模块包括:
抽取模块,随机抽取部分建模数据作为树的根节点,并加入到待分叉的树节点集合中;
第一判断处理模块,判断所述待分叉的树节点集合是否为空,如果为空,则返回所述根节点的树;如果不为空,则从所述待分叉的树节点集合中选择一个节点,并从所述待分叉的树节点集合中删除所述节点;
第二判断处理模块,判断所述节点是否符合节点分叉条件,如果不符合条件,则返回第一判断处理模块,否则计算所述节点的分叉的变量和分叉的值;
结果获得模块,根据所述分叉的变量和分叉的值,得到所述节点的左子节点和右子节点,并均加入所述待分叉的树节点集合中。
6.如权利要求4所述的基于森林区分度模型的预测系统,其特征在于,所述计算模块包括:
权重获得模块,根据所述各分箱权重,确定对应的多个叶子节点的权重;
权重处理模块,根据每个叶子节点所代表的区间,获知某条记录在叶子节点区间的分布,将所述记录分布的所有叶子节点的权重加起来,得到所述记录对应的分数;
评分模块,根据权重处理模块计算所有记录对应的分数,获得评分结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310018641.5A CN103942604B (zh) | 2013-01-18 | 2013-01-18 | 基于森林区分度模型的预测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310018641.5A CN103942604B (zh) | 2013-01-18 | 2013-01-18 | 基于森林区分度模型的预测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942604A CN103942604A (zh) | 2014-07-23 |
CN103942604B true CN103942604B (zh) | 2017-07-07 |
Family
ID=51190266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310018641.5A Active CN103942604B (zh) | 2013-01-18 | 2013-01-18 | 基于森林区分度模型的预测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103942604B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306213B (zh) * | 2015-09-23 | 2019-07-09 | 中国联合网络通信集团有限公司 | 用户信息处理方法及系统 |
CN106980623B (zh) * | 2016-01-18 | 2020-02-21 | 华为技术有限公司 | 一种数据模型的确定方法及装置 |
CN106874933A (zh) * | 2016-12-30 | 2017-06-20 | 平安科技(深圳)有限公司 | 基于数据挖掘的建模方法及装置 |
CN109344026A (zh) | 2018-07-27 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 数据监控方法、装置、电子设备及计算机可读存储介质 |
CN109408583B (zh) * | 2018-09-25 | 2023-04-07 | 平安科技(深圳)有限公司 | 数据处理方法及装置、计算机可读存储介质、电子设备 |
CN111242441B (zh) * | 2020-01-06 | 2023-06-30 | 上海孚厘科技有限公司 | 一种适用于小微企业风险控制模型的自适应参数拟合方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483854B2 (en) * | 2003-01-24 | 2009-01-27 | Liu Michael C | Method and system for intelligent automated security trading via the internet |
CN102866984B (zh) * | 2012-05-03 | 2016-02-24 | 北京国政通科技有限公司 | 智能交易中矩阵量化分析方法及其系统 |
-
2013
- 2013-01-18 CN CN201310018641.5A patent/CN103942604B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103942604A (zh) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942604B (zh) | 基于森林区分度模型的预测方法及系统 | |
Olczyk | A systematic retrieval of international competitiveness literature: a bibliometric study | |
CN106156809A (zh) | 用于更新分类模型的方法及装置 | |
CN105447525A (zh) | 一种数据预测分类方法及装置 | |
CN116108758B (zh) | 滑坡易发性评价方法 | |
Chen et al. | An alternative model for the analysis of detecting electronic industries earnings management using stepwise regression, random forest, and decision tree | |
Tiffin | Machine learning and causality: The impact of financial crises on growth | |
CN112559900B (zh) | 产品推荐方法、装置、计算机设备和存储介质 | |
CN113177585B (zh) | 一种用户分类方法、装置、电子设备及存储介质 | |
CN107633455A (zh) | 基于数据模型的信用评估方法及装置 | |
Devi et al. | A relative evaluation of the performance of ensemble learning in credit scoring | |
CN110930038A (zh) | 一种贷款需求识别方法、装置、终端及存储介质 | |
CN106844330B (zh) | 文章情感的分析方法和装置 | |
CN111583012A (zh) | 融合文本信息的信用债发债主体违约风险评估方法 | |
CN111738870B (zh) | 基于特征工程的工程履约保证保险风险识别方法与平台 | |
CN108629508A (zh) | 信用风险分类方法、装置、计算机设备及存储介质 | |
Zou et al. | ID3 decision tree in fraud detection application | |
Aldi et al. | University Student Satisfaction Analysis on Academic Services by Using Decision Tree C4. 5 Algorithm (Case Study: Universitas Putra Indonesia “yPTK” Padang) | |
Susanto et al. | Fuzzy based decision support model for health insurance claim | |
CN1653486B (zh) | 模式的特征选择方法、分类方法、判定方法 | |
Kun et al. | Default identification of p2p lending based on stacking ensemble learning | |
Kuběnka | The factors affecting the accuracy of business failure prediction models | |
CN115330526A (zh) | 一种企业信用评分方法及装置 | |
Soni et al. | A novel optimized classifier for the loan repayment capability prediction system | |
Pang et al. | WT combined early warning model and applications for loaning platform customers default prediction in smart city |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |