基于基因表达式编程的信用评估模型挖掘方法

时间:2022-08-18 11:19:10

基于基因表达式编程的信用评估模型挖掘方法

摘要:提出了一种基于基因表达式编程(GEP)的信用评估模型挖掘方法GEP―CREDIT。该方法基于客户信贷数据,利用GEP算法自动进行属性筛选,并进行属性融合,在此基础上训练和建立信用评估模型。在德国信用数据库真实数据集上做的实验和性能分析表明,基于GEP的信用评估模型挖掘方法较NaveBayes算法的预测精度提高了3%;较SVM算法的预测精度提高了1.6%;较KNN(K=17)算法的预测精度提高了6.83%。

关键词:数据挖掘;基因表达式编程;信用评估

中图分类号:TP311.13文献标识码:A

文章编号:1001-9081(2007)04-0877-04

0引言

信用评估是商业银行控制风险的关键技术。目前,尚缺乏一套有效的个人信用评估方法,阻碍了个人消费信贷业务进一步开展。因此,利用数据挖掘的算法建立一个快速、高效的信用评估模型,对金融市场的发展具有重要意义。

信用评估实质上是模式识别的分类问题――将贷款者划分为能够按期还本付息的“好”客户和违约的“坏”客户两类。训练时,根据历史上每个类别(按期还本付息和违约)的若干样本,从中找出违约和不违约者的特征,从而得到分类规则,并建立数学模型,进而预测未来贷款人的违约风险,为消费信贷决策提供科学依据。

针对信用评估对象的特点,本文提出了基于GEP算法的信用评估模型GEP―CREDIT,并对德国信用数据库进行分析,挖掘出信用评估模型,利用该模型对德国信用数据库的真实数据进行预测,取得了很高的精度。同时该方法能自动从众多属性中提取对最后分类影响最大的属性集,并进行属性融合,有效提高信用评估的效率和客观性。实验结果与传统的信用评估方法进行比较表明,GEP―CREDIT模型较NaveBayes算法其预测精度提高了3%;较SVM算法其预测精度提高了1.6%;较KNN(K=17)算法其预测精度提高了6.83%。

1相关工作

1.1传统信用评估方法

传统的信用评估方法有统计评估和非统计评估两大类。统计评估方法主要包括判别分析、线性回归、非线性回归、Logit模型以及非参数统计中的k―近邻判别分析方法(KNN)等。非统计评估方法包括线性规划、整数规划、神经网络和专家系统等[8]。

判别分析模型形式简单直观,具有很好的解释性,但必须满足现实中难以满足的等协方差和正态等条件。二次判别分析模型可解决等协方差阵条件,但却不满足正态假定,并且当数据样本维度高、数量少时性能显著下降。由于这两种方法必须假设样本满足某种统计分布,显得过于牵强。Logit模型无需假定任何概率分布,也不要求等协方差性,但当样本点存在完全分离时,模型参数的最大似然估计可能不存在。另外该方法对中间区域的判别敏感性较强,导致判别结果的不稳定[8]。KNN方法是一种常用的非参数模式识别方法,它不要求数据正态分布,它的非参数特点使得在特征变量空间上对于不规则变量的建模成为可能。然而当数据维数比较高时,存在所谓的“维数灾”问题,且即使样本量很大,其散落在高维空间中仍显得非常稀疏,绝大多数点附近根本没有样本点,这使得KNN的思想很难体现[9]。

人工神经网络是一种对数据分布无任何要求的非线性技术,它能有效解决非正态分布、非线性的信用评估问题,但它存在“黑箱性”(即不具解释性)、结构确定困难等缺点,易出现过学习现象,推广能力较差[8]。

信用评估本质上是一个复杂的非线性分类问题,因此使用线性模型进行分类和预测的效果并不理想,而非线性统计和智能方法也都各有利弊,目前还没有一个公认的最优信用评估模型,因此探索新的信用评估模型和方法具有重要的理论价值和实际意义。

