一种基于区块链的金融大数据风控平台
技术领域
本发明创造涉及金融安全领域,具体涉及一种基于区块链的金融大数据风控平台。
背景技术
比特币出现之后,对金融领域带来了巨大的影响,比特币的底层技术区块链技术由于去中心化,不可篡改,去信任,集体维护等特点也受到了广泛的关注。将区块链技术和金融领域的结合是目前受到区块链研究者最多关注的方向之一,通过区块链技术的去中心化,不可篡改以及可追踪等特点能够有效的提高金融数据存储的安全性。
然而,在金融数据的获取过程中并不能保证获取的金融数据的安全性,当获取的金融数据中存在恶意数据并且这些恶意数据存入了区块链中时,将对区块链的安全性造成不可估量的危害。
发明内容
针对上述问题,本发明旨在提供一种基于区块链的金融大数据风控平台。
本发明创造的目的通过以下技术方案实现:
一种基于区块链的金融大数据风控平台,包括金融数据获取模块、金融数据检测模块、金融数据传输模块和区块链存储模块,所述金融数据获取模块用于收集金融数据,并将收集的金融数据输入到金融数据检测模块,所述金融数据检测模块用于对接收到的金融数据进行聚类,并判断聚类所得的各个类中的金融数据是安全数据还是可疑数据,将判断为可疑数据的类中的金融数据舍弃,将判断为安全数据的类中的金融数据通过金融数据传输模块传输至区块链存储模块进行存储;所述金融数据检测模块包括金融数据分类单元和金融数据判断单元,所述金融数据分类单元用于对接收到的金融数据进行聚类,将金融数据分类单元接收到的待分类的金融数据表示为集合X,且X={xi,i=1,2,…,N},其中,xi表示集合X中的第i个金融数据,N表示金融数据集合X中的金融数据量,所述金融数据分类单元采用FCM算法将金融数据集合X中的金融数据进行分类,设C表示金融数据集合X划分的类别集合,且C={cj,j=1,2,…,c},其中,cj表示类别集合C中的第j个类,c表示类别集合C中的类别数,所述FCM算法采用聚类有效性指标Y(c)确定将金融数据集合X划分的类别数c,Y(c)的表达式为:
式中,设c
l表示类别集合C中的第l个类,v
l表示类c
l的聚类中心,v
j表示类c
j的聚类中心,
表示类别集合C中类的聚类中心的均值,且
u
ij表示金融数据x
i隶属于类c
j的隶属度,O
ijl表示金融数据x
i在类c
j和类c
l之间的重叠度,且
其中,u
il表示金融数据x
i隶属于类c
l的隶属度,u
00表示重叠度阈值,β(c
j)表示类c
j对应的紧密性的修正因子,且β(c
j)的值采用下列方式确定:
对金融数据集合X中的金融数据进行遍历,设xp表示金融数据集合X中的第p个金融数据,cs表示类别集合C中的第s个类,ups表示金融数据xp隶属于类cs的隶属度,当j=argmaxs=1,2,…,cups时,则将金融数据xp加入到类cj中;
设类
其中,
表示类c
j中的第k个金融数据,N(c
j)表示类c
j中的金融数据量,对类c
j中的金融数据
进行筛选,设
表示金融数据
隶属于类c
j的隶属度,
表示金融数据
隶属于类别集合C中类的第二大隶属度,当
时,则将类c
j中的金融数据
标记为1,当
时,则将类c
j中的金融数据
标记为0;
将类c
j中标记为1的金融数据组成集合M(c
j,1),且
其中,
表示集合M(c
j,1)中的第m个金融数据,N(c
j,1)表示集合M(c
j,1)中的金融数据量,则β(c
j)的值为:
式中,
表示集合M(c
j,1)中的第r个金融数据,x
e表示金融数据集合X中的第e个金融数据,x
a表示金融数据集合X中的第a个金融数据;所述金融数据判断单元用于判断聚类所得的各个类中的金融数据是安全数据还是可疑数据。
优选地,在金融数据集合X中选取c个初始聚类中心,定义
表示金融数据x
i成为聚类中心的概率值,则
的表达式为:
式中,d(c)表示给定的截断距离,ρ(xi)表示金融数据xi对应的密度调节系数,且ρ(xi)的值采用下列方式确定:
设L(xi)表示金融数据xi的局部邻域数据集合,给定正整数M,且0<M<N,将金融数据集合X中的金融数据按其和金融数据xi之间距离的绝对值由小到大进行排序组成序列l(xi),选取序列l(xi)中的前2M个金融数据加入到集合L(xi)中,设L(xi)={xit,t=1,2,…,2M},其中,xit表示集合L(xi)中的第t个金融数据;将集合L(xi)中的金融数据按其和金融数据xi之间距离的绝对值由小到大进行排序组成序列l′(xi),设ηit(xi)表示金融数据xit在序列l′(xi)中的排序;设L(xit)表示金融数据xit的局部邻域数据集合,将金融数据集合X中的金融数据按其和金融数据xit之间距离的绝对值由小到大进行排序组成序列l(xit),选取序列l(xit)中的前2M个金融数据加入到集合L(xit)中,设L(xit)={xitb,b=1,2,…,2M},其中,xitb表示集合L(xit)中的第b个金融数据;将集合L(xit)中的金融数据按其和金融数据xit之间的距离的绝对值由小到大进行排序,组成序列l′(xit),设ηi(xit)表示金融数据xi在序列l′(xit)中的排序,当min{ηit(xi),ηi(xit)}<M时,则将金融数据xit标记为金融数据xi的参考数据;
设U(xi)表示金融数据xi的参考数据集合,且U(xi)={xif,f=1,2,…,N(xi,U)},则ρ(xi)的值为:
式中,xif表示集合U(xi)中的第f个参考数据,N(xi,U)表示集合U(xi)中的参考数据量。
优选地,设V表示在金融数据集合X中选取的聚类中心集合,根据金融数据集合X中各金融数据成为聚类中心的概率值选取聚类中心,并将选取的聚类中心加入到集合V中,具体包括:
Step1:在金融数据集合X中选取具有最大概率值的金融数据为第一个聚类中心v1,并将选取的聚类中心v1加入到聚类中心集合V中;
Step2:在金融数据集合X中选取剩余的聚类中心,设xg表示金融数据集合X中第g个金融数据,定义Y(xg)表示金融数据xg成为聚类中心的权值,且Y(xg)的表达式为:
式中,γ(x
g)表示金融数据x
g对应的取值函数,当x
g∈V时,则γ(x
g)=0,当
时,则γ(x
g)=1,v
α表示聚类中心集合V中的第α个聚类中心,N(V)表示此时聚类中心集合V中的聚类中心数,
表示金融数据x
g成为聚类中心的概率值;
在金融数据集合X中选取具有最大权值的金融数据为聚类中心,并将其加入到集合V中;
Step3:继续采用Step2中的方法在金融数据集合X中选取聚类中心,直到选取的聚类中心的个数等于c时停止选取聚类中心。
优选地,区块链存储模块中设置有节点检测单元,所述节点检测单元用于监测区块链节点的挖矿结果,当监测到只有一个区块链节点挖矿成功,则该区块链节点获得记账权并赚取挖矿酬金,当监测到有多个区块链节点挖矿成功时,对挖矿成功的区块链节点进行筛选,设qz表示当前挖矿成功的第z个区块链节点,且z=1,2,…,w,其中,w表示监测到的当前挖矿成功的区块链节点数,定义t(qz)表示区块链节点qz挖矿产生区块的时间,当v=argminz=1,2,…,wt(qz)时,则选取区块链节点qv获得记账权并赚取挖矿酬金,并将区块链节点qv产生的区块接入主链。
本发明创造的有益效果:为了保证在将收集的金融数据存入区块链存储模块之前的安全性,设置了金融数据检测模块,所述金融数据检测模块通过对接收到的金融数据进行聚类,并判断聚类所得的各个类中的金融数据是安全数据还是可疑数据,保证了这些金融数据在进入区块链存储模块时的安全性;所述金融数据检测模块采用FCM算法对接收到的金融数据进行聚类,提出了一种新的FCM算法的聚类有效性指标,所述聚类有效性指标同时考虑当前类别集合中类的紧密型、分离性和重叠度,选取使得聚类有效性指标最小时对应的类别数即为要确定的最优类别数,传统的聚类有效性指标在衡量类的紧密性的时候,没有考虑到不同的类间尺寸对类的紧密性的影响,针对上述问题,本优选实施例在聚类有效性指标中引入了紧密性的修正因子对待检测类的紧密性进行修正,所述修正因子能够有效的消除类间不同尺寸对类的紧密性的影响,使得不同尺寸的类能够拥有相近的紧密性值,所述待检测类的紧密性的修正因子的值根据待检测类中的金融数据进行确定,为了使得修正因子的值能够准确的衡量待检测类的尺寸,本优选实施例对待检测类中的金融数据进行筛选和标记,将待检测类中满足
的金融数据标记为1,所述标记为1的金融数据为聚类结果较为明确的金融数据,即其具有较大的概率属于待检测类,从而根据待检测类中标记为1的金融数据确定的修正因子值能够准确的衡量待检测类的尺寸,实现了根据待检测类的尺寸对待检测类的紧密性进行自适应的调整,从而消除了类间不同尺寸对类的紧密性的影响,使得根据聚类有效性指标确定的最优类别数更加的符合待分类的金融数据的分布特性;在金融数据集合中选取聚类中心的过程中,定义的概率值的计算公式中的指数函数部分通过衡量各金融数据的局部密度来确定所述金融数据是否成为聚类中心,当类间密度不同时,如果仅仅通过衡量金融数据的局部密度来选取聚类中心,容易造成不能有效的选取密度较小的类的聚类中心,从而影响聚类结果的准确性,针对上述情况,本优选实施例在所述概率值的计算公式中引入了密度调节系数,所述密度调节系数用于通过衡量所述金融数据和距离其最近的参考数据之间的分布情况对所述金融数据的局部密度进行调节,在选取所述金融数据的参考数据时,为了适应类间不同的密度情况,本优选实施例通过计算所述金融数据和参考数据之间距离的排序确定所述金融数据的参考数据,当所述参考数据为金融数据集合中距离所述金融数据较近的一个金融数据,并且所述金融数据也为金融数据集合中距离所述参考数据较近的一个金融数据时,则表明所述金融数据和所述参考数据互为较为接近的数据,即所述金融数据和所述参考数据具有较大概率属于同一个类,所述密度调节系数通过衡量所述金融数据和其参考数据之间的分布情况能够有效的判断所述金融数据所处类的密度情况,当所述金融数据和其参考数据之间的距离较大时,表明所述金融数据所处类的密度较小,此时密度调节系数的较大,即提高密度较小的类中的金融数据被选取为聚类中心的概率,即采用密度调节系数对所述金融数据的概率值中的指数函数部分进行调节,使得定义的金融数据成为聚类中心的概率值能够适应类间不同密度的情况,从而提高了聚类中心选取的准确性;选取金融数据集合X中具有最大概率值的金融数据为第一个聚类中心,即选取金融数据集合X中具有较大局部密度的金融数据为第一个聚类中心,在接下来的聚类中心的选取过程中引入了所述金融数据和已选取的聚类中心之间的距离因素,使得选取的聚类中心之间具有较大的距离,从而使得选取的聚类中心在金融数据集合X中分布的较为全面;此外,在区块链存储模块中设置有节点检测单元用于在区块链即将产生分叉前对挖矿成功的区块链节点进行检测和筛选,最终只允许唯一区块接入主链,从而能够有效的避免了分叉的产生,保证了区块链中数据的一致性并进一步维护了区块链的健壮性。
附图说明
利用附图对发明创造作进一步说明,但附图中的实施例不构成对本发明创造的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
图1是本发明结构示意图。
具体实施方式
结合以下实施例对本发明作进一步描述。
参见图1,本实施例的一种基于区块链的金融大数据风控平台,包括金融数据获取模块、金融数据检测模块、金融数据传输模块和区块链存储模块,所述金融数据获取模块用于收集金融数据,并将收集到的金融数据输入到金融数据检测模块,所述金融数据检测模块用于对接收到的金融数据进行聚类,并判断聚类所得的各个类中的金融数据是安全数据还是可疑数据,将判断为可疑数据的类中的金融数据舍弃,将判断为安全数据的类中的金融数据通过金融数据传输模块传输至区块链存储模块进行存储;所述金融数据检测模块包括金融数据分类单元和金融数据判断单元,所述金融数据分类单元用于对接收到的金融数据进行聚类,将金融数据分类单元接收到的待分类的金融数据表示为集合X,且X={xi,i=1,2,…,N},其中,xi表示集合X中的第i个金融数据,N表示金融数据集合X中的金融数据量,所述金融数据分类单元采用FCM算法将金融数据集合X中的金融数据进行分类,设C表示金融数据集合X划分的类别集合,且C={cj,j=1,2,…,c},其中,cj表示类别集合C中的第j个类,c表示类别集合C中的类别数,所述FCM算法采用聚类有效性指标Y(c)确定将金融数据集合X划分的类别数c,Y(c)的表达式为:
式中,设c
l表示类别集合C中的第l个类,v
l表示类c
l的聚类中心,v
j表示类c
j的聚类中心,
表示类别集合C中类的聚类中心的均值,且
u
ij表示金融数据x
i隶属于类c
j的隶属度,O
ijl表示金融数据x
i在类c
j和类c
l之间的重叠度,且
其中,u
il表示金融数据x
i隶属于类c
l的隶属度,u
00表示重叠度阈值,β(c
j)表示类c
j对应的紧密性的修正因子,且β(c
j)的值采用下列方式确定:
对金融数据集合X中的金融数据进行遍历,设xp表示金融数据集合X中的第p个金融数据,cs表示类别集合C中的第s个类,ups表示金融数据xp隶属于类cs的隶属度,当j=argmaxs=1,2,…,cups时,则将金融数据xp加入到类cj中;
设类
其中,
表示类c
j中的第k个金融数据,N(c
j)表示类c
j中的金融数据量,对类c
j中的金融数据
进行筛选,设
表示金融数据
隶属于类c
j的隶属度,
表示金融数据
隶属于类别集合C中类的第二大隶属度,当
时,则将类c
j中的金融数据
标记为1,当
时,则将类c
j中的金融数据
标记为0;
将类c
j中标记为1的金融数据组成集合M(c
j,1),且
其中,
表示集合M(c
j,1)中的第m个金融数据,N(c
j,1)表示集合M(c
j,1)中的金融数据量,则β(c
j)的值为:
式中,
表示集合M(c
j,1)中的第r个金融数据,x
e表示金融数据集合X中的第e个金融数据,x
a表示金融数据集合X中的第a个金融数据;所述金融数据判断单元用于判断聚类所得的各个类中的金融数据是安全数据还是可疑数据。
优选地,所述金融数据判断单元用于判断聚类所得的各个类中的金融数据是安全数据还是可疑数据,具体为:
设θ(c
j)表示类c
j对应的金融数据的密度,且
给定密度阈值T(c),且
当θ(c
j)≥T(c)时,则判断类c
j中的金融数据为安全数据,当θ(c
j)<T(c)时,则判断类c
j中的金融数据为可疑数据,其中,θ(min)为类别集合C中类对应的金融数据的密度的最小值,θ(mid)为类别集合C中类对应的金融数据的密度的中值,N(c
j)表示类c
j中的金融数据量,N表示金融数据集合X中的金融数据量。
本优选实施例为了保证在将收集的金融数据存入区块链存储模块之前的安全性,设置了金融数据检测模块,所述金融数据检测模块通过对接收到的金融数据进行聚类,并判断聚类所得的各个类中的金融数据是安全数据还是可疑数据,保证了这些金融数据在进入区块链存储模块时的安全性;提出了一种新的FCM算法的聚类有效性指标,所述聚类有效性指标同时考虑当前类别集合中类的紧密型、分离性和重叠度,选取使得聚类有效性指标最小时对应的类别数即为要确定的最优类别数,传统的聚类有效性指标在衡量类的紧密性的时候,没有考虑到不同的类间尺寸对类的紧密性的影响,针对上述问题,本优选实施例在聚类有效性指标中引入了紧密性的修正因子对待检测类的紧密性进行修正,所述修正因子能够有效的消除类间不同尺寸对类的紧密性的影响,使得不同尺寸的类能够拥有相近的紧密性值,所述待检测类的紧密性的修正因子的值根据待检测类中的金融数据进行确定,为了使得修正因子的值能够准确的衡量待检测类的尺寸,本优选实施例对待检测类中的金融数据进行筛选和标记,将待检测类中满足
的金融数据标记为1,所述标记为1的金融数据为聚类结果较为明确的金融数据,即其具有较大的概率属于待检测类,从而根据待检测类中标记为1的金融数据确定的修正因子值能够准确的衡量待检测类的尺寸,实现了根据待检测类的尺寸对待检测类的紧密性进行自适应的调整,从而消除了类间不同尺寸对类的紧密性的影响,使得根据聚类有效性指标确定的最优类别数更加的符合待分类的金融数据的分布特性。
优选地,在金融数据集合X中选取c个初始聚类中心,定义
表示金融数据x
i成为聚类中心的概率值,则
的表达式为:
式中,d(c)表示给定的截断距离,ρ(xi)表示金融数据xi对应的密度调节系数,且ρ(xi)的值采用下列方式确定:
设L(xi)表示金融数据xi的局部邻域数据集合,给定正整数M,且0<M<N,可以令M=5,将金融数据集合X中的金融数据按其和金融数据xi之间距离的绝对值由小到大进行排序组成序列l(xi),选取序列l(xi)中的前2M个金融数据加入到集合L(xi)中,设L(xi)={xit,t=1,2,…,2M},其中,xit表示集合L(xi)中的第t个金融数据;将集合L(xi)中的金融数据按其和金融数据xi之间距离的绝对值由小到大进行排序组成序列l′(xi),设ηit(xi)表示金融数据xit在序列l′(xi)中的排序;设L(xit)表示金融数据xit的局部邻域数据集合,将金融数据集合X中的金融数据按其和金融数据xit之间距离的绝对值由小到大进行排序组成序列l(xit),选取序列l(xit)中的前2M个金融数据加入到集合L(xit)中,设L(xit)={xitb,b=1,2,…,2M},其中,xitb表示集合L(xit)中的第b个金融数据;将集合L(xit)中的金融数据按其和金融数据xit之间的距离的绝对值由小到大进行排序,组成序列l′(xit),设ηi(xit)表示金融数据xi在序列l′(xit)中的排序,当min{ηit(xi),ηi(xit)}<M时,则将金融数据xit标记为金融数据xi的参考数据;
设U(xi)表示金融数据xi的参考数据集合,且U(xi)={xif,f=1,2,…,N(xi,U)},则ρ(xi)的值为:
式中,xif表示集合U(xi)中的第f个参考数据,N(xi,U)表示集合U(xi)中的参考数据量。
本优选实施例用于在金融数据集合中选取聚类中心,在选取聚类中心的过程中,定义的概率值的计算公式中的指数函数部分通过衡量各金融数据的局部密度来确定所述金融数据是否成为聚类中心,当类间密度不同时,如果仅仅通过衡量金融数据的局部密度来选取聚类中心,容易造成不能有效的选取密度较小的类的聚类中心,从而影响聚类结果的准确性,针对上述情况,本优选实施例在所述概率值的计算公式中引入了密度调节系数,所述密度调节系数用于通过衡量所述金融数据和距离其最近的参考数据之间的分布情况对所述金融数据的局部密度进行调节,在选取所述金融数据的参考数据时,为了适应类间不同的密度情况,本优选实施例通过计算所述金融数据和参考数据之间距离的排序确定所述金融数据的参考数据,当所述参考数据为金融数据集合中距离所述金融数据较近的一个金融数据,并且所述金融数据也为金融数据集合中距离所述参考数据较近的一个金融数据时,则表明所述金融数据和所述参考数据互为较为接近的数据,即所述金融数据和所述参考数据具有较大概率属于同一个类,所述密度调节系数通过衡量所述金融数据和其参考数据之间的分布情况能够有效的判断所述金融数据所处类的密度情况,当所述金融数据和其参考数据之间的距离较大时,表明所述金融数据所处类的密度较小,此时密度调节系数的较大,即提高密度较小的类中的金融数据被选取为聚类中心的概率,即采用密度调节系数对所述金融数据的概率值中的指数函数部分进行调节,使得定义的金融数据成为聚类中心的概率值能够适应类间不同密度的情况,从而提高了聚类中心选取的准确性。
优选地,设V表示在金融数据集合X中选取的聚类中心集合,根据金融数据集合X中各金融数据成为聚类中心的概率值选取聚类中心,并将选取的聚类中心加入到集合V中,具体包括:
Step1:在金融数据集合X中选取具有最大概率值的金融数据为第一个聚类中心v1,并将选取的聚类中心v1加入到聚类中心集合V中;
Step2:在金融数据集合X中选取剩余的聚类中心,设xg表示金融数据集合X中第g个金融数据,定义Y(xg)表示金融数据xg成为聚类中心的权值,且Y(xg)的表达式为:
式中,γ(x
g)表示金融数据x
g对应的取值函数,当x
g∈V时,则γ(x
g)=0,当
时,则γ(x
g)=1,v
α表示聚类中心集合V中的第α个聚类中心,N(V)表示此时聚类中心集合V中的聚类中心数,
表示金融数据x
g成为聚类中心的概率值;
在金融数据集合X中选取具有最大权值的金融数据为聚类中心,并将其加入到集合V中;
Step3:继续采用Step2中的方法在金融数据集合X中选取聚类中心,直到选取的聚类中心的个数等于c时停止选取聚类中心。
本优选实施例用于在金融数据集合X中选取聚类中心,选取金融数据集合X中具有最大概率值的金融数据为第一个聚类中心,即选取金融数据集合X中具有较大局部密度的金融数据为第一个聚类中心,在接下来的聚类中心的选取过程中引入了所述金融数据和已选取的聚类中心之间的距离因素,使得选取的聚类中心之间具有较大的距离,从而使得选取的聚类中心在金融数据集合X中分布的较为全面。
优选地,区块链存储模块中设置有节点检测单元,所述节点检测单元用于监测区块链节点的挖矿结果,当监测到只有一个区块链节点挖矿成功,则该区块链节点获得记账权并赚取挖矿酬金,当监测到有多个区块链节点挖矿成功时,对挖矿成功的区块链节点进行筛选,设qz表示当前挖矿成功的第z个区块链节点,且z=1,2,…,w,其中,w表示监测到的当前挖矿成功的区块链节点数,定义t(qz)表示区块链节点qz挖矿产生区块的时间,当v=argminz=1,2,…,wt(qz)时,则选取区块链节点qv获得记账权并赚取挖矿酬金,并将区块链节点qv产生的区块接入主链。
本优选实施例用于在区块链即将产生分叉前对挖矿成功的区块链节点进行检测和筛选,最终只允许唯一区块接入主链,从而能够有效的避免了分叉的产生,保证了区块链中数据的一致性并进一步维护了区块链的健壮性。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。