一种基于GAMxNN模型的理财产品推荐方法与流程

文档序号:19158493发布日期:2019-11-16 01:05阅读:664来源:国知局
一种基于GAMxNN模型的理财产品推荐方法与流程

本发明涉及到银行理财产品推荐系统技术领域,具体涉及一种基于gamxnn模型的理财产品推荐方法。



背景技术:

近年来,神经网络的发展为机器学习和人工智能领域带来了显著突破。复杂的网络结构层出不穷,在计算机视觉和自然语言处理领域获得了极大的成功。除了模型的预测表现,透明度和可解释性也是机器学习模型是否值得信赖的重要考核标准。

目前在理财产品推荐方面,若采用结构相对简单的模型,如:线性模型、逻辑回归、决策树等,其解释性较好,但在处理高维数据时预测精度相对较低。而使用结构复杂的模型,如:核方法、随机森林、梯度推进机、深度神经网络等,其预测精度相对较高,但模型通常如同黑盒、解释性较差,造成银行客户经理在选择推荐理财产品的目标客户时缺乏充分依据,同时也不能满足银行监管和内部管理的需要。



技术实现要素:

综上所述,本发明的目的在于解决现有的银行理财产品推荐系统中数据预测要么低精度高解释性,要么高精度低解释性的问题,而提出一种基于gamxnn模型的理财产品推荐方法。gamxnn模型拥有传统神经网络处理高维数据、构建非线性复杂关系的能力,又有类似于逻辑回归模型的可解释性。

为解决本发明所提出的技术问题,采用的技术方案为:

一种基于gamxnn模型的理财产品推荐方法,其特征在于所述方法包括以下步骤:

第一步,数据清洗与预处理,对过去2年内有推荐过目标理财产品的客户数据进行清洗及预处理,包括一致性检查,清除重复数据、异常数据和无效数据,使用0填补缺失值,并做标准化、归一化处理,此外需将类别变量转化为数值型变量;

第二步,特征选择,采用随机森林算法确定每个变量的重要性比重,提取重要性比重1%以上的特征变量,并对筛选后的变量做相关性分析,对于相关性系数0.9以上的特征变量,保留重要性比重最高的一个,其余做删除;

第三步,训练gamxnn模型,选择auc为模型评价指标,获取模型最优超参数;

第四步,输入待推荐客户特征值,获取目标变量预测结果,y=1则推荐,y=0则不推荐,同时可获得目标变量的主要影响因素。

作为对本发明进一步限定的技术方案包括有:

在所述步骤一和步骤二之间还包含确定正负样本,正样本为目标理财产品推荐成功的客户,目标变量y=1,负样本为目标理财产品推荐失败的客户,目标变量y=0。

在所述步骤二和步骤三之间还包含按照7:3的比例拆分训练集、测试集。

作为对本发明再进一步具体限定方案为:

(1)数据清洗与预处理后的数据结构为:目标变量y为二分类变量,取值1或0分别表示目标理财产品推荐成功和推荐失败;特征变量有k个,为x1,…,xk,为数值型变量或类别型变量;

(2)采用随机森林算法确定每个特征变量的重要性比重方法:

用随机森林进行特征重要性评估首先获取每个特征在随机森林中的每棵树上所做的贡献,然后取平均值比较特征之间的贡献大小,贡献大小使用基尼指数衡量;

变量重要性评分用vim表示,gini指数用gi表示,假设m个特征x1,…xm,计算出每个特征xj的gini指数评分vimj(gini),亦即第j个特征在rf所有决策树中节点分裂不纯度的平均改变量;

gini指数的计算公式为:

其中,k表示有k个类别;pmk表示节点m中类列k所占的比例;即随机从节点m中随机抽取两个样本,其类别标记不一致的概率;

特征xj在节点m的重要性,即节点m分支前后的gini指数变化量为:

其中,gil和gir分别表示分枝后两个新节点的gini指数;

如果,特征xj在决策树i中出现的节点在集合m中,那么xj在第i颗树的重要性为:

假设rf中共有n颗树,那么

最后,把所有求得的重要性评分做归一化处理:

获取每个特征的重要性,然后按降序处理;

