APP下载

金融系统风险预警方法研究
——基于CNN的卷积神经网络模型

2020-06-15罗俊霞丁邦旭查道懂

宿州学院学报 2020年4期
关键词:分类器卷积预警

罗俊霞,丁邦旭,查道懂

铜陵学院1.经济学院;2.数学与计算机学院;3.图书馆,安徽铜陵,244061

1 引 言

2008年美国次贷危机后全球经济疲软,国际贸易保护盛行。外需对经济增长的贡献下降,扩大内需成为拉动经济增长的重要动力[1]。尤其是2018年以来,全球经济进入低增长、低通胀、低利率发展阶段。受全球经济下滑及内部结构性调整因素影响,我国经济增长速度呈现降速的趋势。《国民经济和社会发展统计公报》显示,2019年我国GDP增长为6.1%,相比2018年下滑0.5%。为了稳经济、稳就业、稳市场,我国实施积极财政政策的同时,货币政策也由稳健灵活适度转为稳健灵活略宽松。中国广义货币供给M2余额从2008年的40万亿元增长到2019年的198.65万亿元,增长近4倍;2020为抗击新冠疫情,货币政策积极发力,流动性宽松特征更加明显,2020年1—2月,央行基础货币净投放量接近1万亿元,相比2019年同期增长近1.5倍(数据来源于中国人民银行2019年度统计数据和2020年月度统计数据)。货币政策调节对于刺激经济、稳定市场、抗击疫情起到了积极的作用。但同时,由于货币向实体经济流入存在一定障碍,过量的货币资金空转套利推升了股票、债券等资产价格,股市“水牛”,债市大涨,进一步加大了金融市场风险[2]。可见,在当前复杂的国际市场环境下,构建我国金融系统风险预警模型从而规避我国金融系统风险具有十分重要的意义。

金融数据是一种非线性、高维非平衡性数据,而传统的统计方法并不适合分析复杂、高维金融数据。本文在前人已有研究成果的基础上,基于金融系统性原则设计了符合中国国情的金融系统风险指标体系,并借助深度学习CNN(Convolutional Neural Networks)卷积神经网络模型对金融系统风险数据进行建模,以提高金融系统风险预警机制的准确性。

2 金融系统安全评价指标

构建我国金融系统安全评价模型从而定量估计我国金融市场的安全性,首先需要设计金融系统安全指标体系。影响金融系统安全评价的因素有很多,指标体系设计时,需要遵循以下基本原则:一是系统性,即金融行业内部因素和金融行业外部经济政策因素;二是可测性,即所选择的指标必须能够精确测量并且可获得;三是规范性,即根据对金融安全影响程度不同来确定不同指标的权重[3]。

依据上述系统性原则,在设计指标体系时,以金融行业内部环境和金融行业外部环境作为2个一级指标。金融行业内部环境一级指标根据代表性行业分解为银行、信托、证券、基金等4个二级指标,金融行业外部环境一级指标分解为国内经济环境、国内金融环境和国际经济环境等3个二级指标。同时基于可测性和规范性原则,本文以锐思(RESSET)数据库中反映银行、信托、证券、基金、国内宏观经济与价格、国内金融政策、国际宏观经济等7个二级指标的87个具体指标用于观测金融系统安全的特征参数[4]。数据的时间阶段是从2002年1月—2019年12月,将按照“4.1 实验数据预处理”的方法进行数据标准化,缺失的数据按平均值填充,标准化后的金融系统安全评价指标数据集用于本文的实验与结果验证。

3 神经网络模型

3.1 BP神经网络

Back Propagation Neural Network(BPNN)是反向传播神经网络。作为一种基本的机器学习算法,其结构包括特征数据的Input层、隐含层与Output层。隐含层介于Input与Output之间,隐含层通常有一层或多个层次。利用BPNN可以从大量的训练样本中学习到一定的统计规律,从而实现数据分类。BPNN结构如图1所示。

图1 BP神经网络结构图

