一种基于区块链技术和用户精准画像的农村养殖大数据征信系统的制作方法

文档序号:15493677发布日期:2018-09-21 21:10阅读:282来源:国知局

本发明属于农村养殖大数据征信系统,本发明涉及农村养殖大数据的深度特征提取方法,并基于区块链技术和用户画像方法构建的农村养殖大数据征信系统。



背景技术:

在传统的跨境支付、清算、审计金融场景下,存在虚假数据和数据滥用等风险,同时,用户的个人隐私和个人资料等信息容易被泄漏,导致数据滥用和欺诈问题成了常态。

随着互联网金融快速发展,电子商务在农村也不断普及开来,交易规模迅速扩大,虚假数据和数据篡改等金融欺诈行为给不法分子在农村金融交易中有了可乘之机。



技术实现要素:

本发明的目的是解决现有技术中的问题,提供一种基于区块链技术和用户精准画像的农村养殖大数据征信系统,其特征在于,包括以下步骤:

1)构建私链:

采用区块链加密算法将用户消费者的所有个人数据和资料保存在一个永久的账本数据库当中,该数据库是不可篡改与删除的,并且所记录的信息与时间相对应,保证了这些信息具有唯一性以及不可篡改性。因为区块链无法作假,这样做为用户提供了绝对的透明度,同时,区块链允许用户掌握自己的数据,保护他们的隐私,包括个人资料,知识产权和内容版权。在本专利研究当中,我们主要以私有链的方式构建区块链。私有链一般建立在企业内部,系统的运作规则可以根据企业要求进行设定。私有链的价值主要是提供安全、可追溯、不可篡改、自动执行的运算平台,可以同时防范来自内部和外部对数据的安全攻击,这个在传统的系统是很难做到的。具体过程如下:

1-1)准备创世区块配置文件

以太坊是一个公有链系统,但以太坊支持自定义创世区块,要运行私有链,需要定义自己的创世区块,创世区块信息写在一个json格式的配置文件中。

1-2)初始化:写入创世区块

准备好创世区块配置文件后,需要初始化区块链,将上面的创世区块信息写入到区块链中。

1-3)启动私有链节点

初始化完成后,就有了一条自己的私有链,之后就可以启动自己的私有链节点并做操作。

1-4)blockchain作为api接口

使用pythonflask框架,即一个轻量web应用框架,将网络请求映射到python函数。然后创建一个交易并添加到区块;告诉服务器去挖掘新的区块;返回整个区块链,并创建节点;

1-5)发送交易数据:

发送到节点的交易数据如下:农村养殖户(自然人或企业)的姓名(名称)、身份证号码(统一社会信用代码)、住址(住所)等主体信息;农村养殖户(自然人或企业)的交易类型、交易数量、商品规格、交易时间、交易金额等交易信息;农村养殖户(自然人或企业)的借贷类型、借贷金额、借贷用途、借贷时间和抵质押情况等借贷信息。

1-6)运行区块链

使用curl和postman去和api进行交互,并启动数据库,将整个交易数据加密保存在数据库中。

2)建立农村养殖大数据训练集;

从区块链加密保存数据的数据库中选取m个农村养殖用户交易样本信息,其中包括:农村养殖户(自然人或企业)的姓名(名称)、身份证号码(统一社会信用代码)、住址(住所)等主体信息;农村养殖户(自然人或企业)的交易类型、交易数量、商品规格、交易时间、交易金额等交易信息;农村养殖户(自然人或企业)的借贷类型、借贷金额、借贷用途、借贷时间和抵质押情况等借贷信息。。这些特征一共有n维。通过收集整理后,形成多维数据样本集r。

3)数据预处理;

将步骤2中收集整理得到的多维数据样本集r进行去噪、缺失值处理、归一化等,得到训练集h。

4)特征学习;

构建一个含有多个决策树的深度特征学习模型,预训练原始数据,具体步骤如下:

4-1)确定该模型的结构,设定其总共有q个决策树,其中每棵树有l个叶子节点,树的深度为p;

4-2)将步骤2所得的多维数据样本集h作为建模的样本集。