(3)采取相关性分析,获取变量之间的皮尔逊相关系数;

皮尔逊相关系数公式如下:

其中:n是样本数量

xi、yi是变量x,y对应的i点观测值

是x样本平均数,是y样本平均数

r的取值在-1与1之间;取值为1时,表示两个随机变量之间呈完全正相关关系;取值为-1时,表示两个随机变量之间呈完全负相关关系;相关系数的绝对值越大,相关性越强;相关系数越接近于0,相关度越弱;取值为0时,表示两个随机变量之间线性无关;

(4)对gamxnn模型进行拟合:

广义加性模型被表示为:

g(e(y))=β0+f1(x1)+…+fm(xm)

其中fi,i=1,···,m可以是任意的光滑函数,g是关联函数;

基于广义加性模型的可解释神经网络模型,即gamxnn模型,对每个xi不再进行投影,而每一个fi则被表示为一个子神经网络,包含一个输入节点、多个隐藏层和一个输出节点;每个子神经网络的输出值在最后一层线性相加,得到可解释神经网络的最终输出;

在数学上,给定特征向量x∈rp,响应变量y∈r和非线性函数hj(xj),gamxnn模型可被表示为:

并服从以下的3条可解释性约束条件:

1、e[hj]=0,

2、

3、

其中下标j=1,···,k,正则参数t1、t2>0,∈是随机噪音;

ss-bp算法过程如下:

输入:训练集{xi,yi}i∈[n],子网络数量k,非线性函数系数参数和平滑参数γ1,γ2,子网络的结构h,学习率n,批量大小nb,迭代次数m;

1、form=1,···,mdo;

2、将数据随机打乱,并分成组,每组nb个样本;

3、forb=1,···,bdo;

4、选择第b组数据,设为t=(m-1)b+b;

5、更新

6、对每个子网络的输出进行批量归一化;

7、使用adam优化器调整学习率,当模型收敛则停止训练;

8、endfor循环;

9、endfor循环;

10、对βj接近0的子网络进行剪枝及微调;

(5)对模型进行拟合优度检验方法(auc):

其中,m+为正样本个数,m-为负样本个数,d+为所有正例组成的集合,x+是其中的一个正例,d-为所有反例组成的集合,x-是其中的一个反例,f(x)是模型对样本x的预测结果,在0-1之间,w(x)仅在x为真时取1,否则取0;

模型性能评价方法如下:auc=1,是完美分类器;auc=[0.85,0.95],效果很好;auc=[0.7,0.85],效果一般;auc=[0.5,0.7],效果较低;auc=0.5跟随机猜测一样,模型没有预测价值;auc<0.5,比随机猜测还差。

本发明的有益效果为:本发明方法对银行理财产品推荐预测实现高精度高解释性,不仅可以给出推荐与不推荐的结果,同时可以给出给出推荐与不推荐的主要影响因素。

附图说明

图1为本发明中的gamxnn模型网络逻辑图;

图2为本发明中的gamxnn模型的子网络示意图;

图3为本发明的运行流程图。

具体实施方式

以下结合附图和本发明优选的具体实施例对本发明的方法作进一步地说明。

如图1至图3所示,本发明是一种基于gamxnn模型的理财产品推荐方法,具体包括以下步骤:

第一步,数据清洗与预处理;对过去2年内有推荐过目标理财产品的客户数据进行清洗及预处理,包括一致性检查,清除重复数据、异常数据和无效数据,使用0填补缺失值,并做标准化、归一化处理,此外需将类别变量转化为数值型变量。

例如:数据清洗与预处理后的数据结构为:目标变量y为二分类变量,取值1或0分别表示目标理财产品推荐成功和推荐失败;特征变量有k个,为x1,…,xk,为数值型变量或类别型变量;

第二步,特征选择,采用随机森林算法确定每个特征变量的重要性比重,提取重要性比重1%以上的特征变量,并对筛选后的变量做相关性分析,对于相关性系数0.9以上的特征变量,保留重要性比重最高的一个,其余做删除。

(1)采用随机森林算法确定每个特征变量的重要性比重的方法:

用随机森林进行特征重要性评估首先获取每个特征在随机森林中的每棵树上所做的贡献,然后取平均值比较特征之间的贡献大小。贡献大小通常使用基尼指数(giniindex)衡量。

