基于长短期记忆神经网络的企业财务风险预警模型研究
2021-09-08林丹楠李珊珊肖世龙张德育
林丹楠,李珊珊,肖世龙,张德育
(福建商学院 1.信息工程学院;2.财务与会计学院,福建 福州,350012; 3.沈阳理工大学 艺术设计学院;4.信息科学与工程学院,辽宁 沈阳,110159)
企业财务风险预警分析可以对企业经营过程中的经营情况进行预警提示,以便企业能够及时采取相应策略扭转企业经营情况。对上市企业的财务风险预警可以有效反映上市公司经营情况,以便给投资者合理的投资建议,而且方便管理层对上市公司的运营监管。但是企业财务数据量庞大,而且随时间变化迅速,企业财务数据分析并不容易。近年来,由于大数据平台的广泛使用,通过大数据分析技术来解决复杂问题的方法在企业财务分析中得到了深入应用[1],能够完成高维度财务数据的训练与分析,并获得有效的训练结果[2]。更重要的是,采用大数据学习算法,一方面可以解决预警时效性问题,另一方面可以保留历史时间序列财务数据对当前财务指标影响的关系,从而获得更准确的财务风险预警结果。
当前,关于企业财务风险预警分析的方法较多。宋歌等[3]将深度学习引入企业财务风险预警模型建立过程,借助深度学习算法解决复杂问题的优势来提高财务风险预警的精确度,但是该文献主要侧重于该方法可行性,并未对算法深入展开研究。李光荣等[4]采用反向传播(Back propagation,BP)神经网络算法解决企业财务预测问题,但预测精度并不高。王玉冬等[5]在BP神经网络的基础上引入了粒子群优化(Particle swarm optimization,PSO)和果蝇优化算法(Fruit fly optimization algorithm,FOA),在财务风险预警中的精度有所提升,然而算法存在执行效率不高的问题。上述研究均采用了BP神经网络。由于BP神经网络本质上是线性权函数的逼近算法,在处理前后没有关联的数据时效果较好,但是处理具有时间序列属性的有关联的数据时性能较弱,例如财务历史序列数据。长短期记忆(Long-short term memory,LSTM)人工神经网络是一种时间递归神经网络,适合于处理和预测时间序列数据的内部模式。因此,本文采用LSTM神经网络算法对企业财务风险预警进行分析,充分利用LSTM对历史时间序列的处理优势,将企业财务历史时间序列数据和当前输入数据样本共同作为本次激活运算的输入,提高企业财务风险预警精度。
1 企业财务风险预警模型
企业财务的预警模型必须基于财务指标的真实预测。在对1个企业进行财务风险预警之前,需要全面评估该企业的财务运行情况,因此需要对影响财务状况的主要因素进行指标提取,主要预警指标见表1[6]。在选取财务分析指标时,结合表1所列的20个财务指标,然后进行去耦合分析,对于相关度较高的指标进行去耦合操作[7],减少耦合性强的指标所带来的无效运算降低预警效率的情况。
表1 财务风险预警指标表
财务风险预警模型的建立首先要解决预警指标的选择及筛选问题,其次要充分考虑预警模型的时间效应[8],利用历史财务数据来分析未来财务的运营状况,从而确定财务风险等级。在对历史财务数据分析时,需要考虑到历史数据的时间序列长度,同时也要考虑到历史数据中的干扰数据或者误差数据对预警模型的影响,因此在预警模型建立时,需要选择擅长处理时间序列的算法来建立企业财务风险预警模型。本文选择了LSTM神经网络算法,利用循环神经网络算法的特点,能够充分挖掘历史财务数据的影响,又能够通过LSTM的遗忘门操作来过滤历史干扰数据。
2 LSTM神经网络
2.1 LSTM神经网络结构
LSTM神经网络结构是基于循环神经网络(Recurrent neural network,RNN)结构演变而来的,循环神经网络结构如图1所示。图1中,U、V和W均表示各层神经元的连接权重。从图1可以看出,t时刻的输出与t-1和t-2时刻的隐藏层输出及当前t时刻的输入有关,每个时刻的输出都考虑了历史时间序列的影响。在循环神经网络的基础上进行改进,生成LSTM神经网络,LSTM神经网络相比于RNN,在进行循环操作时更加复杂,引入了记忆节点及遗忘门相关操作[9]。
图1 循环神经网络结构图
图2为LSTM神经网络核心结构图。图2中,σ表示sigmoid函数,ht-1和Ct-1分别表示t-1时刻的隐藏层输出和记忆节点值,ht和Ct分别表示t时刻的隐藏层输出和记忆节点输出值。
图2 LSTM神经网络核心结构图
遗忘门(Forget gate)ft的表示方法[10]为
ft=σ(Wf·[ht-1,xt]+bf)
(1)
式中:Wf和bf分别表示遗忘门权重矩阵和偏置。
输入门(Input gate)it的表达方式为
it=σ(Wi·[ht-1,xt]+bi)
(2)
式中:Wi和bi分别表示输入门的权重和偏置。
(3)
式中:WC和bC分别为记忆节点的权重和偏置。
通过上一时刻Ct-1经过遗忘门的结果和候选记忆节点之和来获取新的记忆节点Ct,表示方法[12]为
(4)
输出门(Output gate)ot的表示方法为
ot=σ(Wo·[ht-1,xt]+bo)
(5)
式中:Wo和bo分别为输出门的权重和偏置。
ht=ot*tanh(Ct)
(6)
然后根据反向传播方法,不断优化求解各权重及偏置,获得稳定的LSTM神经网络模型。
2.2 基于LSTM的企业财务风险预警流程
根据企业财务指标数据获取企业财务风险预警样本,然后通过降噪处理初始化企业财务风险预警样本,然后经过LSTM神经网络训练获得企业财务风险预警模型,具体流程如图3所示。
图3 LSTM神经网络企业财务风险预警流程图
3 实例仿真
为了验证LSTM神经网络对企业财务风险预警的性能,在东方财富网上统计了20家公司自2018年来3 a的运营情况。为了检验LSTM神经网络算法对企业财务风险预警的适用度,选取的20家企业既包含ST公司,也包含非ST公司,两者比例为2∶3。在模型建立时,选择2018年度的20家公司企业财务运营情况作为训练样本,2019年度数据为测试样本,通过2019年度财务运营情况实际值进行对比,验证企业财务核心指标的预测值。同时通过爬虫技术从东方财富网上抓取了100家企业的近5 a财务运行情况,采用常用的财务风险预警算法和本文算法分别预警分析2019年度企业财务情况。LSTM神经网络的参数设置为:时间步长为12,每一个时间布上的纬度为4,记忆节点的权重和偏置分别为0.3和0.1,3个门(Gate)的权重矩阵和偏置均为0.2。实验环境配置为:Ubuntu14.4操作系统、Tensorflow深度学习框架、16G内存、Python、C++编程语言。
3.1 速动比率和固定资产周转率预测性能
财务风险预警主要是根据历史财务数据进行预测,通过重要财务指标的预测结果来判定企业财务运行情况并预警。本文随机对2019年度20家企业财务的2个重要指标,速动比率和固定资产周转率进行对比,其预测结果如图4所示。
由图4得,采用LSTM神经网络算法的预警模型训练,20家企业的速动比率和固定资产周转率2个指标的预测性能较好。对比发现,固定资产周转率的预测效果比速动比率预测效果更好。在图4(a)的速动比率预测中,企业编号为5、10和11的速动比率预测出现的偏差较为明显,其他企业误差较小;而在图4(b)的固定资产周转率方面,预测与实际偏差非常小。
图4 LSTM神经网络预测企业财务指标结果图
在预警模型中,可以分别设置速动比率和固定资产周转率阈值。本文将速动比率阈值设为0.6,资产周转率阈值设为5,根据LSTM神经网络算法获取企业的财务速动比率和固定资产周转率,结合阈值,给出预警提示。速动比率小于0.6的企业应注意债务风险,而固定资产周转率低于5的企业应注重设备利用率风险,提高企业设备使用效率。
3.2 企业财务状况预测准确率
下文采用LSTM神经网络算法对2018年度20家上市企业的财务样本进行仿真,预测20家企业2019年度企业财务情况。根据重要指标预测值和设定阈值获得相应的预警输出,根据预警输出与财务指标行业规范值对比判定预警准确率如表2所示。
表2 企业财务风险预警结果表
由表2通过2019年度20家企业的实际预警数量和LSTM神经网络算法预警的结果对比得出:最低和最高预警准确率分别达到了85.71%和100%,对第13家企业的预警性能最差,而LSTM算法能够对所有风险都提出预警的企业达到了8家;从RMSE方面来看,LSTM神经网络算法的企业财务风险预警稳定性较高。财务指标行业规范值引自证券公司的行业分析年报,具体就是预测值超过设定阈值,即判定存在风险。
3.3 不同算法的预警准确率性能
为了进一步验证LSTM神经网络在大规模企业财务风险预警中的性能,采用支持向量机(Support vector machine,SVM)[13]、BP神经网络[14],卷积神经网络[15]和LSTM神经网络算法分别对100个上市企业的1318个警报数据进行财务风险预警分析,其仿真结果如图5所示。
图5 不同算法的企业财务风险预警性能曲线图
从图5得:LSTM神经网络算法的预警准确率最高,卷积神经网络次之,SVM最差;而从预警时间性能方面看,SVM算法最好,BP和LSTM神经网络次之,卷积神经网络最差。综合对比可见,本文算法处理大规模企业样本预警性能更优。
4 结束语
采用LSTM神经网络算法对财务数据样本进行训练,可以获得各财务风险预警指标的预测结果,根据预测值与阈值对比,实现企业财务风险预警。后续研究将进一步优化LSTM神经网络算法的节点数和参与运算的历史时间序列数目,以优化LSTM神经网络算法的预警效率,提高LSTM神经网络算法在企业财务风险预警中的适用度。