基于XGBoost模型的上市公司财务风险预警应用

2023-02-15 14:35曾曙莲王涛教授段亚穷湖北民族大学湖北恩施445000
商业会计 2023年2期
关键词:预警精准样本

曾曙莲 王涛 (教授) 段亚穷 (湖北民族大学 湖北恩施 445000)

一、引言

近几年,世界经济的不稳定增加了企业经营的不稳定性,2021年仅制造业就有四家上市公司陷入了财务危机,包括 *ST宝德(300023)、*ST德新(603032)、*ST东网(002175)、ST松炀(603863)。对于上市公司而言,面对外部条件不确定性增强的现状,如何有效识别、规避、分散和防范风险是企业稳定发展的重要一环。其中对财务风险的管控应着眼于企业经营的各个环节,而财务风险预警研究作为企业风险管理的重要课题,通过建立科学有效的财务风险预警模型进行分析预测,能够帮助企业在财务工作中提前发现可能存在的风险迹象,降低潜在的财务风险,辅助投资者规避风险,同时也有利于证券市场的健康发展。因此,上市公司财务预警问题对于企业自身以及投资者、政府监管机构等各方利益相关者具有较强的现实意义。

在研究上市公司的财务状况时,根据证监会对经营状况恶化的上市公司实施特别处理(Sepecial Treatment,ST)制度,大多数学者通常以上市公司是否被ST作为财务出现危机的标准,依据该标准,ST公司和非ST公司的两组研究样本是典型的二分类数据。如何建立一个准确率较高的预测分类模型是财务风险预警的重点(王小燕和姚佳含,2020)。从模型构建来看,最初多采用单变量财务风险预警判定模型。Fitzpatrick(1932)利用单个财务指标判断不超过20家公司的财务状况,通过单变量分析得到股东权益/负债、净利润/股东权益判断最为准确。随着市场条件的变化,财务风险逐渐多样化,有学者在单一变量模型的基础上提出了多元变量预警模型,即通过对多个财务变量指标进行加权处理构造出多元函数来进行预测分析。Altman(1968)选取了22个财务指标,采用多元性判别方法进行判别分析,得到五个最佳判别指标构建多元财务预警Z-score模型。在此基础上,我国学者结合我国国情建立了F-Score模型,如周首华等(1996)考虑了企业现金流量变动情况,替换了部分传统财务指标。多元性判别方法需要样本服从正态分布,但实际中收集到的数据并不完全遵循这一特征,且对样本指标的要求较多,逻辑回归模型对样本的要求则更为宽松。吴世农和卢贤义(2001)将样本容量均为70的经营良好与处于财务困境的企业进行对比实验,运用Fisher判定法、多元判定法及Logistic回归分析法展开预警分析,得到Logistic回归分析法误判率最低的结论,仅为6.47%。虽然上述统计模型所需参数少、训练时间短、结构不复杂,但有严格的统计假设限制及数据分布,且多重共线性也会影响结果。随着信息技术的发展,机器学习的应用为财务预警的研究提供了新思路,例如决策树(宋宇和李鸿禧,2020)、随机森林(孙玲莉等,2021)、神经网络(Mselmi et al,2017)等方法。

然而,考虑到我国市场上被ST的企业所占比例的实际情况,被ST的上市公司和非ST上市公司的数量差异较大,实验往往需要大量的数据。而传统的分类模型基于数据平衡分布假设(平瑞等,2020),应用不平衡数据时,结果会发生偏移,导致模型的准确率降低,失去预警功能。有学者通过采用数据预处理或提出改进的新算法,减少类不平衡对分类产生的影响,例如重采样方法、代价敏感法、分类器集成法等。SMOTE(Synthetic Minority Oversampling Technique)算法由Chawla于2002年提出,目前广泛应用于医学诊断识别、信用卡欺诈检测等领域,较少应用于财务预警领域。

综上所述,本文在XGBoost模型的基础上引入SMOTE算法,从数据预处理着手,改进数据的不平衡性,构建SMOTE-双层XGBoost模型,并用于我国A股上市公司的财务风险预警研究,以相同数据集为例,与KNN、随机森林、逻辑回归、决策树的预测准确性相比较,分析不同模型的预警效果。

二、SMOTE-双层XGBoost模型