BPNN算法是基于误差的反向传播学习算法,由两个过程构成,即前向传播和反向传播。前向传播过程是将数据从Input层依次传输到后序的各个隐含层按照分类函数进行计算,最后由Output层输出结果;当结果值与期望值的差超过阈值时,则由反向传播机制以梯度算法调整各隐含层的权值,重复执行上述的前向传播和反向传播过程直到其误差小于误差阈值为止[5]。设输入向量为X={X1,X2,…,Xn},输出向量为Y={Y1,Y2,…,Ym},从Input层—隐含层—Output层的层间权值为Wl,其阈值设为θl。

(1)前向传播过程。设Input层含n个神经元,神经元中间有L-1个隐含层,每一层的输出为Xl,其中l=1,2,…,L-1。X为数据输入特征向量,Y为输出结果向量。设各层网络权值为Wl,偏置量为bl,那么有:Xl=f(ul),式中[6]:

ul=wl·Xl-1+bl

(1)

f(x)为激活函数,可以为Sigmoid,ReLU等。输入的特征向量经过式(1)计算得到结果:Y=Xl。

(2)反向传播过程。当输出结果小于阈值,进行反向传播,用平方误差损失函数衡量输出结果与阈值的差,调整各隐含层的权值参数。损失函数是BPNN学习性能的一个标准参考值,其训练过程的目的就是调整网络的各层参数,使其损失函数最小化。各层神经元节点的参数变度系数δl为[7]:

δl=(wl+1)T·δl+1*f′(ul)

(2)

其中,“*”表示向量乘法,l表示第l层,l=1,2,…,L-1。

3.2 CNN卷积神经网络

CNN卷积神经网络模型受生物自然视觉认知机制启发而来,在图像识别、分类等领域应用十分频繁。其优点是能够准确提取数据特征的局部相关性,从而提高特征提取的准确率[8],是一种性能优秀的深度学习的分类算法。也常被设计用来处理高维数据,进行高维数据分类等智能计算,现已成为众多科学领域的研究热点之一。

CNN作为一种深度学习模型,能通过多层反向传播神经网络实现有监督的学习。其结构通常包含Input层、卷积层(Convolutional Layer)、激励层(ReLU layer)、池化层(Pooling Layer)、全连接层(Fully Connected Network)、Output层。卷积层、池化层、全连接层被合称为隐含层。如图2所示。

图2 CNN卷积神经网络结构图

卷积层可以减少深层网络占用的内存量,在CNN的一个卷积层中,上一层的输入特征向量通过激活函数与卷积核进行卷积计算,得到输出向量。卷积层与池化层的连接方式是局部连接的形式,即每层的神经元只连接输入层中的跟它相近的几个节点。全连接层通常为传统的BPNN神经网络,采用全连接方式。经过全连接层计算,将结果传入输出层。输出层连接分类器,使用逻辑函数或归一化指数函数softmax计算,输出最终的分类结果[9]。

(3)

(4)

特征抽样的计算公式为:

(5)

全连接层的计算公式为:

(6)

在公式(6)中,f()为ReLU激活函数。

在反向传播阶段,类似BPNN神经网络的反向传播机制,从后向前逐层依次计算各层权值的变化量,在进行第n轮迭代计算时,节点j的第k个输入向量的权值的改变量为[11]:

(7)

3.3 金融系统风险预警模型

由于本文的金融系统安全指标数据集高达87个参数,需要选用合适的分类模型进行分类预警。CNN卷积神经网络具有处理高维数据的优异性能,故选用CNN建立金融风险预警模型。基于CNN的金融系统风险预警模型设置为:输入层、2个卷积层、2个池化层、1个全连接层和1个分类层,其结构如图3所示。(1)卷积层:卷积层提取特征值生成大小5×5的卷积核,将卷积核与输入的所有特征依次进行卷积操作;(2)池化层卷积核大小设置为2×2;(3)全连接层:类似BP神经网络隐含层连接方式,将结果转化为特征向量输入到分类层,BPNN神经网络结构实现将非线性可分的原始数据经某种函数映射到一个线性可分的高维空间中,从而实现数据分类;(4)分类层的分类器采用Softmax函数实现多分类功能,实现金融风险等级准确分类。设定该CNN模型的迭代次数为10。