1.2基因表达式编程基本概念

基因表达式编程(GeneExpressionProgramming,GEP)是在遗传算法(GeneticAlgorithm,GA)和遗传编程(GeneticProgramming,GP)的基础上发展的新算法。它们最本质的区别在于个体的编码方法及结果的表现形式上。由于GEP染色体简单,线性和紧凑,易于进行遗传操作等,具有更强的解决问题的能力。文献[2]中指出GEP比GA和GP快2―4个数量级。

在GEP中,个体又称为染色体,染色体是由基因通过连接运算符连接组成。Gene由头(head)和尾(tail)组成,头部由函数符(运算符或其他初等函数)或者终结符(变量或常量)组成,尾部由终结符组成。头部和尾部满足以下关系:|tail|=|head|×(n-1)+1;其中n代表函数符集中参数的最大个数,例如运算符“+”带两个参数。

GEP中的染色体编码方法可以避免在遗传操作中产生大量的无效结构,大大提高了算法的效率。其编码方法为:将表达式根据其运算法则表示为表达式树(ExpressionTree,ET),然后广度优先遍历该ET,得到的符号序列即为个体编码的有效部分,称为K表达式(K―expression)。反之,将K表达式按以上过程的逆过程进行解码可得出对应的数学表达式。

若干个体构成整个种群。GEP算法模拟自然界中的生物进化,按照“物竞天择,适者生存”的原则对种群实施若干次的选择、交叉和变异等遗传操作,使种群一代代地进化,从中寻求出最优的个体,从而得到问题的最终解。

2基于基因表达式编程的信用评估模型

2.1数据预处理

现实生活中收集的信用数据一般存在空缺数据、不一致数据,并且表达形式多样化,不利于进一步的数据挖掘。为提高挖掘结果的精度和有效性,必须对数据进行预处理。在基于GEP的信用评估模型GEP―CREDIT中,数据预处理分两步进行:

1)数据清理。这一步用于处理原始数据集中存在的空缺数据或奇异值数据,要点包括:

a)对于样本数据中有缺失属性值的样本进行删除;

b)对每个属性的奇异值用领域专家认定的相应的缺省值来代替。

2)数据表示。原始数据的形式可能不利于数据分析,因此需要对数据进行离散化和概念分层,要点包括:

a)离散型数据:用1到N之间的离散型数据表示各属性值。离散型变量只取集合内的固定值。

b)连续型数据:

采用比例变换的方法某些属性的值与其他属性的值相比,数值相差太大,会造成分类器性能下降,需要通过线性比例变换映射到某一区间。例如,贷款金额一般在区间[1000,9999],可以通过比例变换映射到区间[10,99]。

通过划分分段根据属性值的范围划分为N个不相交的区间,分别用编号代替属于每个区间的属性的值。例如,把工作时间表示成如下形式:1:失业;2:小于1年;3:1―4年;4:4―7年;5:7年以上。

2.2评估算法

建立信用评估模型的目的是当得到用户的相关信息后,模型能够给出该用户的信用评估等级,从而做出最终决策,或为制定最终决策提供依据。利用信用评估模型对用户的信用等级进行划分实际上就是分类。简单地可以分为信用好与信用不好两类,或是根据事先的指定分为多个等级。这分别对应了分类中的2―分类问题和n―分类问题。由于n―分类问题可以转换成n个2―分类问题,所以将信用评估的建立归结为2―分类问题。

GEP具有如下特征:

1)GEP具有极强的计算能力,适合对数值型属性进行建模分析,并且无需事先指定模型的函数形式和各因式的系数[1,2];

2)利用GEP建模,在建模的同时GEP可以对相关属性进行筛选,即自动进行特征提取。

3)多项研究已验证,利用GEP进行分类能够取得较高的分类精度[6,7],特别是在建立信用评估模型这类非实时的应用领域中,用GEP能得到较传统方法更高的预测精度(第3节);