SMOTE算法是在朴素随机采样基础上的改进,由于朴素随机采样算法是通过简单的复制来增加样本数量,没有对少数类样本产生新的有用信息,容易出现模型过拟合问题,继而导致模型的泛化性变低。而SMOTE算法是通过计算少数类样本中每一个样本的欧氏距离,得到K近邻,再根据数据样本不平衡比例确定采样率,从K近邻中选择随机若干样本和原少数样本生成“少数类样本”,即“合成少数类过采样”。如图1中五角星为少数类、圆圈为多数类,方块则为生成的“少数类样本”,即式1中的xnew。

图1 SMOTE算法原理图

XGBoost是由华盛顿大学的陈天奇博士于2015年在GBDT的基础上改进而来的,属于boosting迭代型,出现得较晚,应用较少。相对于GBDT算法,XGBoost算法损失函数进行了二阶泰勒展开提高了求解效率,在损失函数中引入正则项提升了泛化能力,因其具有运行处理速度快、效果好、稳健性强、能较好地控制误差等优点而备受关注。在实际应用中支持多种语言、支持自定义损失函数,更具便利性。具体的目标函数如下:

本文利用XGBoost的特征重要性分析和回归模型建立双层XGBoost模型,其中第一层为数据处理层,利用XGBoost对预警指标分析降维,对财务预警指标约简;第二层为分类层,并联合SMOTE算法建立SMOTE-双层XGBoost财务风险预警模型。

三、实证分析

(一)数据的获取与预处理

本文的财务指标数据选择范围限制在我国A股市场的非金融业上市公司。本文依照企业是否被ST作为财务出现危机的标准来判断上市公司的财务状况,需要说明的是,相对于ST企业,*ST企业更具退市风险,其财务风险特征较为明显,因此,本文以*ST即“带星摘帽”的上市公司为研究对象,研究的区间为2007—2019年。研究样本的选取分为两个步骤,首先选取2010—2020年首次被特别处理的250家上市公司,为了能够较为系统地代表上市公司,研究样本来自不同行业,具有不同的规模。第二步,根据数据收集的完整情况及按照相同年度、同一行业、资产规模相近的原则等进行分析,以1∶2的比例选取500家正常经营的上市公司作为样本数据。以企业首次被特别处理的当年作为基期,即第T年,例如基础数据为2010年时,则ST的前一年2009年为T-1期,2008年为T-2期,2007年为T-3期。本文使用T-1期、T-2期、T-3期的财务数据预测基期的上市公司财务风险状态。

在获取原始样本集后,一般而言,由于数据集中存在大量的空值,所以要进行空值处理,大多数文献选择利用各个指标的中位数或众数填充,而插值会对结果产生影响,为避免这一情况,本文选择删除缺失值的方式进行处理。

(二)财务风险预警指标

在数据可获取的前提下,在选取财务指标时应尽量全面地反映企业的财务状况,本文借鉴以往文献中指标的选取,从盈利能力(企业获取利润的能力)、偿债能力(企业偿还债务的能力)、成长能力(企业未来发展趋势以及发展速度)、营运能力(企业通过自身人力资源和生产资料的配置组合创造价值的能力)以及现金流量(一段时间内企业的现金增减变动,反映企业的资产变现能力)、比率结构(企业某项经济指标在整体中所占比重)这六个方面来选取财务预警指标。通过初步筛选得到具有代表性的财务指标共51个,如表1所示。

表1 财务预警变量初选特征编号列表

由于财务指标具有多样性和信息性,其包含的经济意义不尽相同,而部分财务指标之间的相关性比较强,结构错综复杂,51个预警指标的选取过程存在一定的主观性。此外,若将收集的所有指标直接用于预警模型,会出现模型冗余、信息重合和计算结果不易解释等问题,影响分类结果。因此,在建立模型前有必要对51个预警指标进行降维,选择出信息含量较高且相关性较低的指标。

本文利用XGBoost模型对数据特征进行分析降维,首先根据初始数据集训练模型,计算得出51个预警指标的重要性。如图2所示,横坐标为51个预警指标的特征编号,与表1的特征编号相对应,纵坐标为XGBoost特征重要性分析进行加权求和平均得到的重要性得分,51个预警指标得分加总为100。一般来说,重要性得分用来衡量某一特征在模型构建中的价值,本文利用XGBoost模型对初选的51个预警指标进行重要性排序,净资产收益率、资产净利率、销售费用率、财务费用率、非筹资性现金净流量与负债总额的比率、存货周转率、经营现金净流量、无形资产比率等重要性程度较高;流动比率、速动比率、产权比率、营业收入现金含量、资产负债率等重要性程度相对较低。其中,净资产收益率(Return on Equity,ROE)用来衡量企业运用自有资本获得利润的能力,其综合性较强,反映了管理者的综合管理水平,是杜邦分析中的核心指标,也是衡量企业盈利能力的重要指标。