变量重要性评分用vim表示,gini指数用gi表示,假设m个特征x1,…xm,计算出每个特征xj的gini指数评分vimj(gini),亦即第j个特征在rf所有决策树中节点分裂不纯度的平均改变量。

gini指数的计算公式为:

其中,k表示有k个类别。pmk表示节点m中类列k所占的比例。即随机从节点m中随机抽取两个样本,其类别标记不一致的概率。

特征xj在节点m的重要性,即节点m分支前后的gini指数变化量为:

其中,gil和gir分别表示分枝后两个新节点的gini指数。

如果,特征xj在决策树i中出现的节点在集合m中,那么xj在第i颗树的重要性为:

假设rf中共有n颗树,那么

最后,把所有求得的重要性评分做归一化处理:

获取每个特征的重要性,然后按降序处理。

(2)采取相关性分析,获取变量之间的皮尔逊相关系数;

皮尔逊相关系数公式如下:

其中:n是样本数量

xi、yi是变量x,y对应的i点观测值

是x样本平均数,是y样本平均数

r的取值在-1与1之间。取值为1时,表示两个随机变量之间呈完全正相关关系;取值为-1时,表示两个随机变量之间呈完全负相关关系;相关系数的绝对值越大,相关性越强;相关系数越接近于0,相关度越弱;取值为0时,表示两个随机变量之间线性无关。

第三步,训练gamxnn模型,选择auc为模型评价指标,获取模型最优超参数。

(1)广义加性模型最早由hastie等人于1990年提出,希望能将广义线性模型与加性模型的性质混合起来。在数学上,可被表示为:

g(e(y))=β0+f1(x1)+…+fm(xm)

其中fi,i=1,···,m可以是任意的光滑函数,g是关联函数。

相比于广义线性模型,广义加性模型引入非线性函数fi,非线性可能使得对y预测的更加准确。而因为其“相加性”,线性模型的假设检验的方法仍然可以使用。基于广义加性模型的可解释神经网络模型,即gamxnn模型,对每个xi不再进行投影,而每一个fi则被表示为一个子神经网络,包含一个输入节点(输入为xi)、多个隐藏层和一个输出节点;每个子神经网络的输出值在最后一层线性相加,得到可解释神经网络的最终输出。

在数学上,给定特征向量x∈rp,响应变量y∈r和非线性函数hj(xj),gamxnn模型可被表示为:

并服从以下的3条可解释性约束条件:

1、e[hj]=0,

2、

3、

其中下标j=1,···,k,正则参数t1、t2>0,∈是随机噪音;

ss-bp算法过程如下:

输入:训练集{xi,yi}i∈[n],子网络数量k,非线性函数系数参数和平滑参数γ1,γ2,子网络的结构h,学习率n,批量大小nb,迭代次数m;

1、form=1,···,mdo;

2、将数据随机打乱,并分成组,每组nb个样本;

3、forb=1,···,bdo;

4、选择第b组数据,设为t=(m-1)b+b;

5、更新

6、对每个子网络的输出进行批量归一化;

7、使用adam优化器调整学习率,当模型收敛则停止训练;

8、endfor循环;

9、endfor循环;

10、对βj接近0的子网络进行剪枝及微调;

(2)auc计算方法如下:

其中,m+为正样本个数,m-为负样本个数,d+为所有正例组成的集合,x+是其中的一个正例,d-为所有反例组成的集合,x-是其中的一个反例,f(x)是模型对样本x的预测结果,在0-1之间,w(x)仅在x为真时取1,否则取0。几何上,auc是roc曲线与x轴之间的面积,常用于评价一个二值分类器的优劣。

模型性能评价方法如下:auc=1,是完美分类器;auc=[0.85,0.95],效果很好;auc=[0.7,0.85],效果一般;auc=[0.5,0.7],效果较低;auc=0.5跟随机猜测一样,模型没有预测价值;auc<0.5,比随机猜测还差。

第四步,输入待推荐客户特征值,获取目标变量预测结果,y=1则推荐,y=0则不推荐,同时可获得目标变量的主要影响因素。

以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1