具体实施方式
在实际应用中,在针对多个不同的业务场景进行业务风险评估时,通常希望训练出的评价模型能够适用不同的业务场景;
例如,当上述业务为信贷业务时,此时上述评价模型通常可以是信用风险评价模型,上述多个不同的业务场景可以包括信用卡、房贷、车贷等不同的信贷业务场景,在这种情况下,通常希望上述信用风险评价模型进行业务风险评估得到的信用评分能够具有普适性,在贷款,信用卡,消费金融等不同场景都有较好的表现。
在相关技术中,为解决上述问题,通常存在以下的建模方式:
第一种,可以基于在单一的业务场景中采集到的建模样本,训练评价风险模型,然后将通过该评价模型得到的评分直接应用到其它业务场景。在这种方案中,由于在训练模型时没有考虑其它业务场景,因此使用在单一场景下训练出的业务风险模型得到的业务评分,不具有普适性,无法保证在其它业务场景下的使用性能。
第二种,可以基于在多个不同的业务场景中采集到的建模样本,分别训练评价模型,并使用在各业务场景下训练出的评价模型分别进行业务风险评估得到评分,然后将各评价模型得到的评分进行加权平均。在这种方案中,虽然最终加权平均得到的评分,在针对多个业务场景的普适性上有所改善,但在这种方案中,由于需要针对每一个业务场景分别训练模型,业务场景越多,模型的训练和管理就会越复杂。
第三种,依然可以基于在多个不同的业务场景中采集到的建模样本,分别训练评价模型,然后针对在各业务场景中训练出的评价模型进行模型合并。在这种方案中,仍然需要针对每一个业务场景分别训练模型,需要同时维护多个模型,业务场景越多,模型的训练和管理就越复杂。而且,如果模型的训练采用的建模算法较复杂,比如采用神经网络算法等复杂算法训练模型,在对在各业务场景中训练出的评价模型进行模型合并时,并不能进行简单的合并,实现起来较复杂。
有鉴于此,本申请提出一种评价模型的建模方法:
通过从多个建模场景中分别采集建模样本,基于从多个场景中采集到的建模样本创建建模样本集合,并为该建模样本集合中的建模样本,在原有的若干基础变量的基础上,分别定义用于指示所述建模样本所属的建模场景的场景变量,然后基于建模样本集合中的建模样本来训练评价模型。
由于在本申请中融合了多个场景的建模样本进行建模,并在建模样本中引入了场景变量对建模样本进行场景区分,使得最终训练出的评价模型具有普适性,通过该评价模型能够得到适用多个不同的业务场景的评分。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图1,图1是本申请一实施例提供的一种评价模型的建模方法,应用于服务端,所述方法执行以下步骤:
步骤101,从多个建模场景中分别采集建模样本;其中,所述建模样本包括场景变量和若干基础变量;所述场景变量指示所述建模样本所属的建模场景;
步骤102,基于从所述多个建模场景中采集到的建模样本创建建模样本集合;
步骤103,基于所述建模样本集合中的建模样本训练评价模型;其中,所述评价模型为相加模型;所述评价模型由所述若干基础变量构成的模型和所述场景变量构成的模型相加得到。
上述服务端,可以包括用于训练评价模型的服务器、服务器集群或者基于服务器集群构建的云平台。
上述评价模型,是对采集到的大量的建模样本进行训练后,构建出一个相加模型。以对用户进行风险评估为例,上述评价模型,可以针对从特定的业务场景中采集到的目标数据进行风险评估,得到用户评分,该用户评分用于衡量未来一段时间内发生业务风险的概率。
例如,当上述业务为信贷业务时,上述评价模型可以是信用风险评价模型,该信用风险评价模型可以针对从特定的信贷业务场景中采集到的业务样本进行信用风险评估,得到相应的信用评分,该信用评分用于衡量一个用户在未来一段时间内发生信用违约的概率。
在实际应用中,上述建模样本以及目标数据,均可以包含若干对业务风险影响度较高的基础变量。
例如,当上述评价模型为信用风险评价模型时,上述建模样本以及目标数据中包含的基础变量可以是对信用风险造成影响的变量;比如,可以包括用户的收入消费数据、历史信贷数据、用户的就业状况等等对信用风险造成影响的变量。
其中,上述建模样本以及上述目标数据中所包含的基础变量的选择,在本例中不进行特别限定,本领域技术人员在将本申请记载的技术方案付诸实施时,可以参考相关技术中的记载。
在本例中,上述服务端在训练评价模型时,可以从多个业务场景中分别采集建模样本,并在从多个不同的业务场景中采集到的建模样本所包含的原有的基础变量的基础上,进一步引入一个场景变量。
其中,上述多个业务场景中的每一个业务场景,均可以称之为一个建模场景。引入的上述场景变量,用于指示该建模样本所属的建模场景(即所属的业务场景)。
在为各业务场景中的建模样本引入场景变量后,可以融合多个不同的业务场景中的建模样本进行建模。通过这种方式,不仅可以降低建模的复杂度,而且使得训练出的业务风险模型具有普适性,能够适用多个不同的业务场景。
请参见图2,图2为本例示出的一种融合多个不同的业务场景中的建模样本进行建模的示意图。
针对各业务场景分别定义风险事件;其中,为不同的业务场景定义的风险事件可以互相独立,并且互不相同;
例如,当上述业务为信贷业务时,通常可以将信用违约事件,定义为信用卡、房贷、车贷等不同的信贷业务场景中的风险事件,而不同的信贷场景中对信用违约事件的定义可以互不相同;比如,在信用卡的信贷场景中,可以将超过30天的延期还款事件定义为信用违约事件,在房贷的信贷场景中,可以将超过90天的延期还款事件定义为信用违约事件,而在车贷的信用场景中,可以将超过60天的延期还款事件定义为信用违约事件。即各信贷场景可以分别独立的定义信用违约事件。
当各业务场景分别定义了风险事件后,此时上述服务端可以在各业务场景中分别采集建模样本,并通过判定采集到的建模样本中是否包含为各业务场景分别定义的风险事件,将从各业务场景中采集到的建模样本分类为好样本和坏样本。
由于在建模样本只包含好样本,或者坏样本时,最终训练出的评价模型通常不具备较佳的准确度,因此通过将采集到建模样本分类为好样本和坏样本,可以丰富建模样本,使得建模样本中好样本和坏样本分别占据一定的比例,可以提升最终训练出的评价模型在进行业务风险评估时的准确度。
在本例中,上述服务端在从各业务场景中采集到一定数量的建模样本后,可以不再针对各业务场景分别进行建模,而是对从各业务场景中采集到的建模样本进行融合进行模型训练。
请参见图2,上述服务端在针对从各业务场景中采集到的建模样本进行融合时,可以对从各业务场景中采集到的建模样本进行汇总,生成一个建模样本集合。在该建模样本集合中,包含从各业务场景中采集到的建模样本。
上述建模样本集合中的建模样本,包含用于指示建模场景的场景变量。
在示出的一种实施方式中,上述场景变量,具体可以是一个量化后的标签取值;例如,可以为每一个业务场景定义一个对应的标签取值,比如如图2所示,可以为来自场景一的建模样本定义取值标签1,用于指示该建模样本来自于场景一,为来自场景二的建模样本定义取值标签2,用于指示该建模样本来自于场景二,以次类推。
其中,上述服务端在针对建模样本定义场景变量时,在一种实现方式中,可以在从各业务场景中采集到一个建模样本时,就立即为该建模样本定义场景变量;在另一种实现方式中,也可以在基于从各业务场景中采集到的场景变量,生成上述建模样本集合之后,再针对该建模样本集合中的每一个建模样本分别定义场景变量,在本例中不进行具体限定。
在示出的一种实施方式中,由于上述服务端在从各业务场景采集到的建模样本的数量可能互不相同,因此在这种情况下,上述服务端可以基于从各业务场景中采集到的建模样本的数量,为各业务场景分别定义一个训练样本权重。
上述训练样本权重,用于均衡各业务场景的建模样本的数量差异。在实际应用中,该训练样本权重可以是一个能够表征在训练评价模型时,需要使用各业务场景的建模样本的数量的权重值。
其中,该权重值可以与各业务场景中的建模样本的实际数量负相关,即建模样本的数量越低,定义的训练样本权重越高。
在这种情况下,针对某一建模样本数量较多的业务场景,可以设置较低的训练样本权重。相似的,针对某一建模样本数量较少的业务场景,可以设置较高的训练样本权重。
其中,上述训练样本权重具体的取值大小,可以基于实际的需求,由用户进行手动配置;例如,当融合多个业务场景中的建模样本进行统一建模时,如果用户希望训练出的模型更加偏重于某一指定的业务场景,可以手动将该业务场景的训练样本权重设置为一个较高的取值。
在本例中,上述服务端从上述建模样本集合中读取建模样本,训练评价模型的过程中,为了均衡各业务场景的建模样本在数量上的差异:
在一种实现方式中,对于训练样本权重较高的业务场景,服务端可以优先使用该业务场景中的建模样本参与建模。而对于训练样本权重较低的业务场景,服务端可以基于该权重具体的取值大小,适当的控制该业务场景中的建模样本的使用数量,从而使得训练样本权重较高的业务场景和训练样本权重较低的业务场景,参与建模的建模样本的数量趋于一致。
在另一种实现方式中,对于训练样本权重较高的业务场景,服务端可以默认使用该业务场景中所有的建模样本参与建模。而对于训练样本权重较低的业务场景,服务端可以基于该权重具体的取值大小,适当的对该业务场景中的建模样本进行重复使用,从而使得训练样本权重较高的业务场景和训练样本权重较低的业务场景,参与建模的建模样本的数量趋于一致。
通过这种方式,可以最大程度消除在训练业务风险模型时,由于各业务场景的建模样本数量存在差异,而对最终训练出的业务风险模型的业务评估时的准确度造成的影响。
在本例中,当上述服务端基于从各业务场景中采集到的建模样本生成上述建模样本集合,并为建模样本集合中的建模样本分别定义了场景变量后,此时上述服务端可以基于预设的建模算法,将建模样本集合中的建模样本作为训练样本进行训练,来构建评价模型。
其中,需要说明的是,在实际应用中,上述评价模型通常为相加模型(AdditiveModel);因此,上述服务端在训练上述评价模型时,所采用的建模方法可以是相加模型的建模方法,例如,评分卡、回归分析等建模方法。
其中,本实施例的相加模型,通常可以表示成由基础变量构成的模型部分和所述场景变量构成的模型部分相加得到。上述目标数据输入本实施例的相加模型后,每一个变量将分别得到一个对应的评分,因此通过本实施例的相加模型得到的评分,则通常由构成该目标数据的各基础变量在评价模型中对应的评分之和,与该目标数据场景变量在该评价模型中对应的评分相加得到。
请参见图2,假设上述评价模型训练得到的评分为f(X,P),其中X表示上述基础变量,P表示上述场景变量,基础变量X在模型中对应的评分为f1(X),场景变量P在模型中对应的评分为f2(P),那么f(X,P)可以表示为f1(X)+f2(P)。
上述服务端在训练上述业务风险模型时所采用的建模工具,可以是诸如SAS(Statistical Analysis System,统计分析系统)以及SPSS(Statistical Product andService Solutions,统计产品与服务解决方案)等较为成熟的数据挖掘工具。
另外,在本例中,训练上述评价模型的具体过程,以及上述评价模型在训练完成后,对该评价模型的性能评估的过程,在本例中不再进行更详述,本领域技术人员在将本申请中披露的技术方案付诸实施时,可以参考相关技术中的记载。
在本例中,当上述评价模型训练完成后,上述服务端可以实时的采集目标数据,利用该评价模型进行风险评估。
其中,上述服务端在利用训练完成的评价模型进行风险评估时,所采集的目标数据,可以是来自于任意一个业务场景的业务数据,而且该业务样本所包含的变量的种类需要与建模样本保持一致,即该目标业务也可以包含场景变量,以及与上述建模样本相同的若干基础变量。
当上述服务端从任一业务场景中采集到目标数据后,可以将该目标数据输入至上述评价模型,利用上述评价模型对该目标数据进行风险评估,得到对应的评分。其中,得到的该评分,可以是由该目标数据中的若干基础变量在评价模型中对应的评分,和该目标数据中的场景变量在评价模型中对应的评分相加得到。
在本例中,由于上述评价模型是融合各业务场景的建模样本训练而成,而且通过为各建模样本定义场景变量,对各建模样本所属的业务场景进行了区分,充分考虑了不同的业务场景,因此通过该评价模型进行业务风险评估,能够得到适用于各种不同的业务场景的评分。
在示出的一种实施方式中,如果需要针对该目标数据在上述多个建模场景中进行评分,此时需要确保上述评价模型输出的评分,能够适用该多个建模场景。在这种情况下,可以将目标数据中包含的各基础变量,在评价模型中对应的评分相加后输出。此时输出的该评分,为普适性的评分,将能够适用于上述多个不同的建模场景,可以用于衡量与该目标数据对应的用户在多个不同的业务场景中发生业务风险事件的概率。后续在不同的业务场景下均可以使用输出的该评分,来进行相应的业务流程。
例如,当上述评分为信用评分时,在各个不同的信贷业务场景下,均可以使用输出的该信用评分与预设阈值进行比较,来判定与该信用评分对应的用户是否为风险用户,以决策是否向该用户放贷。
可见,通过将各业务场景的建模样本进行融合建模,不仅可以减低建模的复杂度,不再需要针对不同的业务场景分别建模,而且通过在建模样本中引入业务变量,还可以使得训练出的评价模型能够适用不同的业务场景,使用该业评价模型进行业务风险评估得到的评分,可以反映出同一个用户在不同的业务场景下的业务风险水平。
在本例中,如前所述,通过融合各业务场景的建模样本训练出的上述模型,能够得到适用于多个不同的业务场景的具有普适性的评分。
然而,由于各业务场景定义的业务风险事件可能互不相同,因此通过融合各业务场景的建模样本训练得到的上述评价模型,在进行业务风险评估得到的能够适用于多个业务场景的评分,则通常为一个相对值,并不能精确的反映同一用户在某一具体的业务场景中的业务风险水平。
而在实际应用中,在融合各业务场景的建模样本训练出的上述评价模型,除了需要能够适用不同的业务场景,通常还需要上述评价模型能够具备,在某一具体业务场景下进行精确的业务风险评估的特性。
例如,以上述业务为信贷业务,上述评价模型为信用风险评价模型为例,假设包含信用卡、房贷、车贷等三个信贷业务场景,通过融合这三个信贷业务场景中的建模样本训练出上述评价模型,并基于该评价模型对采集到的目标数据进行训练得到用户的信用评分后,此时该信用评分为一个适用于信用卡、房贷、车贷等不同的信贷业务场景等信贷业务场景的相对值,并不能精确的反映同一用户在某一具体的信贷业务场景中的风险水平。
而在实际应用中,通常还会具有在信用卡、房贷、车贷等信贷业务场景中的任意一个场景中对用户的信用水平进行精确评估的需求;比如,需要在信用卡、房贷、车贷等信贷业务场景中的任意一个场景中,对用户的信用坏率进行精确统计;在这种情况下,通常需要上述信用风险评价模型能够具有在某一具体场景下对用户的信用水平进行精确评估,得到对应于该场景的信用评分的功能。
在示出的一种实施方式中,为了使融合各业务场景的建模样本训练出的上述评价模型,能够兼容针对某一具体业务场景进行精确的业务风险评估的特性,如果需要针对该目标数据在其所属的建模场景中进行评分,此时通常不要求上述评价模型输出的评分具有普适性,仅适用该目标数据其所属的建模场景即可。在这种情况下,可以将标数据中包含的各基础变量在评价模型中对应的评分,以及目标数据中包含的场景变量在评价模型中对应的评分相加,然后将二者的评分之和输出。此时输出的该评分之和,为与该目标数据对应的场景评分,该评分将不具有普适性,仅能够适用于该目标数据实际所属的业务场景。
可见,通过这种方式,当需要针对某一个目标数据,在其实际所属的业务场景进行评分时,通过将基础变量部分对应的评分和场景变量对应的评分之和输出,就可以得到适用于该目标数据实际所属的业务场景的评分,而不必针对该业务场景进行单独建模。
以下结合信用风险评估的应用场景对以上实施例中的技术方案进行详细描述。
在本例中,上述业务可以是信贷业务;上述评价模型可以是信用风险评价模型;上述评分则可以是上述信用风险评价模型对采集到的用户的业务样本进行信用风险评估后得到的信用评分。上述多个业务场景可以包括信用卡、房贷、车贷等三个信贷业务场景。
在初始状态下,以上各信贷业务场景可以分别定义信用违约事件;例如,在信用卡的信贷场景中,可以将超过30天的延期还款事件定义为信用违约事件,在房贷的信贷场景中,可以将超过90天的延期还款事件定义为信用违约事件,而在车贷的信用场景中,可以将超过60天的延期还款事件定义为信用违约事件。即各信贷场景可以分别独立的定义信用违约事件。
服务端在从以上各信贷业务场景中采集建模样本时,可以基于以上各场景定义的信用违约事件,将采集到的建模样本划分为好样本和坏样本。其中,该建模样本中可以包含收入消费数据、历史信贷数据、用户的就业状况等等对信用风险造成影响的变量。
当建模样本采集完成后,服务端可以将从各信贷业务场景中采集到的建模样本进行汇总,生成一个建模样本集合,并在建模样本原有的若干基础变量的基础上,为该建模样本集合中的建模样本分别定义一个场景变量,用于指示建模样本所属的信贷业务场景。
服务端在训练信用风险评价模型时,可以融合从各个场景中采集到的建模样本,基于上述建模样本集合中包含的所有建模样本训练信用风险评价模型。
其中,在训练模型时,可以适用诸如SAS以及SPSS等较为成熟的数据挖掘工具,采用诸如评分卡、回归分析等相加模型的建模方法来完成,具体的模型训练过程在本例中不再进行详述。
当上述信用风险评价模型训练完成后,服务端可以在信用卡、房贷、车贷等任一信贷业务场景中采集目标数据,采集到的目标数据仍然可以包括若干基础变量和场景变量。在采集到目标数据后,可以使用该信用风险评价模型对该目标数据行信用评分。由于上述信用风险评价模型是融合信用卡、房贷、车贷等信贷业务场景中的建模样本训练而成,因此此时使用该模型能够得到适用信用卡、房贷、车贷等多个信贷业务场景的信用评分。
一方面,假设该目标数据为来自信用卡这一具体的信贷业务场景中的业务数据,如果需要针对该目标数据,在信用卡这一具体的信贷业务场景中进行信用评分时,上述服务端可以将该目标数据中的若干基础变量,在模型中对应的信用评分,以及该目标数据中的场景变量在模型中的评分相加,然后将二者的评分之和向与所述目标数据对应的用户输出,作为该用户的信用评分。此时输出的该评分将不具有普适性,仅能适用于信用卡这一信贷业务场景。
另一方面,如果需要针对该目标数据,在信用卡、房贷、车贷等多个信贷业务场景中进行信用评分时,上述服务端可以将该目标数据中的若干基础变量,在模型中对应的信用评分向与该目标数据对应的用户输出,作为该用户的信用评分。此时输出的该评分将具有普适性,能够使用信用卡、房贷、车贷等多个信贷业务场景。
通过以上各实施例可知,本申请通过从多个建模场景中分别采集建模样本,基于从多个业务场景中采集到的建模样本创建建模样本集合,并为该建模样本集合中的建模样本,在原有的若干基础变量的基础上,分别定义用于指示所述建模样本所属的建模场景的场景变量,然后基于建模样本集合中的建模样本来训练评价模型;
由于在本申请中融合了多个业务场景的建模样本进行建模,并在建模样本中引入了场景变量对建模样本进行场景区分,使得最终训练出的评价模型具有普适性,通过该评价模型能够得到适用多个不同的业务场景的评分。
一方面,如果需要在该目标数据所属的业务场景进行评分,可以将该目标数据中包含的若干基础变量在模型中对应的评分,和该目标数据中包含的场景变量在模型中对应的评分之和输出,作为适用于该目标数据所述的业务场景的评分;
另一方面,如果需要在上述多个业务场景进行评分,可以将该目标数据中包含的若干基础变量在模型中对应的评分输出,作为适用于该多个不同的业务场景的评分;从而使得该模型既可以输入具有普适性的评分,也可以输出适用于该目标数据实际所属的业务场景的评分,评分的输出更加具有灵活性,能够被运用在不同的评分场景下。
与上述方法实施例相对应,本申请还提供了装置的实施例。
请参见图3,本申请提出一种评价模型的建模装置30,应用于服务端;其中,请参见图4,作为承载所述评价模型的建模装置30的服务端所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述评价模型的建模装置30通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,所述装置30包括:
采集模块301,用于从多个建模场景中分别采集建模样本;其中,所述建模样本包括场景变量和若干基础变量;所述场景变量指示所述建模样本所属的建模场景;
创建模块302,用于基于从所述多个建模场景中采集到的建模样本创建建模样本集合;
训练模块303,用于基于所述建模样本集合中的建模样本训练评价模型;其中,所述评价模型为相加模型;所述评价模型由所述若干基础变量构成的模型部分和所述场景变量构成的模型部分相加得到。
在本例中,所述创建模块302进一步用于:
基于各建模场景的建模样本的数量,为各建模场景分别定义训练样本权重;其中,所述训练样本权重用于均衡各建模场景的建模样本的数量差异;所述建模场景的建模样本的数量越低,则定义该场景的的训练样本权重越高。
在本例中,所述采集模块301进一步用于:
采集目标数据,所述目标数据包括所述场景变量和若干基础变量;
所述装置30还包括:
评分模块304,用于将所述目标数据输入所述评价模型,得到该目标数据的评分;其中,所述评分由所述若干基础变量在所述评价模型中对应的评分,和所述场景变量在所述评价模型中对应的评分相加得到。
在本例中,所述评分模块304进一步用于:
如果需要针对所述目标数据在其所属的建模场景中进行评分,输出所述若干基础变量在所述评价模型中对应的评分,和所述场景变量在所述评价模型中对应的评分之和,作为适用于所述目标数据其所属的建模场景的评分。
在本例中,所述评分模块304进一步用于:
如果需要针对所述目标数据在所述多个建模场景中进行评分,输出所述若干基础变量在所述评价模型中对应的评分,作为适用于所述多个建模场景的评分。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。