图2 特征重要性

其次,依据各个指标的重要性程度排序结果,最初采用重要性程度最高的一个指标进行训练,得到预测精度;第二次增加为重要性程度排序前两位的指标进行训练并记录结果;之后从高到低依次递增进行训练并记录,将该步骤的结果可视化形成特征数量与模型精度关系图,如图3所示。观察该折线图,横坐标为特征数量,纵坐标为模型精确度,从趋势线可以看出,随着特征数量的增加,模型精度在0.80上下波动。当特征数量为28时,精准度最高,为0.83。据此,本文选择了重要度最高的前28个特征构造数据集。

图3 特征数量与模型精度关系图

(三)结果分析

1.模型评价标准。在完成原始数据集的预处理后,本文将数据以4∶3∶3的比例划分为训练集、测试集、验证集,以检测模型的预警准确率。为了更好地说明SMOTE-双层XGBoost模型的效果,本文采用了二分类问题常见的评价指标精准率、召回率、F1得分、ACC四个评价指标来评估模型的预测效果。将关注的ST公司标记为正类,正常公司标记为负类,四种结果真正类、真负类、假正类、假负类如表2所示。

表2 混淆矩阵表

精准率(又称查准率)描述了全部预测为ST公司的样本中实际为ST公司的样本量,而召回率(又称查全率)则是描述实际为ST公司的样本中有多少被正确预测。由于前两项评价指标有时存在矛盾的情况,加入F1的得分,即在对查准率和查全率重视程度相同的情况下,模型性能的一个定量评估标准。ACC可简单理解为正确预测的样本数占所有样本数的比例,即准确率。由于本文以1∶2的比例选取ST公司和正常公司,数据分布不均衡,简单地以查准率为评价指标不够科学全面,因此增加ACC指标。根据表2混淆矩阵表的分类,精准率、召回率、F1、ACC四个评价指标的计算公式分别如下:

2.XGBoost模型与SMOTE-XGBoost模型的预测准确性比较。为了缩小两类样本数量的差异,提升模型预测的准确性,本文采用SMOTE算法对标签1进行过采样,即生成少数类样本增加样本量,先对比加入SMOTE算法前后XGBoost模型的预测能力。本文将未加入SMOTE算法前后的分类结果可视化,如图4所示,每一列代表预测类别,而每一行代表实际类别,结合表2可知,此时有四种分类:TP、FP、FN、TN,分别与图中的4个方块对应,TP、TN对应预测正确的部分,FP、FN则相反。通过观察XGBoost混淆矩阵(左)图,能够迅速判断存在数据分布不均衡的情况,加入SMOTE后,数据的不平衡性得到改善,如SMOTE-XGBoost混淆矩阵(右)图所示,且结合表3可知,加入SMOTE后ST公司的精准率提高了6%,总体准确率增加了3%。

图4 XGBoost混淆矩阵(左)和SMOTE-XGBoost混淆矩阵(右)

表3中标签0代表正常公司,标签1代表ST公司,XGBoost模型、SMOTE-XGBoost模型的准确率分别为0.89、0.92。加入SMOTE后,对于ST公司的精准率、召回率、F1分数分别为0.93、0.91、0.92。对于正常公司的精准率、召回率、F1分数分别为0.90、0.93、0.91。对比没有加入SMOTE的ST公司的精准率、召回率、F1分数分别提高了0.06、0.14、0.10。由实验可得平衡数据集对于提升XGBoost模型的预测准确率是有效果的。

表3 XGBoost模型与SMOTE-XGBoost模型对照表

3.SMOTE-XGBoost模型与其他模型预测准确性的比较。由SMOTE-XGBoost模型与传统XGBoost模型的预测准确性比较结果可知,在处理数据阶段,加入SMOTE算法能够提高模型预测的分类性能。为对比不同模型的效果,本文选取机器学习基本分类算法中的逻辑回归、KNN、决策树,以及集成分类算法中的随机森林和XGBoost为代表,均基于加入SMOTE算法后的数据集进行实验,将得到的结果通过精准率、召回率、F1分数、ACC四个分类评价指标进行评价,结果如表4所示。