4-3)首先从样本集h中随机选取k个样本集,根据这k个样本集采用二叉划分的方式构建第一颗回归树来拟合训练集数据,得到训练结果集合c(1),训练结果c(1)与实际标签值会有一个误差集,定义误差集大小为e。

4-4)将误差结果集e作为第二颗树的训练集合,并重复上一步骤,直到训练误差为零或达到最小值,然后将所有构建的回归树的路径保存为v(q),这就是模型所学习到的深度特征,用来表征原始数据的信息。

5)构建用户信用评估模型model;

将前面提取到的特征集v(q)作为用户信用评估模型的训练数据集,并对这些特征进行建模,得到用户信用评估模型model。

6)采集与步骤2中相同特征的农村养殖户交易数据,并将其保存至矩阵r中;

7)采用与步骤3相同的方法,将矩阵r去噪归一化处理得到矩阵h;

8)设定与步骤3中相同结构和深度的算法模型,并将处理后的矩阵h作为树模型的输入,得到数据集v(q)

9)将得到的数据集v(q)代入用户信用评估模型model中进行用户信用评估,得到用户的信用评分,从而在农村电子商务金融贸易中,是否为用户提供相应的贷款提供了有力的依据和判断。

值得说明的是,本发明利用区块链加密技术对用户个人交易数据进行加密,使其对风险的把控更加严格。此外,区块链的分布式交易系统还具有交易不可逆性与交易可追溯性特征。区块链交易系统的去中心化的特征保证其可以建立一个全网络定时刷新记账系统,每一次交易都将具有一个唯一标识的时间标记,并且全网络可见,保证交易的唯一性。如此可以最大限度地减少互联网金融行业的欺骗行为。然后对加密保存的用户行为数据进行深度特征提取,将学习到的深度特征用于训练用户信用评估模型。其中关键的技术问题是利用区块链技术对用户交易数据进行加密,然后建立农村养殖大数据征信模型,进而进一步推动金融行业发展和数字化信任社会的构建。

附图说明

图1测试数据(四种方法的比较)

图2测试结果对比图

图3特征提取模型构建树示意图

图4模型整体流程图。

具体实施方式

下面结合实施例对本发明作进一步说明,但不应该理解为本发明上述主题范围仅限于下述实施例。在不脱离本发明上述技术思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的保护范围内。

1、构建多维农村养殖电子商务大数据训练集

通过区块链加密技术对农村养殖电子商务交易数据进行加密保存在数据库中,然后从数据库中采集多维农村养殖电子商务大数据训练集r,数据主要包括:用户主体信息,用户的交易信息和用户借贷信息。

农村养殖电子商务用户主体信息包括:用户的性别、年龄、籍贯、学历、爱好、家庭员人数信息;

农村养殖电子商务用户的交易信息包括:交易的类型和交易的数量、时间、金额、交易后的服务情况信息;

农村养殖电子商务用户的借贷信息包括:借贷金额、借贷时间、借贷地点和抵押情况信息。

农村养殖电子商务用户大数据训练集r共有m个样本,每个样本数据都是由以上三部分信息组成的多维数据,特征维度为n。

2、数据预处理

对采集的数据集进行预处理,包括去噪、处理缺失值、归一化。首先,除去数据集中的噪声点,然后对缺失值进行填补,再按照同一个尺度对数据做归一化;

1)删除一些错误信息。

2)将字符型数据进行数值化处理,如农村养殖电子商务用户的个人信息中的性别,可以用0代表‘女性’,用1代表‘男性’。

3)将有不同单位类型的列的数据进行统一化,处理后得到数据集x。

其中,t代表处理后的维度。

4)用最大最小标准化对数据进行处理:公式为(i=1,2,3,…,t)其中min和max分别为该列中的最小值和最大值,zi为归一化后的列信息,对x的每一列数据都进行归一化处理,使每一列的数据都映射到[0,1]之间,得到归一化后的数据集h。

3、特征学习