为此本文提出了基于GEP的信用评估模型:GEP―CREDIT。

定义2朴素训练分数。若TP是f()对训练集中正类样本的正确分类记录数,TN是f()对训练集中负类样本的正确分类记录数,那么称TP+TN的值为朴素训练分数。

显然,朴素训练分数是个非负数。利用GEP挖掘出具有最高朴素训练分数的分类模型是我们的求解目标。在定义2的基础上,如果考虑正类样本被错分为负类(FP)和负类样本被错分为正类(FN)的情况,以及发生错分时产生的代价,则可定义非朴素训练分数,其基本思想、求解目标与朴素训练分数一致。文献[2]研究了综合考虑TP、TN、FP、FN时个体适应度的评价方式。限于篇幅,本文不再赘述。

2.3系统模型根据前文的叙述,我们构建的GEP信用评估模型具有以下四个模块,如图1所示。

用户交互模块负责提供用户设定相关参数,输入数据,输出执行结果。

数据预处理模块负责数据的清理和表示工作。

评估模型训练模块利用GEP根据输入数据挖掘信用评估模型。

信用预测模块根据得到的GEP信用评估模型预测待分析记录。

用建立好的信用评估模型CreditModel对新样本的信用进行预测的算法如下:

说明:当算法2返回true时,表明GEP―CREDIT对当前客户的信用评估较好,若返回false则表明GEP―CREDIT对当前客户的信用评估较低。GEP―CREDIT的评估结果将有助于最终决策的指定。

3性能分析

3.1数据来源

采用德国信用数据库数据[10]验证了GEP―CREDIT模型的分类精度,并同时进行了性能分析。德国信用数据库包含1000份客户信用资料,每个客户包含的20个属性,如表1所示。

3.2实验结果

本文实现的GEP信用评估系统由Java编写,运行平台为JDK1.5.0,IntelP4,512M内存,WindowsXP操作系统。在实验中发现:

1)学习算法(或模型)对数据过分特化,如果使用训练数据导出分类法,然后评估分类法,可能错误地导致过于乐观的估计。

2)k―折交叉确认是基于给定数据随机选样划分的,是常用的评估分类法准确率的技术。

因此,为了更准确地评估GEP―CREDIT模型的准确率,把1000个数据分成4个互不相交的子集数据集,每个子集各250个数据。把这4个子集按3∶1的比例组成训练集和测试集,进行4―折交叉确认。取4个分类训练样本分类的平均精度与进化代数进行对照,其关系如图2所示。4个分类预测结果的平均值与NaveBayes算法、SVM算法和KNN(K=17)算法分类预测结果的精度进行了比较,如图3所示。

由于GEP―CREDIT模型能自动从众多属性中提取对最后分类影响最大的属性集,并进行属性融合,有效提高了信用评估的效率和客观性。从图2可以看出,分类器的训练速度快,平均进化到300代,分类器训练基本完成,其训练的分类精度达到78.7%。从图3可知,GEP―CREDIT模型较SVM算法的预测精度提高了1.6%;较NaveBayes算法的预测精度提高了3%;较KNN(K=17)算法的预测精度提高了6.83%。

4结语

信用评估对于银行具有十分重要的意义,传统的信用评估方法存在一些缺陷。本文针对信用评估对象的特点,提出了适应信用评估的GEP―CREDIT模型,并以德国信用数据库的真实数据为对象做了实验。应用GEP―CREDIT模型对德国信用数据库进行分析,挖掘出信用评估模型,利用该模型对德国信用数据库的真实数据进行预测,实验结果表明GEP―CREDIT模型较传统的分类算法,取得了很高的精度。

在今后的工作中,我们将利用GEP的方法,对影响信用评估的其他因素进行分析,以探讨信用评估的更精确的方法。

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:一种嵌入式VPN网关系统的设计与实现 下一篇:传感器网络中基于应用规则与概率的动态路由算...