表4 SMOTE-XGBoost模型与其他模型对照表

从评价指标ACC看,准确率从高到低依次为:XGBoost、随机森林、决策树、KNN、逻辑回归,准确率依次为0.92、0.88、0.87、0.65、0.64。分类效果最好的是XGBoost,主要参数均好于其他分类算法,能够更好地用于财务风险预测,对于ST公司的精准率、召回率、F1分数分别为0.93、0.91、0.92;对于正常公司的精准率、召回率、F1分数分别为0.90、0.93、0.91。其次是随机森林,对于ST公司的精准率、召回率、F1分数分别为0.85、0.90、0.88;对于正常公司的精准率、召回率、F1分数分别为0.91、0.86、0.88。效果较差的有逻辑回归,对于ST公司的精准率、召回率、F1分数分别为0.44、0.74、0.55;对于正常公司的精准率、召回率、F1分数分别为 0.84、0.60、0.70,对比 SMOTE-XGBoost模型的预测结果,SMOTE-XGBoost模型预测的准确率明显较高,提高了28%。其中对于ST公司精准率、召回率、F1分数分别增长了49%、17%、37%;对于正常公司精准率提高了6%,召回率提升了33%,F1分数提升了21%。

四、结论

党的十九大报告指出“坚决打好防范化解重大风险的攻坚战”。为增强企业应对风险的能力,健全风险控制机制,本文针对财务预警中存在的样本数据不平衡、预警指标具有客观性等难题,提出了SMOTE-双层XGBoost财务风险预警模型,并将其与XGBoost模型进行对比分析,最后利用加入SMOTE的数据集,将XGBoost、KNN、随机森林、逻辑回归、决策树五种模型的精准率、召回率、F1分数进行对比分析。得到的主要结论如下:一是企业财务状况受多方面因素影响,本文利用XGBoost对财务指标数据特征进行了筛选,避免了选取财务指标时的主观性,经过数值分析发现,降维后构建的模型对于分类的准确性提高了,同时也避免了因特征维度过高产生特征冗余;二是加入SMOTE算法后XGBoost模型能够处理数据不平衡的问题,有效提升模型的预测分类性能,使得财务预警模型提升效果表现得更好,优于传统XGBoost模型;三是通过对机器学习算法中XGBoost、KNN、随机森林、逻辑回归、决策树五种模型进行比较分析和综合研究,为管理者和利益相关者选择最优模型提供参考,XGBoost和随机森林作为集成分类算法要明显优于基本分类算法,而XGBoost作为Boosting迭代型,性能要明显优于其他方法。该模型扩展了XGBoost模型在不同领域的应用,同时也为上市公司财务风险预警研究提供了新视角。在实践中,可为企业管理层和财务部门、市场监督部门防范可能出现的财务风险提供分析工具和方法。

基于以上三点主要结论,本文提出以下建议:对于企业管理者来说,应组织完善企业内部控制体系建设、保障经济活动合法合规及财务信息的真实完整,以确保财务预警模型的有效性;对于企业财务人员来说,应关注财务要素的变动,例如净资产收益率、资产净利率、财务费用率的变动,及时报告,增强预警意识。企业财务风险的成因复杂多样,且是一个渐进的过程,存在于企业管理的各个方面,随着大数据、人工智能等新一代信息技术的出现,财务风险预警方法也在不断改进,作为投资者,应运用上市公司对外发布的财务报表、相关企业的舆情信息等,结合财务风险预警模型对企业未来财务状况做出判断并进行投资策略的调整。此外,在互联网时代,技术的迭代为企业带来了机遇,同时,世界经济环境的全球化和信息化为企业带来了挑战,由于市场环境因素、法律法规及相关政策的变化、舆情信息的传播速度加快等原因,均给企业的财务状况带来了不确定性,本文在选取预警指标时仅考虑了企业内部的财务信息,均为结构化数据,未考虑到企业外部一些非结构化数据对企业财务状况的影响,如市场特征及行情、产业信息、利率、信贷、舆情、政策导向等,如何将非结构化数据转换为结构化数据、从中提取有效的特征并进行风险预测是今后的研究重点。

猜你喜欢
预警精准样本
用样本估计总体复习点拨
精准防返贫,才能稳脱贫
法国发布高温预警 严阵以待备战“史上最热周”
推动医改的“直销样本”
精准的打铁
园林有害生物预警与可持续控制
精准扶贫 齐奔小康
精准扶贫二首
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本