特征学习模型构建的主要思想是:构建多颗树模型,每一次建立树模型是在之前建立模型损失函数的梯度下降方向。即利用了损失函数的负梯度在当前模型的值作为回归问题提升树算法的残差近似值,去拟合一个回归树。特征学习过程:用原始的特征数据训练模型,然后利用树模型学习到的树路径来构造新特征,最后把这些新特征加入原有特征一起训练用户大数据征信模型。构造的新特征向量是取值0/1的,向量的每个元素对应树模型中树的叶子结点。当一个样本点通过某棵树最终落在这棵树的一个叶子结点上,那么在新特征向量中这个叶子结点对应的元素值为1,而这棵树的其他叶子结点对应的元素值为0。新特征向量的长度等于树模型里所有树包含的叶子结点数之和。树模型构建树结构图如附图1所示。

我们有样本集h作为树模型的输入,输入数据h首先经过树模型学习得到新的数据特征c(1),其映射关系可以由以下表达式确定:

c(1)=f(h,w)

特征学习的步骤如下:

1)把数据预处理得到的最终数据集h作为树模型的输入,数据集h经过第一颗树的学习到特征集c(1),计算公式如下:

其中,h为输入样本数据,h为分类回归树,w是分类回归树的参数,α是每棵树的权重。

其中,k表示经过第一次学习后的维度。

2)将学习得到的c(1)与原始真实数据做差值,得到残差数据集e。残差的计算公式如下:

其中,y为数据的标签值。

3)再将e作为下一颗回归树构建的数据训练集,不断重复步骤1)和2),直到最终残差为0或者达到回归树限定的次数,最终我们得到q个回归树的树模型(q表示我们最终得到的特征学习模型的树的个数),我们将这些树的路径信息保存得到v(q),即为最终学习到的特征数据。

p为经过q次回归树学习后特征的维度。

将经过深度学习提取的特征集v(q),代入用户养殖大数据征信模型中,得到农村养殖电子商务用户的信用评估模型。

4、农村养殖电子商务用户的信用评估

在本专利中,农村养殖大数据征信模型model和传统的boostingtree模型一样,也是采用的残差训练的方式(或梯度负方向),不同的是分裂结点选取的时候不一定是最小平方损失。本模型最终的目标函数只依赖于每个数据点的在误差函数上的一阶导数和二阶导数。这样选择的原因很明显,由于之前的目标函数求最优解的过程中只对平方损失函数时候方便求,对于其他的损失函数变得很复杂,通过二阶泰勒展开式的变换,这样求解其他损失函数变得可行而容易了。征信模型训练过称如下:

1)将前面提取到的特征v(q)带入到征信算法模型中进行训练,学习s棵树,采用以下函数对样本进行预测:

这里是假设空间,f(x)是回归树(cart):

q(x)表示将样本x分到了某个叶子节点上,w是叶子节点的分数(leafscore),所以wq(x)表示回归树对样本的预测值。

2)当计算得到的预测值wq(x)非常接近1,我们可以判定用户是信用评级较低的,如果预测值wq(x)比较接近于0,那我们可以判定该用户为信用极好,可以考虑提供相应的贷款或金融方面的服务。

在本专利中,以特征学习得到的特征集v(q)为信用评估算法模型model的输入,获得农村养殖大数据用户信用评估模型:v(q)为模型的输入矩阵。我们根据征信算法模型model得出的预测wq(x)值,对农村养殖电子商务用户进行信用评估。

采用了相同的测试数据集,并利用本实施例的算法模型和其他论文一般采用的算法进行一个数据测试对比。如图1~2所示,通过实验训练结果表明,本实施例采用的方法的测试结果的准确率(auc)在86%,而one-classsvm、robustcovariance、isolationforest的准确率(auc)分别为63%、70%、76%。通过实验结果对比,本系统的精确率明显有很大的提升。

上述的实验结果表明,经过提取原始数据的特征后,结果明显得到优化,用户信用模型的准确率得到提高。说明我们的算法模型能够从原始数据集中学习到更有效更抽象的特征表达,更深层次的表达出数据特征之间的潜在深层次规律。因此该方法可以有效的用来构建农村养殖大数据征信系统。对于农村电子商务金融的大力发展有积极的推动作用。

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