基于区块链的金融大数据分析系统
技术领域
本发明创造涉及金融领域,具体涉及一种基于区块链的金融大数据分析系统。
背景技术
在金融市场中,经常需要做数据分析,以便通过历史数据对当前的市场走向提供参考依据。中国的证券市场成立十几年来,随着计算机技术、信息化和网络化的不断发展,金融行业的各个金融机构存储并积累了大量的原始金融数据,怎样使金融数据挖掘管理不断完善,也成为了一个热门话题。
发明内容
针对上述问题,本发明旨在提供一种基于区块链的金融大数据分析系统。
本发明创造的目的通过以下技术方案实现:
一种基于区块链的金融大数据分析系统,包括金融数据收集模块、金融数据处理模块、区块链存储模块和金融数据分析模块,所述金融数据收集模块用于收集历史金融数据和实时金融数据,所述金融数据处理模块用于对收集的历史金融数据和实时金融数据进行预处理,并分别将预处理后的历史金融数据和实时金融数据进行聚类,根据聚类结果对收集的历史金融数据和实时金融数据进行入侵检测,将通过入侵检测的金融数据传输至区块链存储模块进行存储,所述金融数据分析模块用于从区块链存储模块中调取所述历史金融数据和实时金融数据对金融数据的未来走势进行预测。
本发明创造的有益效果:通过聚类算法将收集到的金融数据划分为不同的类别,并对划分的类别进行入侵检测后传输至区块链存储模块进行存储,能够有效的避免恶意数据对金融数据分析系统的攻击;金融数据分析模块采用收集到的历史金融数据对BP神经网络进行训练,并采用训练好的BP神经网络对金融数据的走势进行预测,能够及时了解金融数据的走势。
附图说明
利用附图对发明创造作进一步说明,但附图中的实施例不构成对本发明创造的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
图1是本发明结构示意图。
具体实施方式
结合以下实施例对本发明作进一步描述。
参见图1,本实施例的一种基于区块链的金融大数据分析系统,包括金融数据收集模块、金融数据处理模块、区块链存储模块和金融数据分析模块,所述金融数据收集模块用于收集历史金融数据和实时金融数据,所述金融数据处理模块用于对收集的历史金融数据和实时金融数据进行预处理,并分别将预处理后的历史金融数据和实时金融数据进行聚类,根据聚类结果对收集的历史金融数据和实时金融数据进行入侵检测,将通过入侵检测的金融数据传输至区块链存储模块进行存储,所述金融数据分析模块用于从区块链存储模块中调取所述历史金融数据和实时金融数据对金融数据的未来走势进行预测。
优选地,所述金融数据处理模块包括数据预处理单元、数据聚类单元和入侵检测单元,所述数据预处理单元用于对收集的历史金融数据和实时金融数据进行归一化处理,所述数据聚类单元分别将归一化处理后的历史金融数据和实时金融数据进行聚类,所述入侵检测单元用于根据聚类结果对收集的历史金融数据和实时金融数据进行入侵检测,当检测到类中的金融数据为入侵数据时将该类进行删除,当检测到类中的金融数据为正常数据时将该类传输至区块链存储模块进行存储。
优选地,所述金融数据分析模块包括金融数据分析单元、BP神经网络训练单元和金融数据预测单元,所述金融数据分析单元用于对区块链存储模块中存储的历史金融数据进行分析,确定所述历史金融数据的走势,所述BP神经网络训练单元将区块链存储模块中存储的历史金融数据的聚类结果作为BP神经网络的输入量,将金融数据分析单元确定的所述历史金融数据的走势作为BP神经网络的输出量对BP神经网络进行训练,所述金融数据预测单元采用BP神经网络训练单元训练好的BP神经网络对实时金融数据的走势进行预测,所述BP神经网络的输入量为区块链存储模块中存储的实时金融数据的聚类结果。
本优选实施例通过聚类算法将收集到的金融数据划分为不同的类别,并对划分的类别进行入侵检测后传输至区块链存储模块进行存储,能够有效的避免恶意数据对金融数据分析系统的攻击;金融数据分析模块采用收集到的历史金融数据对BP神经网络模型进行训练,并采用训练好的BP神经网络对金融数据的走势进行预测,能够及时了解金融数据的走势。
优选地,所述数据聚类单元用于将所述金融数据进行聚类,采用FCM聚类算法将所述金融数据进行初次聚类,设X表示金融数据集合,且X={x
i,i=1,2,…,N},C
1表示采用FCM聚类算法将金融数据集合X划分的类别集合,且
V
1表示类别集合C
1中的类所对应的聚类中心集合,且
其中,x
i表示金融数据集合X中的第i个金融数据,N表示金融数据集合X中的金融数据量,
表示类别集合C
1中的第j个类,
表示类
对应的聚类中心,l表示划分的类别数。
优选地,对金融数据集合X中的金融数据进行二次聚类,设V2表示二次聚类中心的集合,在金融数据集合X中选取l个二次聚类中心,设xm表示金融数据集合X中的第m个金融数据,定义J(xm)为金融数据xm对应的信息值,且J(xm)的值为:
式中,L(x
m)表示金融数据x
m的局部邻域数据集合,且
其中,x
n表示局部邻域数据集合L(x
m)中的第n个金融数据,H(x
m)为金融数据x
m对应的局部距离阈值,且
当金融数据x
m在初次聚类时为聚类中心时,c
1(x
m)表示在初次聚类时金融数据x
m所在的类,当金融数据x
m在初次聚类时不为聚类中心时,c
1(x
m)表示在初次聚类时金融数据x
m在类别集合C
1中具有最大隶属度的类,x
t表示类c
1(x
m)中的第t个金融数据,
为金融数据x
m在局部邻域数据集合L(x
m)中的邻域检测系数,
的表达式为:
其中,M
L(x
m)表示局部邻域数据集合L(x
m)中的金融数据量,f(x
n)为金融数据x
n对应的邻域判断函数,设L(x
n)表示金融数据x
n的局部邻域数据集合,
表示金融数据x
n在局部邻域数据集合L(x
n)中的邻域检测系数,当
时,则f(x
n)=0,当
时,则f(x
n)=1;
将金融数据集合X中的金融数据按其信息值由大到小进行排列,选取前2l个金融数据组成集合K,且K={x
p,p=1,2,…,2l},其中,x
p表示集合K中的第p个金融数据;对集合K中的金融数据进行筛选,当x
p∈V
1时,则选取金融数据x
p为二次聚类中心,并将金融数据x
p加入到集合V
2中,设在集合K中选取的二次聚类中心组成的集合
其中,
表示集合V
2中的第q个二次聚类中心,M(K)表示在集合K中选取的二次聚类中心的数量,当M(K)=l时,则二次聚类中心选取完成,当M(K)<l时,则采用竞争的方式在金融数据集合X中选取剩余的二次聚类中心,设x
s表示金融数据集合X中的第s个金融数据,定义金融数据x
s竞争二次聚类中心的优先级为F(x
s),则F(x
s)的表达式为:
式中,τ(x
s)为金融数据x
s对应的判断函数,当x
s∈V
2时,则τ(x
s)=0,当
时,则τ(x
s)=1,J(x
s)表示金融数据x
s对应的信息值,M(V
2)表示当前时刻集合V
2中的二次聚类中心数;
在金融数据集合X中选取具有最大优先级的金融数据为二次聚类中心,并将选取的二次聚类中心加入到集合V2中,继续采用竞争的方式在金融数据集合X中选取剩余的二次聚类中心,直到集合V2中的二次聚类中心数等于l时,即停止选取。
本优选实施例用于对金融数据集合中的金融数据进行聚类,采用FCM聚类算法对金融数据集合中的金融数据进行初次聚类后,金融数据集合中的金融数据都以一定的隶属度隶属于各个类,当所述金融数据隶属于各类的隶属度都较为接近时,如果仅仅将所述金融数据归属于其具有最大隶属度的类,容易造成分类不准确的缺陷,针对这种缺陷,本优选实施例采用不同的方式对金融数据集合中的金融数据进行二次聚类,在聚类的过程中引入了初次聚类的结果进行调节,从而增加了聚类结果的准确性;对金融数据集合中的金融数据进行二次聚类时,首先选取二次聚类的二次聚类中心,定义金融数据对应的信息值,所述信息值中的邻域检测系数通过统计所述金融数据和局部邻域数据集合中的金融数据的距离和局部邻域数据集合中的数据量来判断所述金融数据周围的数据分布情况,选取具有较大信息值的金融数据作为二次聚类中心保证了选取的二次聚类中心的周围分布有较多的金融数据,当金融数据集合中的金融数据分布的较为复杂或者不规则时,采用局部距离阈值获得的局部邻域数据集合并不能保证所述金融数据和其局部邻域数据集合中的金融数据之间的相似性,即计算所得的邻域检测系数并不能够准确的反应所述金融数据周围的数据分布情况,从而对二次聚类中心的选取造成影响,针对上述情况,本优选实施例在信息值的计算公式中引入了余弦形式的修正部分,对局部邻域数据集合中的金融数据进行邻域判断,通过将所述待判断金融数据的邻域检测系数和所述金融数据的邻域检测系数进行比较,当两者的差值较小时,则认为所述待判断金融数据与所述金融数据相似,当两者的差值较大时,则认为所述待判断金融数据和所述金融数据并不相似,当局部邻域数据集合中和所述金融数据不相似的金融数据的数量越多,信息值中的修正部分的值越小,即减少了邻域检测系数的值,使得所述金融数据的信息值能够更准确的描述所述金融数据周围的数据分布情况,从而使得根据金融数据的信息值选取的聚类中心更加的符合金融数据集合X中金融数据的分布情况。
优选地,将金融数据集合X中未被选取为二次聚类中心的金融数据视为普通金融数据,对金融数据集合X中的普通金融数据进行聚类,具体包括:
(1)根据初次聚类的结果对金融数据集合X中的金融数据的聚类属性进行标定,设xg表示金融数据集合X中的第g个金融数据,定义金融数据xg的聚类属性判断函数为λ(xg),且λ(xg)的表达式为:
式中,
表示在初次聚类时金融数据x
g属于类别集合C
1中类的最大隶属度值,
表示在初次聚类时金融数据x
g属于类
的隶属度值,且
当聚类属性判断函数λ(xg)>1时,则将金融数据xg的聚类属性标记为1,当聚类属性判断函数λ(xg)≤1时,则将金融数据xg的聚类属性标记为0,此外,将初次聚类时的聚类中心所对应的金融数据也标记为1,将金融数据集合X中聚类属性标记为1的金融数据组成集合A(1),将金融数据集合X中聚类属性标记为0的金融数据组成集合B(0);
(2)设x
b表示金融数据集合X中的第b个普通金融数据,定义普通金融数据x
b和二次聚类中心
的聚合值为
且
的值为:
式中,
表示普通金融数据x
b和二次聚类中心
之间的模糊调节系数,则
的值采用下列方式确定:
当普通金融数据x
b和二次聚类中心
的聚类属性相同,且
时,则
的值为:
式中,当二次聚类中心
所对应的金融数据在初次聚类时为聚类中心时,则
表示二次聚类中心
所对应的金融数据在初次聚类时所在的类,当二次聚类中心
所对应的金融数据在初次聚类时不是聚类中心时,则
表示在初次聚类时二次聚类中心
所对应的金融数据在类别集合C
1中具有最大隶属度的类,
表示在初次聚类时普通金融数据x
b属于类
的隶属度,当普通金融数据x
b在初次聚类时为聚类中心且所在的类和类
相同时,则
当普通金融数据x
b在初次聚类时为聚类中心且所在的类和类
不同时,则
当普通金融数据x
b和二次聚类中心
的聚类属性相同,且
时,则
的值为:
式中,
表示类别集合C
1中的第p个类,
表示在初次聚类时普通金融数据x
b属于类
的隶属度,当普通金融数据x
b在初次聚类时为聚类中心且所在的类和类
相同时,则
当普通金融数据x
b在初次聚类时为聚类中心且所在的类和类
不同时,则
表示在初次聚类时二次聚类中心
所对应的金融数据属于类
的隶属度,当二次聚类中心
所对应的金融数据在初次聚类时为聚类中心且所在的类和类
相同时,则
当二次聚类中心
所对应的金融数据在初次聚类时为聚类中心且所在的类和类
不同时,则
当普通金融数据x
b和二次聚类中心
的聚类属性不同时,则
的值为:
式中,x
e表示金融数据集合X中的第e个金融数据,
表示在初次聚类时金融数据x
e属于类
的隶属度,
表示在初次聚类时金融数据x
e属于类
的隶属度,当普通金融数据x
b在初次聚类时为聚类中心时,则c
1(x
b)表示普通金融数据x
b在初次聚类时所在的类,当普通金融数据x
b在初次聚类时不是聚类中心时,则c
1(x
b)表示在初次聚类时普通金融数据x
b在类别集合C
1中具有最大隶属度的类,
表示在初次聚类时金融数据x
e属于类c
1(x
b)的隶属度;
普通金融数据xb选取和其具有最大聚合值的二次聚类中心加入,当金融数据集合X中所有的普通金融数据都加入到二次聚类中心后,所形成的类即为二次聚类的划分结果。
本优选实施例用于根据选取的二次聚类中心将金融数据集合中的金融数据进行分类,首先根据初次聚类的结果对金融数据集合中的金融数据的聚类属性进行标记,判断所述金融数据在初次聚类时的分类程度,定义聚类属性判断函数,所述聚类属性判断函数根据金融数据对类别集合中各类的隶属度判断该金融数据在初次聚类时所属类别的明确性,当所述金融数据在初次聚类时的最大隶属度值和其他隶属度值的差值都较大时,该金融数据较大概率属于具有最大隶属度的类,即表明该金融数据在初次聚类时的分类结果较为明确,将该金融数据标记为1,当所述金融数据在初次聚类时的最大隶属度和其他隶属度值的差值较小时,表明该金融数据的分类结果较为模糊,将该金融数据标记为0;对金融数据集合中的金融数据的聚类属性标记结束后,通过定义所述金融数据和二次聚类中心之间聚合值判断所述金融数据加入的二次聚类中心,定义的聚合值中除了引入了传统的距离因素外,还额外引入了能够反应所述金融数据和二次聚类中心在初次聚类时的相似关系的模糊调节系数对所述聚合值进行调节,采用模糊聚类算法聚类的金融数据都以一定的隶属度隶属于所有的簇,因此,所述模糊调节系数在衡量所述金融数据和二次聚类中心之间的相似关系时,根据所述金融数据和二次聚类中心在初次聚类时的聚类属性确定所述金融数据和二次聚类中心之间的相似关系,当所述金融数据和二次聚类中心在初次聚类时的聚类属性都标记为1,且所述金融数据具有最大隶属度的类和二次聚类中心具有最大隶属度的类为同一个类时,表明所述金融数据和二次聚类中心的聚类结果较为明确,所述金融数据和二次聚类中心具有较大概率属于同一类,即
的值较大,此时,模糊调节系数的值较大,即增加了所述金融数据和二次聚类中心之间的聚合值;当所述金融数据和二次聚类中心在初次聚类时的聚类属性都标记为1,但所述金融数据和二次聚类中心在初次聚类时具有最大隶属度的类别为不同类时,表明所述金融数据和二次聚类中心的聚类结果较为明确,所述金融数据和二次聚类中心具有较大概率不属于同一类,即
的值较小,此时,模糊调节系数的值较小,即减小了所述金融数据和二次聚类中心之间的聚合值;当所述金融数据和二次聚类中心在初次聚类时的聚类属性都标记为0,表明所述金融数据和二次聚类中心的聚类结果较为模糊,此时,通过统计所述金融数据和二次聚类中心在类别集合中各类的重叠程度判断所述金融数据和二次聚类中心的相似性,重叠程度越高,表明所述金融数据和二次聚类中心的相似性越高,所述金融数据和二次聚类中心处于同一类的可能性越大,此时,模糊调节系数的值较大,即增加了所述金融数据和二次聚类中心之间的聚合值;当所述金融数据的聚类属性标记为1而二次聚类中心的聚类属性标记为0时,则表明所述金融数据在初次聚类时的聚类结果较为明确,而二次聚类中心在初次聚类时的聚类结果较为模糊,此时,通过统计类别集合中的类和所述金融数据具有最大隶属度的类的加权重叠程度而判断所述金融数据和二次聚类中心之间的相似性,重叠程度越高,表明所述金融数据和二次聚类中心之间的相似性越高,所述金融数据和二次聚类中心处于同一类的可能性越大,此时,模糊调节系数的值越大,即增加了所述金融数据和二次聚类中心之间的聚合值;当所述金融数据的聚类属性标记为0而二次聚类中心的聚类属性标记为1时,则表明所述金融数据在初次聚类时的聚类结果较为模糊,而二次聚类中心在初次聚类时的聚类结果较为明确,此时,通过统计类别集合中的类和所述二次聚类中心具有最大隶属度的类的加权重叠程度而判断所述金融数据和二次聚类中心之间的相似性,重叠程度越高,表明所述金融数据和二次聚类中心之间的相似性越高,所述金融数据和二次聚类中心处于同一类的可能性越大,此时,模糊调节系数的值越大,即增加了所述金融数据和二次聚类中心之间的聚合值;所述聚合值综合引入了距离因素和初次聚类的结果,所述普通金融数据选取和其具有最大聚合值的二次聚类中心加入,保证了类中金融数据的相似性,增加了二次聚类结果的准确性。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。