基于多层BP神经网络的财务风险预警模型构建
2021-10-16吴建军
王 婷, 吴建军
1.安徽外国语学院 国际经济学院, 安徽 合肥 231201;2.南昌大学 经济管理学院, 江西 南昌 330031;3.合肥工业大学 管理学院, 安徽 合肥 230009)
0 引 言
现阶段,在经济全球化的大背景下,世界上任何突发事件都可能致使国内外众多中小企业面临破产。从2020年1月25日至2月21日,249家公司在中国宣布破产的主要原因是受新冠肺炎疫情的影响。此外,在这种激烈的竞争环境下,许多公司正试图改革和扩张,以求在行业中得到持久的立足之地。快速扩张的背后,是多数企业产能上的资金需求。为了弥补融资缺口,一些CEO在资本运作上采取了减持、退市等措施,但只能解决短期财务危机。因此,要有效避免重大财务危机,保持健康的长期发展趋势,就需要构建准确的财务危机预警体系,建立一个长期稳定的融资机制。因此,越来越多的企业重视财务预警模型的构建,及时发现企业潜在的财务危机,并准确采取相应的对策,将经济损失降到最低[1]。
20世纪初,国内外学者开始对金融危机进行研究。在此期间,学者们提出关于财务预警的方法和模型,主要分为五类:单变量财务风险预警[2]、多变量财务风险预警[3]、多元回归财务风险预警[4]、人工神经网络财务风险预警[5]和灰色预警法[6]。
在财务风险预警模型的研究中,我国学者与国外学者相比更侧重于国外已有模型的实证检验。2020年,王洋洋[7]在综合考虑网民发表的企业信息,并采用相关技术实现企业信息结构化的基础上,对企业的所有信息进行更深层次的探究,以挖掘出具有全局代表性的企业舆情指标,从而建立基于大数据环境下的财务危机预警系统。2019,陈琦[8]构建Logistic财务风险预警模型,对样本公司进行实证检验,其结论为现金流指标可以有效地预测公司的财务风险情况。2019年,毕明琪[9]利用大量的宏观经济变量建立动态因子模型,并将少量动态因子引入Cox模型当中,通过对比因子分析和Lasso惩罚的静态模型,证明了引入Lasso惩罚进行变量选择的静态模型效果更好。李学彦等[10]首先选取八个具有代表性的财务指标,引入动态权重以构建出中国金融压力指数。梁恒[11]从企业的盈利质量出发,科学地选取了财务危机预警指标后,进一步改进层次分析法AHP,构建出DANP变权财务预警模型。2018年,Azayite F Z等[12]提出一种基于人工神经网络和改进粒子群算法的拓扑设计算法的财务预警系统,该系统以预测破产和风险评分。2020年,Lausber C等[13]将定量和定性风险措施相结合,充分地捕获了房地产风险,且更好地符合了投资者对风险的态度。2020年,Herrera R等[14]提出一种新颖的标记点过程模型,该模型以一系列交易活动和流动性度量来捕捉日内收益中的极端风险,并提供了最佳样本拟合,从而较为准确地预测了财务的极端风险。2014年,Sztojanov E[15]采用基于文献的方法,建立了一个实验系统模型来验证信贷增长和房地产市场历史数据,最终证明了企业需要在精心设计的模糊系统下才能更好适应新兴市场面临的挑战。
综上所述,国内外学者在财务预警模型构建的理论和方法都取得了一定成果,但针对国内上市公司构建与之匹配的预测模型的研究较少,且测度指标设计多偏向于传统会计类项目。由于财务预警建模属于一类非线性问题,而BP神经网络在处理非线性问题方面具有一定的优势。因此,文中提出一种基于多层BP神经网络的预警模型,此模型是对前期研究成果的进一步改进,为企业的财务预警模型构建研究提供了新思路。
1 多层BP神经网络
BP(Back Propagation)神经网络是一种基于误差反向传播的多层前馈神经网络算法,因其结构相对简单、算法易于实现,且具有很强的非线性映射能力,在模式识别、财务预测等领域得到了国内外学者的广泛应用。BP神经网络一般由输入层、隐含层及输出层三部分组成,层与层之间全连接,而每一层内的神经元之间互相无连接,其中隐含层可能有一个或多个。
多层BP神经网络是指网络结构包含多于一个输入层、一个输出层及多个隐含层,其网络拓扑结构如图1所示。
图1 多隐层BP神经网络
相关学者已经证明三层神经网络结构能完成任意的n维输入映射到m维的输出,但三层神经网络不一定是所有实际应用模型最合适的网络结构。隐含层的增加势必会引起网络结构的冗杂,但其精确性会得到提升,且合理的隐含层单元数,以及激活函数会使网络的训练效率得到提高。在单隐含层基础上,逐步增加隐含层数,实验结果表明,含有三个隐含层的BP神经网络在处理财务风险预测问题时模型训练精度得到有效提升,且相较于含更多隐含层的BP神经网络模型迭代速度快、时间成本降低,所以,在综合对比分析下使用含三个隐含层的多层BP神经网络。综合相关研究学者的网络结构设计,各隐含层之间激励函数常为非线性函数,输出层一般采用线性激励函数,故第一隐含层采用正切型Sigmoid激活函数f1(x),第二、三隐含层采用对数型Sigmoid激活函数f2(x),输出层采用线性函数f3(x)=x。对数型、正切型Sigmoid函数公式分别为:
(1)
(2)
式中:f1(x)----值域为(-1,1);
f2(x)----值域为(0,1)。
2 基于MBPNN财务风险预警模型
2.1 MBPNN模型指标体系构建
企业财务预警系统是为了对企业财务状况与具有预测性和适宜性特征的预期不同的情况进行预警。主要通过公司经营的各项指标对公司的财务状况和变化进行评价和预测,为管理者的决策提供科学有效的支持。通过梳理大量文献发现,财务危机预警指标共分为六类:盈利能力、偿还能力、增长能力、线性流量、资产负债表信息和表外信息。每一个指标都可以分为若干个子指标,如偿付能力指数也可以是流动比率、速动比率、所有权比率、利率水平、经营性现金流量、资产负债率等。由于企业财务状况评价指标之间的相关性很强,在对所有指标进行全面评价时,模型会过于复杂,因此在模型制定之前,需要经过显著性分析和因子分析两步骤对指标进行复核。显著性分析采用T检验法对ST类企业(将”ST”作为上市公司产生财务危机的标志,不同的行业其表现出的财务特征具有一定的差异性,也会影响财务危机的精确度)和非ST类企业进行分析,识别出差异大,能够区分这两类企业的财务指标。因子分析计算从显著性分析中选取指标的主成分特征值,并将该值较高的指标确定为企业财务危机早期识别方法的评价指标。最后筛选十项指标能够全面反映公司的财务状况,包括资产负债率、成本效益比、审计类型、总资产、经营项目、总资产增长率、投资能力、经营现金流量、存货周转率和每股利润。
2.2 MBPNN模型构建
MBPNN神经网络算法流程如图2所示。
图2 MBPNN神经网络算法流程
从图2结构可以看出,该算法模型与单隐层BP神经网络模型相似,数据样本作为输入数据进入网络模型,数据的预处理相当于将网络输入数据进行归一化,MBPNN神经网络就是这样一层接一层进行正向传输,最终输出运算结果,但模型输出结果与实际可能并不一致,这时就产生了误差,通过对误差的反向传播,不断调整各个中间隐层参数,使输出结果能达到精度要求,模型即完成了训练学习。
BP神经网络算法具体步骤如下:
1)对权值进行初始化赋值
ωsq=Random(·),
式中:sq----ij,jk。
2)设共有q个学习样本,期望输出为d(1),d(2),…,d(q),将第p个样本的输出误差定义为
(3)
(4)
k=0,1,…,m-1,
(5)
j=0,1,…,n1。
5)设当前已训练p样本,若p 6)对BP神经网络各层的权值阈值进行调整,输出层与隐含层分别依据下式 (6) (7) 式中:η----学习速率。 (8) 实验中的所有代码均采用Matlab R2013a软件平台编写,编译运行的PC机参数为: Intel(R) Core(TM)2 Duo CPU E7500 2.93 GHz CPU、2.00 GB内存、32位Windows XP操作系统。 从国泰安数据库选取1 350家上市公司的财务数据作为仿真实验的数据源。1 000组数据为训练样本,350组数据为测试样本,均包括正常企业和ST企业。因此,每组数据的输入是10维,表示模型的10个指标。输出是1维,表示企业的财务状况,采用二值离散型输出。若输出结果为1,表明公司财务状况良好;如果为-1,则表明公司财务状况存在问题。 根据文中构建的财务风险预警指标体系,10个指标为BP神经网络的输入层,即输入层节点数n1=12,文中采用三隐层结构,为满足紧凑网络结构下的精度要求,设对应的隐含层节点数分别为n2=10;n3=5;n4=5,输出层节点n5=5,设置最大迭代次数为1 000次,阈值ε=0.001,五层网络结构为12-10-10-5-5,如图3所示。 图3 含三隐层的BP神经网络结构 由于训练过程数据的溢出或者训练数据的不稳定性,每次预测结果有较大浮动,当进行到600次实验左右,上下振荡减弱,趋于走平,如图4所示。 图4 1 000次模拟逐次平均绝对误差(点)与均值(线) 筛选训练结果的绝对误差小于均值的子集,得出风险评估结果为: 训练样本最小误差 err=5.418e-04, 测试样本最小误差 err=6.965e-04。 为了证明在财务风险预警的应用上包含三隐层的多层BP神经网络是否在学习效率与训练精度上较传统的三层BP神经网络和双隐层的四层BP神经网络的优势,利用相同的训练测试集分别建立基于三层至七层BP神经网络的财务风险评估模型。 其中含二到五个隐层的多层BP神经网络误差曲线分别如图5~图8所示。 图5 双隐含层网络误差曲线 图6 三隐含层网络误差曲线 图7 四隐含层网络误差曲线 图8 五隐含层网络误差曲线 各模型的精度目标相同,进而分别得出不同网络模型的最大训练步数、平均误差等性能结果,不同网络模型训练结果见表1。 表1 不同网络模型训练结果 仿真实验结果发现,当BP神经网络的隐含层数从一层增加到三层时,神经网络的学习精度、学习速率都有较为明显的提升。但当隐含层继续增加时,网络的复杂度提升,各神经元节点学习效率降低,网络收敛速度降低,误差增加。说明本实验建立的具有三个隐含层的多层BP神经网络模型具有较为合理的网络结构,其收敛速度、精准度都有较大提升。 参考国内外财务预警的相关文献,依次对初选指标进行显著性分析和因子分析两步骤处理,构建财务风险预警指标体系。分析BP神经网络的隐含层数及结点数对网络分类能力的影响,并将多层BP神经网络用于财务风险预警建模,构建基于多层BP神经网络的财务风险预警模型。 从国泰安数据库选取1 350家上市公司的财务数据作为仿真实验的数据源,利用Matlab软件工具进行仿真实验,实验结果表明,当BP神经网络的隐含层数从一层增加到三层时,神经网络的学习精度、学习速率都有较为明显的改善,说明本实验建立的具有三个隐含层的多层BP神经网络模型具有较为合理的网络结构,其收敛速度、精准度都有较大提升。 所建模型的网络参数可以随着样本数据的更新而变化,适应于各个行业的财务环境,具有一定的实际应用价值。同时,文中也存在一些不足的地方,由于多层BP神经网络初始权值与阈值的随机性,模型参数选择的主观性、隐藏层神经元节点的设置及学习函数的选择等方面都对其多层BP神经网络模型结果的影响程度较大,文中采用的样本数据量相对较少,其模型表现效果尚可,但如果运用到大规模的数据中,实际效果还有待进一步的验证。3 实验与结果分析
3.1 数据采样和处理
3.2 实验参数设置
3.3 实验结果与讨论
4 结 语