检测变量重要性的方法和装置与流程

文档序号:13672248阅读:235来源:国知局
技术领域本申请涉及数据处理技术领域,尤其涉及一种检测变量重要性的方法和装置。

背景技术:
随着互联网技术的发展,在线系统面临的安全攻击也越来越多,为了提高安全性,需要采用预测模型进行预测,预测模型例如为:数据挖掘模型。为了更好的理解预测模型,需要解析预测模型的变量及其重要性。信息码(InfoCode)旨在完成“黑盒白盒化”的使命,解析对预测模型的分值影响最显著的若干变量以及其业务意义,理解模型的打分思维,优化模型结构,进而提升系统对外部攻击的预测能力和防御能力。现有技术中,为了普适性,确定变量重要性的方法需要较大的运算量。但是,当预测模型是线性模型时,需要考虑更为合适的确定方式。

技术实现要素:
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请的一个目的在于提出一种检测变量重要性的方法,该方法可以降低计算量,更适用于线性模型。本申请的另一个目的在于提出一种检测变量重要性的装置。为达到上述目的,本申请第一方面实施例提出的检测变量重要性的方法,包括:获取预测模型,所述预测模型是线性模型;获取对所述线性模型的触发事件;在获取到所述触发事件后,获取所述线性模型中变量的替换值以及所述线性模型的系数值,并根据所述系数值和所述替换值,确定所述变量的贡献值,将所述贡献值确定为所述变量的重要性数值,其中,具有所述替换值的变量变换为单调变量,以及根据所述系数和所述替换值确定的不同变量的贡献值之间的相关性数值小于预设值,且所述系数的符号一致;根据所述变量的重要性数值对所述触发事件进行预测。本申请第一方面实施例提出的检测变量重要性的方法,通过在确定系数时,使得根据所述系数和所述替换值确定的不同变量的贡献值之间的相关性数值小于预设值,且所述系数的符号一致,并将根据系数和替换值得到的贡献值确定为变量的重要度数值,因此,可以直接根据线性模型的训练结果确定变量的重要度数值,不需要普适方法中专门的计算,从而可以降低计算量,更适用于线性模型。为达到上述目的,本申请第二方面实施例提出的检测变量重要性的装置,包括:第一获取模块,用于获取预测模型,所述预测模型是线性模型;第二获取模块,用于获取对所述线性模型的触发事件;处理模块,用于在获取到所述触发事件后,获取所述线性模型中变量的替换值以及所述线性模型的系数值,并根据所述系数值和所述替换值,确定所述变量的贡献值,将所述贡献值确定为所述变量的重要性数值,其中,具有所述替换值的变量变换为单调变量,以及根据所述系数和所述替换值确定的不同变量的贡献值之间的相关性数值小于预设值,且所述系数的符号一致;预测模块,用于根据所述变量的重要性数值对所述触发事件进行预测。本申请第二方面实施例提出的检测变量重要性的装置,通过在确定系数时,使得根据所述系数和所述替换值确定的不同变量的贡献值之间的相关性数值小于预设值,且所述系数的符号一致,并将根据系数和替换值得到的贡献值确定为变量的重要度数值,因此,可以直接根据线性模型的训练结果确定变量的重要度数值,不需要普适方法中专门的计算,从而可以降低计算量,更适用于线性模型。本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。附图说明本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是本申请一实施例提出的检测变量重要性的方法的流程示意图;图2是本申请另一实施例提出的检测变量重要性的方法的流程示意图;图3是本申请另一实施例提出的检测变量重要性的方法的流程示意图;图4是本申请另一实施例提出的检测变量重要性的方法的流程示意图;图5是本申请另一实施例提出的检测变量重要性的装置的结构示意图;图6是本申请另一实施例提出的检测变量重要性的装置的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。图1是本申请一实施例提出的检测变量重要性的方法的流程示意图,该方法包括:S11:获取预测模型,所述预测模型是线性模型。其中,预测模型例如为风险预测模型。在风险检测时通过会采用风险预测模型,以判断当前交易的风险分数等,因此,可以在风险检测系统中获取该系统使用的风险预测模型。S12:获取对所述线性模型的触发事件。触发事件例如为创建交易,付款或者提现等事件。S13:在获取到所述触发事件后,获取所述线性模型中变量的替换值以及所述线性模型的系数值,并根据所述系数值和所述替换值,确定所述变量的贡献值,将所述贡献值确定为所述变量的重要性数值,其中,具有所述替换值的变量变换为单调变量,以及根据所述系数和所述替换值确定的不同变量的贡献值之间的相关性数值小于预设值,且所述系数的符号一致。例如,按照风险预测模型初始的变量重要性可能会检测错误,为了提高检测准确度,在发生触发事件后,可以检测风险预测模型的重要性。S14:根据所述变量的重要性数值对所述触发事件进行预测。例如,经过变量重要性检测,可以得到更新后的变量重要性,根据该更新后的变量重要性采用该预测模型,对触发事件进行预测,可以提高风险检测准确度。例如,按照初始的模型当发生一笔交易时,可能被检测为高风险事件,假设该高风险事件是由于用户IP地理位置不同引起的,但是,该交易可能就是用户出差等场景下发生的,是该用户的合法事件,如果将其检测为高风险事件就说明检测出错,检测出错就表明按照初始的变量重要性的模型是不准确的,需要更新变量重要性,例如,降低IP地理位置这一变量的重要性,或者在模型中去掉这一变量等。为此,为了提高风险检测的准确度,在发生触发事件时可以检测模型的变量重要性,而不是采用初始的变量重要性,通过检测模型的变量重要性,可以保证采用具有最新的变量重要性的模型进行风险预测,提高预测准确度。可选的,所述获取所述线性模型中变量的替换值以及所述线性模型的系数值,包括:根据变量的初始值获取所述变量的替换值,使得具有替换值的所述变量变换为单调变量。其中,本申请实施例的方法可以适用于风险模型平台的模型解释模块中,本申请实施例的方法可以特别针对线性模型的变量重要性的检测。本实施例中的变量是指业务样本中包括的变量。业务中可以包括多个样本,例如存在风险的样本或者不存在风险的样本,每个样本可以包括多个变量。变量例如用x[i]表示,其中,i=1,2,…,i_max,i_max是每个样本包括的变量总数。变量的替换值作为线性模型中的自变量。将变量变换为单调变量是指将变量的替换值与线性模型中的因变量之间的关系变为单调关系。可以采用证据权重(WeightOfEvidence,WOE)映射,根据变量的初始值获取所述变量的替换值。具体地,所述采用WOE映射,根据变量的初始值获取所述变量的替换值,可以包括:遍历每个变量;对应当前遍历的变量,根据当前遍历的变量从小到大的顺序对样本集中的样本进行排序,并将排序后的样本划分到预设个数的区间内;在每个区间内得到第一比值和第二比值,其中,第一比值是所述区间内负样本个数与总负样本个数的比值,第二比值是所述区间内正样本个数与总正样本个数的比值;将变量的替换值确定为:wx[i]=ln(pbad/pgood),其中,wx[i]是变量x[i]的替换值,pbad/pgood是pbad与pgood的比值,pbad是x[i]所在区间的第一比值,pgood是x[i]所在区间的第二比值,ln()表示以e为底的对数,i=1,2,…,i_max,i_max是变量总数。以所述替换值作为线性模型的自变量,确定所述线性模型的系数,使得根据所述系数和所述替换值确定的不同变量的贡献值之间的相关性数值小于预设值,且所述系数的符号一致。线性模型可以是逻辑回归(LogisticRegression,LR)模型或线性回归(LinearRegression,LR)模型等。线性模型的表达式可以是:logit_y=b0+Σi=1i_maxbi×wx[i]]]>其中,b0,bi(i=1,2,…,i_max,i_max是变量总数)是线性模型的系数,logit_y是线性模型的因变量,wx[i]是变量的替换值。可以采用训练样本通过训练过程得到线性模型的系数,训练样本包括自变量和因变量,其中,自变量是wx[i],其中,i=1,2,…,i_max,i_max是变量总数,因变量是logit_y。上述的训练过程可以是多次,直至得到满足条件的系数值,满足的条件可以具体是指x[i]的贡献值(具体为wx[i]×bi)之间的相关性数值小于预设值且b0,bi(i=1,2,…)的符号一致。可选的,所述以所述替换值作为线性模型的自变量,确定所述线性模型的系数,使得根据所述系数和所述替换值确定的不同变量的贡献值之间的相关性数值小于预设值,且所述系数的符号一致,包括:以所述替换值作为线性模型的自变量,确定线性模型的系数的初始值;根据所述替换值和所述初始值确定变量的贡献值,并根据贡献值确定不同变量的贡献值之间的协方差矩阵;在所述协方差矩阵中存在大于预设阈值的值时,进行去相关性处理;和/或,在所述初始值中存在负值时,进行保号处理;在所述去相关处理和/或保号处理之后,重新采用所述线性模型得到更新后的系数,直至所述协方差矩阵中没有超过预设阈值的值,以及所述系数中没有负值;将所述协方差矩阵中没有超过预设阈值的值,以及所述系数中没有负值时对应的系数,确定为所述线性模型的系数。在得到系数值和替换值后,可以根据所述系数值和所述替换值,确定所述变量的贡献值,将所述贡献值确定为所述变量的重要性数值。其中,对应变量x[i],可以将wx[i]×bi,其中,i=1,2,…,i_max,i_max是变量总数,确定为变量x[i]的贡献值。本实施例通过在确定系数时,使得根据所述系数和所述替换值确定的不同变量的贡献值之间的相关性数值小于预设值,且所述系数的符号一致,并将根据系数和替换值得到的贡献值确定为变量的重要度数值,因此,可以直接根据线性模型的训练结果确定变量的重要度数值,不需要普适方法中专门的计算,从而可以降低计算量,更适用于线性模型。另外,本实施例通过变量替换变为单调变量,可以提高准确度。图2是本申请另一实施例提出的一种检测变量重要性的方法的流程示意图,该方法包括:S21:获取用于触发模型打分的条件。其中,模型是指用于预测方案的线性模型,本实施例以逻辑回归模型为例。用于触发模型打分的条件可以包括:创建交易、付款或者提现等。S22:信息码(infocode)解析模块获取评分卡,评分卡中包括逻辑回归模型系数和变量的替换值。参见图3,获取评分卡可以具体包括:S31:采集样本集。样本集中可以包括多个样本,样本可以是风险预测平台中采用的训练样本,样本包括正样本和负样本,正样本是指无风险事件样本,负样本是指风险事件样本,风险事件例如盗用账户、盗用银行卡等事件。每个样本可以用y表示,每个样本可以对应多个变量,变量可以用x[i]表示,其中,i=1,2,…,i_max,i_max是变量总数。当将样本中的变量用于线性模型时,线性模型的因变量可以用Logit_y表示,线性模型的自变量是变量x[i]的替换值wx[i],其中,Logit_y=ln(P_y/1-P_y),ln()表示以e为底的对数,P_y是y为坏样本(也就是存在风险的样本)的概率。采集样本集后,可以进行初始化,初始化时设置i=1。S32:判断是否i<=i_max,若是,执行步骤S33,否则执行步骤S34。S33:采用WOE映射,根据变量的初始值获取变量的替换值。其中,可以对样本集内的x[i]的初始值从小到大排序,例如,样本集中包括N个样本,对应每个样本存在一个对应的x[i],因此,可以根据不同样本的x[i]的初始值进行排序,按数量分为n组区间,其中,参数n可以配置,n越小WOE精度越高,稳定性越差。在每个区间内得到pbad,和pgood,其中,pbad是指该区间内,负样本个数与总负样本个数的比例,pgood是指该区间内,正样本个数与总正样本个数的比例。将变量的替换值确定为:wx[i]=ln(pbad/pgood),其中,wx[i]是变量x[i]的替换值,pbad/pgood是pbad与pgood的比值。因此,初始值同属于一个区间的变量x[i]的替换值相同。从wx[i]的计算公式可知,wx[i]与需要预测的Logit_y呈单调关系。在S33之后可以重复执行步骤S32及其后续步骤。S34:逻辑回归建模。逻辑回归建模时,可以确定逻辑回归模型的系数。逻辑回归模型可以表示为:其中,wx[i]是变量x[i]的替换值,i=1,2,…,i_max,i_max是变量总数,b0和bi是逻辑回归模型的系数,y是需要预测的变量x[i]的重要性。在确定系数后,变量的贡献值可以表示为:contribution(i)=wx[i]×bi,其中,i=1,2,…,i_max,i_max是变量总数。在得到贡献值后,可以确定不同变量的贡献值之间的协方差矩阵,协方差矩阵Cov可以表示为:Cov=E{(X-E[X])(X-E[X])T
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1