发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种交易风险分析方法、装置、电子设备及存储介质。
第一方面,本申请提供了一种交易风险分析方法,包括:
获取待分析数据,所述待分析数据包括:交易数据以及舆情数据;
对所述交易数据进行定量分析得到第一数据特征,对所述舆情数据进行定量分析得到第二数据特征;
对所述第一数据特征进行判别确定所述交易数据的第一风险类型,对所述第二数据特征进行判别确定所述舆情数据的第二风险类型,对所述第一风险类型以及第二风险类型分别进行向量化,得到第一特征向量和第二特征向量;
将所述第一特征向量和第二特征向量输入预先训练的预警模型,由所述预警模型根据所述第一特征向量和第二特征向量进行计算得到风险指数;
根据所述风险指数确定所述待分析数据的风险分析结果。
可选的,所述对所述交易数据进行定量分析得到第一数据特征,包括:
获取交易数据对应的历史交易数据;
采用与所述交易数据相关联的归一化公式对所述历史交易数据进行计算得到所述交易数据的第一数据特征;
所述对所述舆情数据进行定量分析得到第二数据特征,包括:
按照预设维度对所述舆情数据进行分析得到分析结果;
根据所述分析结果以及所述预设维度相应的权重系数进行加权平均计算得到所述第二数据特征。
可选的,所述对所述第一数据特征进行判别确定所述交易数据的第一风险类型,包括:
确定所述交易数据的数据体系,所述数据体系中包括多个最高级数据以及与每个最高级数据相关联的多个子数据。
获取所述数据体系中每两个子数据的权重值;
根据所述权重值和所述第一数据特征构建所述数据体系的权重矩阵;
基于所述权重矩阵确定所述交易数据中最高级数据的风险程度;
根据所述风险程度确定所述第一风险类型。
可选的,所述基于所述权重矩阵确定所述交易数据中最高级数据的风险程度,包括:
获取所述子数据对应的数据值;
根据所述权重矩阵以及所述子数据对应的数据值确定所述最高级数据的指标;
确定所述最高级数据对所述交易数据的影响因子;
根据所述指标和所述影响因子计算所述最高级数据的风险程度。
可选的,所述对所述第二数据特征进行判别确定所述舆情数据的第二风险类型,包括:
获取预先训练好的分类模型;
将所述第二数据特征输入预先训练好的分类模型,由所述分类模型确定所述第二数据特征对应的第二风险类型。
可选的,所述方法还包括:
获取训练样本数据,所述训练样本数据包括:风险程度样本向量以及风险类型样本向量;
获取所述风险程度样本向量以及风险类型样本向量对应的标签值;
采用所述第一风险类型样本向量以及第二风险类型样本向量以及所述标签对预设逻辑回归模型进行训练,由所述预设逻辑回归模型根据所述第一风险类型样本向量、第二风险类型样本向量以及预设权重参数与所述标签值的关系,得到所述预警模型。
可选的,所述根据所述风险指数确定所述待分析数据的风险分析结果,包括:
确定所述风险指数所属的预警范围;
根据所述预警范围确定所述待评估企业的风险级别;
将所述风险级别作为所述待分析数据的风险分析结果。
第二方面,本申请提供了一种交易风险分析装置,包括:
获取模块,用于获取待分析数据,所述待分析数据包括:交易数据以及舆情数据;
分析模块,用于对所述交易数据进行定量分析得到第一数据特征,对所述舆情数据进行定量分析得到第二数据特征;
判别模块,用于对所述第一数据特征进行判别确定所述交易数据的第一风险类型,对所述第二数据特征进行判别确定所述舆情数据的第二风险类型,对所述第一风险类型以及第二风险类型分别进行向量化,得到第一特征向量和第二特征向量;
处理模块,用于将所述第一特征向量和第二特征向量输入预先训练的预警模型,由所述预警模型根据所述第一特征向量和第二特征向量进行计算得到风险指数;
确定模块,用于根据所述风险指数确定所述待分析数据的风险分析结果。
第三方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行计算机程序时,实现上述方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:采用机器学习的方法对交易风险进行分级预警,从而大大提高交易风险预警的准确性和有效性,为后续进行更加精细化的防控虚拟资源交易风险、对交易业务进行监管提供坚实可靠的依据。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的一种交易风险分析方法,装置,电子设备及存储介质。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。
下面首先对本发明实施例所提供的一种交易风险分析方法进行介绍。
图1为本申请实施例提供的一种交易风险分析方法的流程图。如图1所示,该方法包括以下步骤:
步骤S11,获取待分析数据,待分析数据包括:交易数据以及舆情数据;
步骤S12,对交易数据进行定量分析得到第一数据特征,对舆情数据进行定量分析得到第二数据特征;
步骤S13,对第一数据特征进行判别确定交易数据的第一风险类型,对第二数据特征进行判别确定舆情数据的第二风险类型,对第一风险类型以及第二风险类型分别进行向量化,得到第一特征向量和第二特征向量;
步骤S14,将第一特征向量和第二特征向量输入预先训练的预警模型,由预警模型根据第一特征向量、第二特征向量进行计算得到风险指数;
步骤S15,所述根据风险指数确定待分析数据的风险分析结果。
本实施例采用机器学习的方法对交易风险进行分级预警,从而大大提高交易风险预警的准确性和有效性,为国家更加精细化的防控交易风险、对虚拟数字业务进行监管提供坚实可靠的依据。
可以理解的,本实施例中的交易数据包括三个最高级数据,三个最高级数据为:交易规模数据、场内交易数据以及场外交易数据。例如:交易规模数据中包括多个子数据:24小时全球成交额、24小时成交价格波动百分比、总市值等等,场内交易数据包括多个子数据:交易平台数量、未知地域交易平台的数目、无法访问地址的交易平台占比等等,场外交易数据包括:买入人数,卖出人数,银行转账数等等。
舆情数据包括多个子数据,例如舆情反馈网站无法访问,舆情反馈预期,舆情反馈债务危机等等。
因此在得到交易数据和舆情数据后,需要对交易数据和舆情数据进行定量分析得到各类数据的数据特征。其中,对于交易数据的需要获取交易数据对应的历史交易数据,采用与交易数据相关联的归一化公式对历史交易数据进行计算得到第一数据特征。
作为一个示例:针对不同的交易数据中不同的子数据,其特征数值的历史分布是不同的,因此采用不同的归一化方法来处理。比如:“总市值全球占比”这一子数据,由于占比在固定的范围内,特征数值差距不大,针对此类特征,可以采用min-max标准化方法来对特征数值进行归一化。min-max标准化方法,如下:
其中,X是原始特征数值,Xmin是特征数值中的最小值,Xmax是特征数值中的最大值,Xnorm是归一化后的结果,范围在0-1之间。
或者,对于类似“近24小时全球成交额”这一子数据,其特征数值的范围不易确定,特征数值之间差距也会比较大,针对此类特征,可以基于sigmoid函数来对特征数值进行归一化。利用sigmoid函数进行归一化的方法如下所示:
其中,X是原始特征数值,Xnorm是归一化后的结果。
对舆情数据进行定量分析得到第二数据特征:按照预设维度对舆情数据进行分析得到分析结果,根据分析结果以及预设维度相应的权重系数进行加权平均计算得到所述第二数据特征。
本实施例所指的预设维度包括:舆情信息量、信息量占比、风险信息站点/账号数、信息站点来源重要度、信息账号重要度。
针对舆情信息量、舆情来源站点数/账号数、舆情来源账号影响程度这三个维度,其数据分布均符合幂律分布。幂律分布的特点是数据分布大部分集中在数值比较小的范围内,随着数值越大,数据分布则越少。正是由于幂律分布的极端不均匀性,极端的数据会对归一化结果造成较大的干扰,因此我们首先人工排除极端的异常值,然后利用对数函数将数据分布转化为线性分布,最后采用“min-max标准化”方法将数据统一归一化到0-1之间,计算公式如下所示:
其中,X是原始特征数值,Xmin是特征数值中的最小值,Xmax是特征数值中的最大值,norm Score是归一化后的结,范围在0-1之间。
针对舆情来源站点影响程度维度,可以根据国家级、省级、市级、县级等站点的影响程度依次降低的原则定义舆情来源站点的影响程度。采用如下公式:
针对舆情信息量占比维度,其数值范围本身就在0-1之间,不需要做进一步的归一化处理。
得到上述五个维度的归一化分析结果后,再根据每个维度对应的权重系数,利用加权平均计算舆情数据的强度值(即第二数据特征),采用如下公式;
avgScore=∑theta*num
其中,theta为各判定维度的权重,通过专家打分法确定,num为各个维度对应的归一化结果。
在对交易数据以及舆情数据进行初步的定量分析后,对第一数据特征进行判别确定交易数据的第一风险类型,包括:确定交易数据的数据体系,数据体系中包括多个最高级数据以及与每个最高级数据相关联的多个子数据;获取数据体系中每两个子数据的权重值,根据权重值和第一数据特征构建所述数据体系的权重矩阵,基于权重矩阵确定交易数据中最高级数据的风险程度,根据风险程度确定第一风险类型。
本实施例中数据体系的层次结构,以及数据体系中与每个最高级数据关联的子数据的权重值是可以是预先设置的。
其中,根据权重值构建数据体系的权重矩阵,具体包括:首先构建模糊成对比较超矩阵,获取数据体系中每两个子数据权重值的比较结果,根据比较结果确定子数据的相对重要程度,其中,相对重要程度通过Satty体系表示:1表示两个子数据同等重要,9表示一个子数据远重要于另一个子数据。需要说明的是:比较结果可以是人为预设的。最后根据子数据之间的相对重要程度以及第一数据特征构建数据体系的权重矩阵。
其中,基于权重矩阵确定交易数据中最高级数据的风险程度,具体通过以下方式实现:获取子数据对应的数据值;根据权重矩阵以及子数据对应的数据值确定最高级数据的指标;确定最高级数据对交易数据的影响因子;根据指标和影响因子计算最高级数据的风险程度。
作为一个示例:分别统计子数据对应的数据值,根据
scorei=wi*numi
其中,wi为专家对每个数据的权重打分结果,范围在0-1之间,numi为统计出的每个数据的数据值。
然后基于确定最高级数据对交易数据的影响因子,根据指标和影响因子计算最高级数据的风险程度:
其中,score为风险程度,Wi为影响因子,影响因子为人为设定的参数。根据风险程度确定第一风险类型,即当风险程度大于预设风险程度时,则第一风险类型为风险。
本实施例中,对第二数据特征进行判别确定舆情数据的第二风险类型,具体通过以下方式实现:获取预先训练好的分类模型;将第二数据特征输入预先训练好的分类模型,由分类模型确定第二数据特征对应的第二风险类型。
需要说明的是,本实施例中的分类模型是利用决策树(decision tree)算法对舆情数据进行判定,决策树是一种基本的分类与回归方法。在分类问题中,表示基于特征对实例进行分类的过程,可以认为是if-then的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。决策树的训练过程包括三个步骤:特征选择、决策树的生成、决策树的修剪。
步骤1:特征选择
特征选择就是决定用哪个特征来划分特征空间,采用信息增益作为衡量每个特征划分特征空间前后的标准,获得信息增益最高的特征就是最好的选择,信息增益的计算公式如下:
假设训练数据集为D,|D|表示样本个数。设有K个类C_k,k=1,2,3,4...k,|C_k|为属于类C_k的样本个数,设特征A有n个不同的取值{a1,a2,...,an},根据特征A的取值将D划分为n个子集D1,D2,...,Dn,|Di|为样本个数,其中Di中属于Ck类的样本的集合为D_ik。
首先对于经验熵,计算如下:
针对特征A的信息增益计算如下:
g(D,A)=H(D)-H(〈D|A〉)
根据每个特征的信息增益进行排序,获取最大信息增益的特征作为当前划分决策树的最佳特征。
步骤2:决策树生成
构建决策树的过程如下:
构建根节点,将所有训练数据都放在根节点,选择一个最优特征,按着这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。
如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到所对应的叶节点去。
如果还有子集不能够被正确的分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点,递归进行,直至所有训练数据子集被基本正确的分类,或者没有合适的特征为止。
每个子集都被分到叶节点上,都有了明确的类别,这样就生成了一颗决策树。
步骤3:决策树修剪
决策树生成算法递归的产生决策树,直到不能继续下去为止,这样产生的树往往对训练数据的分类很准确,但对未知测试数据的分类缺没有那么精确,即会出现过拟合现象。过拟合产生的原因在于在学习时过多的考虑如何提高对训练数据的正确分类,从而构建出过于复杂的决策树,解决方法是考虑决策树的复杂度,对已经生成的树进行简化。
剪枝是从已经生成的树上裁掉一些子树或叶节点,并将其根节点或父节点作为新的叶子节点,从而简化分类树模型。通过极小化决策树整体的损失函数或代价函数来实现,决策树学习的损失函数定义为:
其中,T表示子树的叶子节点,表示第T个叶子的熵,表示该叶子所含训练样例的个数。
本实施例中,通过两种不同的判别方式对两种数据进行判别后,对得到的风险程度以及风险类型分别进行向量化,得到第一特征向量和第二特征向量。之后将第一特征向量和第二特征向量输入预先训练的预警模型,由预警模型根据第一特征向量、第二特征向量以及预设权重参数进行线性加权求和得到风险指数。
本实施例中,预警模型采用的是逻辑回归模型。逻辑回归模型特点是便于解释、易于训练,并且能够以概率形式输出结果,从而可以方便地计算风险指数,其可以形式化表示为
公式中,x为风险文本的风险向量,θ为模型需要学习的参数向量。风险指数是关于参数的递增函数,参数越大,则对应的特征对预警的影响力越大,因此可以很好地解释各个特征对预警的影响力大小。
基于逻辑回归的预警模型总共分为两个阶段:训练阶段和预测阶段。训练阶段即通过多组样本数据来训练预警模型,具体过程如下:
获取训练样本数据,训练样本数据包括:第一风险类型样本向量以及第二风险类型样本向量,获取第一风险类型样本向量以及第二风险类型样本向量对应的标签值,采用第一风险类型样本向量、第二风险类型样本向量以及标签对预设逻辑回归模型进行训练,由预设逻辑回归模型根据第一风险类型样本向量、第二风险类型样本向量以及预设权重参数与标签值的关系,得到预警模型。
预测阶段:
首先针对待分析数据中交易数据以及舆情数据计算其量化数值,然后基于此抽取预警模型需要的特征向量,最后将得到的特征向量和训练阶段得到的权重参数进行线性加权求和,并将结果通过“min-max标准化”方法归一化到[0,100]之间,从而求得预警指数。
图2为本申请另一实施例提供的一种交易风险分析方法的流程图。如图2所示,该方法还包括以下步骤:
步骤S21,确定风险指数所属的预警范围;
步骤S22,根据预警范围确定待评估企业的风险级别;
步骤S23,将风险级别作为待分析数据的风险分析结果。
作为一个示例:预警指数的预警范围为0-100,最终基于模型计算的综合预警指数的大小采取不同的处置决策。将综合预警指数在60分至100分区间作为市场主体的风险预警范围,当待分析数据的综合预警指数在85分至100分区间时,其风险级别为“高风险级别”,当待分析数据的综合预警指数大于60分、小于85分时,其风险级别为“较高风险级别”,当待分析数据的综合预警指数大于0且小于60时,其风险级别为“一般风险级别”。
图3为本申请实施例提供的一种交易风险分析装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,该装置包括:
获取模块31,用于获取待分析数据,待分析数据包括:交易数据以及舆情数据;
分析模块32,用于对交易数据进行定量分析得到第一数据特征,对舆情数据进行定量分析得到第二数据特征;
判别模块33,用于对第一数据特征进行判别确定交易数据的第一风险类型,对第二数据特征进行判别确定舆情数据的第二风险类型,对第一风险类型以及第二风险类型分别进行向量化,得到第一特征向量和第二特征向量;
处理模块34,用于将第一特征向量和第二特征向量输入预先训练的预警模型,由预警模型根据第一特征向量和第二特征向量进行计算得到风险指数;
确定模块35,用于根据风险指数确定待分析数据的风险分析结果。
本申请实施例还提供一种电子设备,如图4所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,P C I)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例的步骤。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令进行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于进行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上进行、部分地在用户设备上进行、作为一个独立的软件包进行、部分在用户计算设备上部分在远程计算设备上进行、或者完全在远程计算设备或服务器上进行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。