一种基于贝叶斯网络和互信息的客户信用评分方法_3

文档序号:9327704阅读:来源:国知局
步骤S3-3,从MISortList中取出最小互信息MI_,将其从MISortList中删除,并 从D中删除MI_所对应的非信用表现属性随机变量及其数据。
[0061 ] 步骤S3-4,基于D中剩余的客户数据使用爬山算法来构建一个贝叶斯网络BNlb,并 计算其贝叶斯信息准则值BIC (BNlb)。
[0062] 步骤S3-5,若比值BIC(BNlb)/BIC(BNla)小于阈值s,则令BN la= BNlb,并返回步骤 S3-3进行重复处理;否则,将当前贝叶斯网络BNla作为初始贝叶斯网络输出。
[0063] 步骤S4,从初始贝叶斯网络中抽取客户信用表现属性结点的马尔科夫毯,并对其 结构进行必要调整,得到最终贝叶斯网络作为客户信用评分模型的网络结构,具体包括:
[0064] 步骤S4-1,从初始贝叶斯网络中抽取客户信用表现属性结点的马尔科夫毯作为中 间贝叶斯网络,具体如下:
[0065] 如图3所示,矩形框中是一个初始贝叶斯网络,该网络中客户信用表现属性结点 X的马尔科夫毯(Markov blanket)是如下所有结点所构成的子网络(即图中虚线圆中部 分):结点X ;X的父结点和子结点;X的子结点的其他父结点。
[0066] 步骤S4-2,对中间贝叶斯网络使用基于互信息的贝叶斯网络结构调整算法进行必 要调整,得到最终贝叶斯网络作为客户信用评分模型的网络结构,具体如下:
[0067] 如果中间贝叶斯网络中客户信用表现属性结点的父结点个数较少,那么使用基于 互信息的贝叶斯网络结构调整算法来增加客户信用表现属性结点的父结点,如图4所示, 该算法由如下步骤S4-2-1至步骤S4-2-4所组成:
[0068] 步骤S4-2-1,输入中间贝叶斯网络BN2、客户信用表现随机变量与其他客户数据属 性随机变量之间的互信息排序表MISortList、拟增加的客户信用表现属性结点的父结点数 量n〇
[0069] 步骤S4-2-2,从MISortList中取出最大互信息MIniax,并将其从MISortList中删 除。
[0070] 步骤S4-2-3,判断MIniax所对应的非信用表现属性结点是否已在ΒΝ 2ψ :若是,则返 回步骤S4-2-2进行重复处理;否则,在BN2中创建MI _所对应的非信用表现属性结点,并 添加从该结点到客户信用表现属性结点的有向边,且η值减1。
[0071] 步骤S4-2-4,判断η值是否大于0 :若是,则返回步骤S4-2-2进行重复处理;否则, 即η值等于0,将当前贝叶斯网络BN2作为最终贝叶斯网络输出,该贝叶斯网络就是客户信 用评分模型的网络结构。
[0072] 步骤S5,使用最大似然估计对客户信用评分模型的网络结构进行参数学习,得到 客户信用评分模型的参数,具体如下:
[0073] 针对已获得的客户信用评分模型的网络结构(即最终贝叶斯网络),基于相应的 客户数据(即:该贝叶斯网络中全部随机变量所表示的所有客户数据属性及其值),使用最 大似然估计(maximum-likelihood estimation)进行参数学习,得到该网络结构(即最终 贝叶斯网络)的条件概率表(conditional probability table)。至此,形成了一个完整的 客户信用评分模型(包括它的网络结构和参数),可用来预测客户的未来信用表现。
[0074] 步骤S6,使用所得的客户信用评分模型来预测客户的未来信用表现,具体如下:
[0075] 将预测客户数据集中所有客户数据属性值(不包括客户的未来信用表现属性数 据)输入到客户信用评分模型中,使用该模型来计算出客户未来信用表现随机变量的概率 值(概率值越高,表明客户的信用级别越低)。
[0076] 在实际应用中,可根据金融机构的金融安全(即市场活动风险)特定需求来设置 特定的概率值区间,以评估客户的信用。例如,如果某客户的概率值属于区间[0. 5, 1],那么 可认为该客户的未来信用表现不佳;如果某客户的概率值属于区间[0, 0. 5),那么可认为 该客户的未来信用表现较佳,等等。
[0077] 下面以一个具体实施例来进一步说明本发明技术方案的【具体实施方式】,并给出本 发明技术方案与其他典型的客户信用评分方法(决策树方法、神经网络方法、初始贝叶斯 网络方法)的性能(预测准确性与精度)比较结果。
[0078] 在以下具体实施例中,客户数据及客户未来信用表现结果数据均取自于kaggle 网站(网址:https://www. kaggle.com/)中 Give Me Some Credit 数据集 cs-training. csv(网址:https://www. kaggle. com/c/GiveMeSomeCredit/data)。该数据集是 2011 年 9 月19日-12月15日期间用于客户信用评分国际竞赛的基准(benchmark)数据集。该数 据集中共包含了 150, 000个客户数据(实证属性和客户信用属性数据),其中的全部11个 客户数据属性(用离散型随机变量来表示)及其含义见表1。表中,随机变量Yl - Y7表示 的是客户的7个实证属性,Y8 - YlO表示的是客户的信用历史属性;而X用来表示客户的未 来信用表现。
[0079] 表1具体实施例中的随机变量符号、客户数据属性及其含义清单
[0080]
[0082] 我们将以上150, 000个客户数据分成两个部分:前125, 000个客户数据(X和Yl - YlO的属性值)作为训练样本用于学习出一个客户信用评分模型(即最终贝叶斯网络);后 25, 000个客户数据(其中的Yl - YlO的属性值)作为预测客户数据集(即客户信用评分模 型的输入)用于预测客户的未来信用表现(即X属性的预测值),并将其与客户数据集中的 真实X属性值进行比较,以便评价客户信用评分方法的实际效果(性能)。在下文的描述 中,为行文简洁起见,不再特别说明"客户数据"是训练样本还是预测客户数据集,读者根据 上下文很容易区分它们。
[0083] 本发明技术方案已用R语言进行实现。针对这个具体实施例,本发明技术方案的
【具体实施方式】如下:
[0084] 如图1所示,一种基于贝叶斯网络和互信息的客户信用评分方法,包括如下步骤:
[0085] 步骤Sl,客户数据预处理,并用离散型随机变量来描述全部客户数据属性,具体包 括:
[0086] 步骤S1-1,客户数据清洗,具体如下:
[0087] 对客户数据进行必要的数据清洗(data cleansing),包括:残缺数据的补齐,无效 数据的删除,错误数据的纠正,不一致数据(如:单位不一致的量)的统一,等。
[0088] 本具体实施例中,由于该客户数据集是国际竞赛的基准数据集,其中的客户数据 已完成了清洗,本步骤不需做处理。
[0089] 步骤S1-2,客户数据中连续值的离散化,具体如下:
[0090] 采用等频分箱法(equal-frequency binning)对客户数据中所有连续值进行离散 化。
[0091] 本具体实施例中,分别对Y3表示的DebtRatio属性值和Y5表示的RevolvingUti IizationOfUnsecuredLines 属性值进行离散化。
[0092] 步骤S1-3,用离散型随机变量来描述全部客户数据属性,具体如下:
[0093] 对其值已清洗的、离散化的每个客户数据属性,分别用一个离散型随机变量来描 述。
[0094] 本具体实施例中,如表1所示,对该客户数据集中的全部11个客户数据属性用离 散型随机变量X和Yl - YlO来表示。
[0095] 步骤S2,计算客户信用表现随机变量与其他客户数据属性随机变量之间的互信 息,并对互信息进行排序,具体包括:
[0096] 步骤S2-1,计算客户信用表现随机变量与其他客户数据属性随机变量之间的互信 息,具体如下:
[0097] 本具体实施例中,计算客户信用表现随机变量X与其他客户数据属性随机变量 Yl - YlO 之间的互信息 MI (X ;Y1),MI (X ;Y2),· · ·,MI (X ;Y10)。
[0098] 步骤S2-2,对客户信用表现随机变量与其他客户数据属性随机变量之间的互信息 进行排序,形成互信息排序表。
[0099] 本具体实施例中,所产生的客户信用表现随机变量与其他客户数据属性随机变量 之间的互信息排序表MISortList见表2。
[0100] 表2互信息排序表MISortList
[0101]

[0102] 步骤S3,使用基于互信息的贝叶斯网络创建算法来构建一个初始贝叶斯网络,具 体如下:
[0103] 如图2所示,基于互信息的贝叶斯网络创建算法由如下步骤S3-1至步骤S3-5所 组成:
[0104] 步骤S3-1,输入预处理过的客户数据集D、阈值s (本具体实施例中,s = 0. 9)、客 户信用表现随机变量与其他客户数据属性随机变量之间的互信息排序表MISortList。
[0105] 步骤S3-2,基于客户数据集D使用爬山(hill climbing)算法来构建一个贝叶斯 网络 BNla,并计算其贝叶斯信息准则(Bayesian information criterion)值 BIC (BNla)。
[0106] 步骤S3-3,从MISortList中取出最小互信息MI_,将其从MISortList中删除,并 从D中删除MI_所对应的非信用表现属性随机变量及其数据。
[0107] 步骤S3-4,基于D中剩余的客户数据使用爬山算法来构建一个贝叶斯网络BNlb,并 计算其贝叶斯信息准则值BIC (BNlb)。
[0108] 步骤S3-5,若比值BIC(BNlb)/BIC(BNla)小于阈值s,则令BN la= BNlb,并返回步骤 S3-3进行重复处理;否则,将当前贝叶斯网络BNla作为初始贝叶斯网络输出。
[0109] 本具体实施例中,第1次计算出的比值BIC(BNlb)/BIC(BNla
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1