图3 金融系统风险预警模型结构图

4 实验结果与分析

4.1 实验数据预处理

基于CNN卷积神经网络模型算法的运算原理,要求输入数据在0~1之间,会造成实验数据集中数值小的指标可能会被数值大的指标隐藏而不起作用,影响神经网络对数据进行风险分类的准确率与泛化性能。本文的实验数据从宏观经济统计与金融行业评价指标对我国的金融风险进行分析,数据集中数据值范围有较大的差别,例如:指标特征值r1的取值范围是[0,10000],特征值r2的取值范围是[0,0.01],若进行回归计算k1r1+k2k2:会因r1的取值太大,使r2基本上起不了作用。因此需要对实验数据集进行预处理,包括对数据的标准化和字符类型数据的数值化处理。

本文选用min-max标准化方法来预处理数据,是对原始数据进行线性变换,使结果限定在[0,1]区间。特征值越大,金融风险也越大。那么,较大特征值按公式(8)处理;较小特征值按公式(9)处理。其中,j为数据集的第j个评价指标的特征值。

(8)

(9)

对字符类型数据的预处理包括:(1)剔除数据集中无用的数据特征列,如“c_ID”表示client的ID,该数据不能表征金融风险特性,故将此类特征列删除;(2)数据集中的空数据,需要将集合中为空的数据补0;(3)字符型数据进行数量化,即:将字符型数据用特定数字表达;(4)将金融风险等级进行量化分类,如“优”量化为1,“高风险”量化为5;(5)对数据集进行线性变换标准化运算,将数据映射到0~1之间。

4.2 实验结果分析

实验平台基于windows操作系统,实现各个神经网络算法采用python语言,并结合sklearn与tensorflow封装的机器学习库,可以快速实现对金融数据集的处理。将80%数据设为训练集,20%数据作为测试集,分别采用适合多分类的分类器神经网络模型:决策树DT模型(KNN)、BP神经网络模型(BPNN)、XGBoost梯度提升树模型、CNN神经网络模型对数据集进行测试,实验结果如表1所示。

对比实验基于相同的实验平台(表1),分别执行4个分类神经网络实验程序。BPNN算法设置2个隐含层,第一个隐含层有100个神经元,第二个隐含层有50个神经元,训练100周期,执行效率较低,但分类准确度较高;提升树XGBoost的参数“base_score”设为0.5,“booster”设为“gbtree”;KNN的参数“n_neighbors”设为3,“leaf_size”设为10;CNN卷积神经网络按照3.3节的设置参数执行。

表1 实验结果

表1实验结果可以看出:CNN的分类准确率最高,精准率、召回率、f1-score的综合结果值最优。再采用ROC曲线与AUC曲线度量分类器性能,ROC值越大表明分类器的泛化性能越好,AUC值越大,模型的分类效果越好。如图4,依次绘制KNN、XGBoost、BPNN、CNN这4种神经网络算法的ROC曲线图,可明显看出CNN的ROC与AUC值优于其它的分类器性能。但从检测的运行时间考量,由于CNN需要两层卷积计算、全连接与分类运算,执行效率稍低。若采用高性能计算平台,保证了高准确率,运行时间效率影响非常小。

图4 KNN、XGBoost、BPNN、CNN神经网络ROC曲线图

5 结 语

基于CNN深度学习的金融风险预警算法本质上就是设计一个高准确率的智能分类器,通过训练分类器判别金融风险的等级,从而实现金融风险预警。该方法对数据集按照金融系统风险指数进行整合,并对该数据集进行预处理,使之能够执行相应的实验操作,结合CNN卷积神经网络建立金融系统风险预警模型。实验结果表明,此方法具有较高的分类准确率和较低的误报率;与其它几个神经网络模型进行实验结果对比,具有更优的分类性能,获得了更高的金融系统风险预警准确率。

猜你喜欢

分类器卷积预警
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
法国发布高温预警 严阵以待备战“史上最热周”
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
园林有害生物预警与可持续控制
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
机载预警雷达对IFF 的干扰分析
基于层次化分类器的遥感图像飞机目标检测