近年来, 上市公司财务欺诈案件频发, 给企业的长期可持续发展带来严重后果, 也会对其雇员、投资者造成重大损失, 威胁了我国资本市场的稳定; 因此, 研究有效的财务欺诈识别方法已经成为当务之急.
已有的财务欺诈识别方法研究从Persons[1]开始延续至今.传统的财务欺诈识别方法有Probit回归、Logistic回归、主成分分析回归、判别分析等.Cecchini等[2]利用支持向量机(SVM)分类方法建立了财务欺诈识别模型.这个识别模型把1991年至2000年的早期数据作为训练集, 2001年至2003年的后期数据作为测试集.识别模型的训练集含有107家欺诈公司, 按照大致1:20的比例选取了2205家非欺诈公司; 测试集包含25家欺诈公司, 按照大致1:37的比例选取了982家非欺诈公司.实证结果表明:财务欺诈公司识别的准确度高达80%, 非欺诈识别精度高达90.6%.但是, 文献[2]将早期数据作为训练集, 后期数据作为测试集, 识别率可能会受样本的时间因素影响, 另外, 两组数据的配比结构不同也会造成模型的不准确.宋新平等[3]从2005年A股制造业中选取36家财务欺诈公司作为欺诈样本, 选取另一些制造业非欺诈公司作为对照样本, 另外选取23个财务指标, 分别利用数据挖掘方法、多元判别分析、支持向量机、决策树,以及研究设计的集成分类方法构建了财务欺诈识别模型.结果表明这几种模型的识别效果都很好, 其中, 集成分类方法的识别效果最好.但是该研究的指标选取均为财务指标, 没有考虑非财务指标对欺诈公司识别的敏感性;此外, 这项研究的样本量过小, 而基于支持向量机的人工智能模型要有一定数据量为基础, 才能构造出足够稳定并且推广能力强的模型.
SVM由Vapnik[4]于1996年提出, 与常用的人工智能方法包括遗传算法、神经网络等方法相比, 它具有充分的理论基础、优良的泛化能力、实用的非线性处理能力,以及强大的高维度数据处理能力.建立SVM模型时, 参数选取对模型的分类能力有重要影响, 许多学者对此进行了深入研究.文献[5]使用网格搜索算法选取SVM惩罚参数和径向基(RBF)核函数.由于网格搜索算法过程简单、容易理解, 因此成为应用最广泛的算法, 但是该算法得到的模型精度有限.为了解决SVM参数寻优问题, 文献[6]用遗传算法(GA)进行SVM参数寻优, 减少了训练模型所需的时间.由于SVM能够很好地解决大数据集的分类和回归问题, 国内外的学者对SVM进行了持续的研究, SVM方法日趋完善.除了传统的SVM模型以外, 还出现了各种SVM综合模型, 比如Col-SVM[7], TW-SVM[8], NP-SVM[9]等.文献[10]用人工蜂群算法对SVM的模型参数进行了优化.本文分别使用网格搜索算法、遗传算法(GA)、粒子群算法(PSO)进行SVM参数寻优, 在传统SVM模型基础上, 采用不同的参数寻优算法, 对模型进行优化.
根据上述分析, 本文提出如下的研究假设:基于SVM建立的财务欺诈识别模型可以提高财务欺诈的识别准确度, 并且不同的参数选取方法对财务欺诈识别的准确度有所影响.
1 研究设计 1.1 样本选取及数据来源本文的训练集和测试集中的数据都采用同时期的数据, 排除了实验中时间因素的影响.同时, 在样本选取过程中, 找到了从2006年至2015年98家欺诈公司的样本数据, 尽可能在数据量上达到人工智能模型构建的标准.本文选取我国沪深两市A股上市公司非金融行业2006—2015年有财务欺诈行为的上市公司作为欺诈样本, 具体要求如下:
1) 已经被证监会、上海证券交易所、深圳证券交易所披露, 即在信息披露公告和市场禁入公告中被指出在2006年至2015年的年度会计报告中存在虚假信息披露、严重误导性陈述、重大错报和漏报现象.
2) 样本中剔除中期财务报告中存在财务欺诈现象但年度财务报告中没有欺诈现象的上市公司.
在选取对照样本时以1:1比例配对, 具体配对样本的选取标准为:
1) 与财务欺诈公司同年份、同行业、资产规模相近的A股上市公司.
2) 同会计年度的审计意见为无保留意见的上市公司.
3) 非ST,PT的上市公司.
4) 没有被证监会、财政部、两证券交易所作出任何形式处罚的上市公司.
剔除数据不全的公司, 最后有98家欺诈公司及98家对照公司数据, 数据来源于国泰君安数据库、上海证券交易所、深圳证券交易所及证监会官方网站.
1.2 研究变量的初选为了更加客观地衡量支持向量机的分类能力, 本文在选取指标时分析国内外对财务欺诈识别指标的研究, 综合考虑我国上市公司的特点, 分别从盈利能力、偿债能力、经营能力、发展能力、现金流能力、股权结构、外部评价七个方面选取了共27个公司指标,全面衡量上市公司的情况.
1.2.1 财务指标偿债能力体现了公司到期能够偿还债务的实力, 往往负债率较高的公司, 出现财务欺诈行为的可能性越高.本文从衡量长短期负债能力入手各选取了两个指标:流动比率、速动比率、资产负债率,以及有形资产负债率.
发展能力是指公司可持续经营的能力.本文选取的指标有:总资产增长率、净资产收益率增长率,以及净利润增长率.
经营能力也可称为营运能力, 揭示了公司资金周转的情况, 能够体现公司运用现有的各项资产赚取利润的能力.该能力与偿债能力和盈利能力有一定的勾稽关系.本文选取的指标有:总资产周转率、存货周转率、应收账款周转率、流动资产周转率.盈利能力体现了公司获取利润的能力, 一般来说, 盈利能力越强,进行财务欺诈的可能性越低.本文选取具有代表性的指标:资产报酬率、总资产净利率、净资产收益率,以及营业利润率.
现金流量指标在一定程度上也能体现公司进行财务欺诈的可能性.公司想要对财务报表进行粉饰, 通常会虚拟交易, 增加公司利润, 然而经营性现金流不会随之增加, 选择净利润现金净含量、营业收入现金净含量及全部现金回收率这三项指标进行考察,如果指标异常, 则公司很有可能通过虚增利润来进行财务欺诈.
1.2.2 非财务指标随着财务欺诈识别模型研究的深入, 国内外许多学者发现,公司的经营业绩不仅体现在财务指标上, 非财务指标对经营业绩也会有所影响.本文从公司所处的内部和外部环境入手, 选取恰当的非财务指标.
公司的内部环境指标主要体现在公司的治理结构和股权结构, 因此本文在股权结构方面选取国有股、流通股、法人股比例以及股权集中度等四项指标, 而在治理结构方面分别选取董事、监事和股东三大会议召开的次数作为指标.
外部评价对于衡量上市公司情况非常重要,本文选取审计意见类型及是否被ST这两项指标, 并对这两项指标进行量化:被ST为1, 不被ST为0;标准无保留意见为0,带强调事项段无保留意见为1,无法表示意见为2,保留意见为3.
指标X1~X4代表偿债能力, X5~X7代表成长能力, X8~X11代表经营能力, X12~X15代表盈利能力, X16~X18代表现金流量, X19~X21代表内部控制, X22~X23代表外部评价, X24~X27代表股权结构.指标含义如表 1所示,
若选取的财务欺诈识别指标对欺诈公司和非欺诈公司的度量没有明显差异, 则在之后建立识别模型时会严重影响识别准确度, 因此将差异性不突出的指标予以剔除.而且, 虽然支持向量机(SVM)模型可以处理输入的高维变量, 但是这种方式有两个弊端:第一, 会增加建模计算量; 第二,会影响模型的准确性.因此, 在构建模型之前要对变量进行差异分析, 以便对数据降维.
首先利用SPSS对财务所有指标进行T对照样本独立检验, 然后保留显著性小于0.1的指标, 结果使变量降维到了8项, 极大地降低了模型的复杂度.
保留下的指标中, 财务指标分别为:流动比率X1, 速动比率X2, 流动资产周转率X10, 全部现金回收率X18.非财务指标有:审计意见类型X22, 是否ST X23, 第一大股东持股比例X24, 国有股比例X25.其中, 审计意见类型X22、国有股比例X23、第一大股东持股比例X24的显著性检验结果均小于0.05, 表明这三项指标对欺诈行为的敏感性非常高, 同时也说明了非财务指标对财务欺诈行为的识别是有效的, 这也与以往的研究结果相符合.可见,将非财务指标引入财务欺诈识别指标体系是合理与可行的.T检验结果如表 2所示,
因为建立支持向量机(SVM)模型是在MATLAB上运行, 且使用的是C++语言, 因此, 为了提高训练的效率, 要在构建模型之前对初始数据归一化处理, 将数据转化为[-1, 1]之间, 缩小数据的波动范围, 以便提高支持向量机精确度.记v是原始数据, v′是归一化后的数据, max, min分别代数据中每个指标的上下界; 具体表达式为
(1) |
构建SVM模型需要选取核函数, 核函数种类主要包括径向基核函数、多项式核函数等, 本次模型选用径向基核函数, 径向基核函数最主要的优点是参数少、适用性强.确定核函数后, 在构造模型时还需要选取核函数的参数.应用三种方法选择参数, 并比较这三种方法选择参数的准确度和代入检测样本后得到识别率的准确度.选用三种方法进行参数选择, 是因为在已有的利用支持向量机进行财务欺诈识别的研究中, 基本上都是直接利用简单模型, 而对不同的参数选取方法没有做过详细的比较.实际上, 针对不同的数据类型和来源, 参数选取的方法会直接影响模型的准确率和适用推广能力;本文的研究旨在针对这部分缺失进行补充和探讨, 这正是本文的学术贡献所在.
具体流程为, 将96对样本分成两组, 前45对为训练样本, 其余51对为测试样本.在MATLAB及VS2010平台上编译.分别运用网格搜索算法、遗传算法、粒子群算法通过训练样本来得到径向基核函数的最优参数, 应用序列最小优化算法解决计算中的二次优化问题.得到参数后, 分别建立三种模型, 用测试样本对三种模型进行检验, 得到财务欺诈样本的识别准确率.
2.2 模型的建立与检验本文在台湾大学林智仁教授开发出的Libsvm工具包的基础上采用C++语言实现支持向量机模型的仿真研究.选取径向基核函数, 惩罚因子C与径向基核函数的参数g分别运用网格搜索算法、遗传算法(GA)、粒子群算法(PSO)确定.
2.2.1 网格搜索算法及交叉验证思想网格搜索算法的基本原理是以惩罚因子C和核函数参数g为坐标, 在两个参数的取值范围内按一定单位划分出网格, 同时遍历网格内所有节点, 在每个节点取值, 得到参数C和g后, 再使用K阶(本文采用10阶)交叉验证的方法得出该组取值C和g时训练集的分类准确率.
交叉验证(cross validation, CV)的功能是在一定范围内合理地选出支持向量机模型最优核函数参数g和最优惩罚因子C, 并且在这一过程中有效避免过度拟合的发生.该实验中采用了8折交叉验证, 将数据集分为8份, 依次将其中7份作为训练数据, 剩下的1份作为测试数据, 然后试验.最终选出使得训练集分类结果准确率高的那组C和g作为生成分类模型的最佳参数.本次实验中, 参数C的取值范围设为[2-10, 210], 参数g的取值范围设为[2-10, 210], 运行步长为0.5, 使用网格搜索算法,结果如图 1所示.可知最佳参数C=147.033 4, g=9.189 6,交叉验证精度为77.272 7%.
遗传算法(genetic algorithm, GA)通过计算可得到全局最优解, 且收敛速度快, 是一种应用普遍的人工智能方法.遗传算法主要原理是通过对生物进化机制的模仿实现对模型的改进.遗传算法包括选择、交叉或基因重组、变异这三个基本步骤, 支持向量机在创立之初的检测过程中, 参数的选择都使用默认参数, 针对性不强, 识别准确率不高.遗传算法的并行处理和全局搜索能力使得对算法的参数进行优化运行时过程很短, 并能寻找出全局最优解.在MATLAB上用遗传算法对支持向量机模型进行参数优化选取, 最终结果如图 2所示.结果显示:终止代数为199, 种群数量为20;最佳参数C=12.689 6, g=208.120 5, 交叉验证精度为71.818 2%.
粒子群(particle swarm optimization, PSO)算法是一种新型群体智能算法.相比于遗传算法, 该算法概念易懂, 计算量小.粒子群算法的适应度值由被优化函数决定, 该值是评价粒子优劣的标准.适应度值w越大, 算法越偏向全局搜索; 适应值度w越小, 算法越偏向局部搜索.在迭代过程中, 适应值度w线性递减, 兼顾全局搜索和局部搜索两方面, 达到参数寻优的目的.图 3为粒子群算法的适应度曲线, 其中c1=1.5, c2=1.7, 终止代数为200, 种群数量为20;最佳参数C=61.144 4, g= 12.699 8, 交叉验证精度为76.363 6%.
使用三种方法寻找到的参数建立支持向量机模型, 将训练得到的模型代入SVM-train函数, 对测试样本进行识别, 识别结果如表 3所示.
表 3的数据表明, 三种方法的训练精度水平接近, 从训练时间上来看, 网格搜索算法速度最快, 遗传算法和粒子群算法速度都比较慢;而在模型的识别效果方面, 网格搜索算法和粒子群算法都较精确, 遗传算法的测试精度和训练精度相差较大, 说明遗传算法的结果不够稳定, 推广能力不如网格搜索算法和粒子群算法.粒子群算法的训练精度和测试精度相差最小, 说明粒子群算法稳定性好, 推广能力强.综上, 在利用支持向量机(SVM)建立财务欺诈模型上, 粒子群算法优于另外两种算法.
3 结语本文以上市公司的面板数据为研究数据, 选取了上市公司欺诈公司样本和配对公司样本, 选择合适的指标, 通过T独立样本检验降维, 然后将得到的指标数据归一化后建立SVM模型.通过网格搜索算法、遗传算法和粒子群算法分别得到最优参数并建立SVM模型.
实证结果表明, 三种算法中, 粒子群算法有较好的识别准确率, 同时, 粒子群算法的泛化能力也很强.综上, 粒子群算法在对财务欺诈识别上具有很实用的价值.但是粒子群算法也存在不足, 这种方法在运行时明显需要更长的时间.
在下一步研究中, 可以在提高算法运行的效率上进一步探索, 提高模型的实用性.此外, 对SVM的研究可以从基础模型衍生出更多模型, 比如参数选择上交叉利用蜂群算法等新算法;最后, 是对SVM基本模型的改进, 比如非平行平面的支持向量机、Fisher改进SVM、最小二乘SVM等.对SVM模型的综合改进是现行研究的主要趋势.
[1] |
Persons O S.
Using financial statement data to identify factors associated with fraudulent financial reporting[J]. Applied Business Research, 1995, 11(3): 38–46.
|
[2] |
Cecchini M, Aytug H, Koehler G J, et al.
Detecting management fraud in public companies[J]. Management Science, 2010, 56(7): 1146–1160.
DOI:10.1287/mnsc.1100.1174 |
[3] |
宋新平, 丁永生, 张革夫.
集成分类法在财务欺诈风险识别中的应用[J]. 计算机工程与应用, 2008, 44(34): 226–230.
( Song Xin-ping, Ding Yong-sheng, Zhang Ge-fu. Application of integrated classification method in identifying risk of fraudulent financial report[J]. Computer Engineering and Applications, 2008, 44(34): 226–230. DOI:10.3778/j.issn.1002-8331.2008.34.069 ) |
[4] |
Vapnik V N.
The nature of statistical learning theory[M]. Berlin: Springer-Verlag, 1995: 1-50.
|
[5] |
Hsu C W, Chang C C, Lin C J.A practical guide to support vector classification[R]. Taibei: University of National Taiwan, 2003: 1-12.
|
[6] |
Huang C L, Wang C J.
A GA-based feature selection and parameters optimization for support vector machine[J]. Expert Systems with Applications, 2006, 31(2): 231–240.
|
[7] |
Zhang K, Li C, Wang Y, et al.
Collaborative support vector machine for malware detection[J]. Procedia Computer Science, 2017, 108: 1682–1691.
DOI:10.1016/j.procs.2017.05.063 |
[8] |
Tomar D, Agarwal S.
Twin support vector machine:a review from 2007 to 2014[J]. Egyptian Informatics Journal, 2015, 16(1): 55–69.
DOI:10.1016/j.eij.2014.12.003 |
[9] |
Bamakan S M H, Wang H D, Ravasan A Z.
Parameters optimization for nonparallel support vector machine by particle swarm optimization[J]. Procedia Computer Science, 2016, 91: 482–491.
DOI:10.1016/j.procs.2016.07.125 |
[10] |
陈建飞, 蒋刚, 杨剑锋.
改进ABC-SVM的参数优化及应用[J]. 机械设计与制造, 2016, 52(1): 24–28.
( Chen Jian-fei, Jiang Gang, Yang Jian-feng. Improved ABC-SVM parameter optimization and application[J]. Machinery Design and Manufacture, 2016, 52(1): 24–28. DOI:10.3969/j.issn.1001-3997.2016.01.007 ) |