基于支持向量机的企业财务风险预警系统设计
2018-08-21曹纳
曹纳
(陕西财经职业技术学院,咸阳 712000)
0 引言
支持向量机(SVM)是一种基于VC维理论以及结构风险最小化等统计学习理论的学习方法,具有坚实的理论基础。支持向量机(SVM)主要是通过对特定样本信息模型的复杂性以及学习能力进行考察,寻求出两者间的最优关系,从而准确地对输出进行预测。就目前实际应用情况而言,对于一些具有较大难度的应用,支持向量机(SVM)表现出了令人满意的性能以及出众的推广能力,但是在财务决策支持领域尚未普及应用。有鉴于此,本文重点针对支持向量机(SVM)如何有效应用于财务决策支持领域的问题展开探究,从分类的层面提出基于支持向量机的企业财务风险预警系统设计方案。
1 系统角色分析
本文中首先构建财务风险预警模型系统,然后在应用过程中以添加系统用户信息的方式,将其中各个实体的相关信息录入财务风险预警模型系统,以此实现财务预警分析以及分析结果查询。本文以某上市企业为例,该企业的财务风险预警模型系统具体角色,如图1所示。
图1 系统角色分析
从图1中可以看到,该财务风险预警模型系统的实体包括领导、财务部门、IT管理部门以及其他授权部门,当上述实体的用户进行登录系统的操作后,系统后台将抽取该用户的基本信息数据,同时对该用户的权限进行验证。因此,用户在成功登录该财务风险预警模型系统后,仅能在权限范围内进行操作。其中各实体的用户权限分别为:领导具有添加用户信息、录入财务风险预警模型数据、财务预警分析以及分析结果查询等权限;财务部门具有录入财务风险预警模型数据、财务预警分析以及分析结果查询等权限;IT管理部门具有添加用户基本信息的权限;而其他授权部门仅有分析结果查询的权限。
2 系统设计
2.1 整体架构设计
在该系统的整体架构搭建方面,本文采用B/S+MVC架构模式。即引入B/S的三层架构思想,让用户通过网页即可完成对不同企业财务风险的预警分析,进而为本企业的财务风险预警提供借鉴。同时,在具体的技术架构搭建方面,本系统采用MVC架构。基本结构,则如图2所示。
在以上的结构中,用户通过视图发出访问请求,然后通过控制器的逻辑分配,将功能请求发送给模型,在模型中拥有不同的业务程序,而最后模型通过接口与数据层交互,最终将结果通过JSP页面的方式返回给视图。在预警分析系统中,运用B/S+MVC模型对系统进行设计,主要存在以下几点优势:一是访问方便和快捷,不需要安装客户端;二是逻辑清晰,能保证该系统更加稳定运行。由此,结合以上分析,本文将该系统的整体架构体系设计,如图3所示。
图2 MVC结构
图3 系统整体架构设计
2.2 功能模块设计
在上文所述的系统角色和架构设计的基础上,本文进一步以上市企业财务预警分析为例,对财务风险预警模型系统的功能进行设计。该系统需要实现的功能主要包括添加用户基本信息、预警模型数据输入、预警分析以及分析结果查询等功能,如图4所示。
图4 系统功能设计
在图4中,预警模型数据输入主要负责对基本财务指标数据的录入,进而为后续的分析提供基础;预警分析主要包括财务预警分析模型,通过SVM对风险进行分类,并展示分析的结果。
3 基于支持向量机(SVM)的财务预警模型
从本质上来看,财务预警即企业财务正常运转的影响因素到财务预警判别的空间映射问题。据此,若将企业财务正常运转的影响因素作为特征向量,其数量设为m(m>3),设财务预警判别为n(n>1),则企业财务预警可看作m维到n维的映射问题。在此基础上,若以企业财务正常运转的影响因素的个数m作为支持向量机(SVM)的输出值,以财务预警判别n为输出值,在m维欧氏空间Rm中有一个有界子集A,存在一个到n维欧氏空间Rm中一个有界子集的映射,即式(1)。
F:A⊂Rm→Rn,y=F(X)
(1)
训练集A=(X,Y)经过学习后得到优化近似映射G,由此可得式(2)。
yj=G(xi)i=1,2,…,m
(2)
综上所述,支持向量机(SVM)的输入向量可设为财务预警指标X=(x1,x2,…,Xm),输出则为预警结果Y=(y1,y2,…,yn)。以典型财务数据特征度作为训练样本,对财务预警指标X=(x1,x2,…,Xm)进行训练,得出各输入向量所对应的输出向量值,以此现输入空间到输出空间的高度非线性映射。该映射即基于支持向量机(SVM)的财务预警模型。
3.1 支持向量机(SVM)样本数据和财务预警评价指标的选择
3.1.1 指标选取原则
本文通过参阅相关文献以及财政部所颁布的相关指标体系,同时结合当前各上市企业的客观情况,最终确定了以下指标选取原则:
第一,可操作原则。从投资者的角度来看,实际上有部分指标的相关数据获取难度较大,造成指标体系无法发挥实际作用,使财务预警成为空谈。因此出于保障财务预警实际应用效果的目的,本文在选取指标时注重数据的获取难度,对于难以获得数据的指标不予考虑,从而为财务预警提供有效的数据支持。
第二,预测性原则。预测企业未来经面临的财务风险是财务预警的重要职能,有鉴于此,本文在进行指标选取时遵循预测性原则。
第三,全面性原则。企业所面临的财务风险往往是由多个影响因素共同作用下而导致的,仅凭单一指标来对其进行预测显然是不可行的。因此,在选取指标时必须遵循全面性原则,以此构建能够全面反映企业财务状况的指标体系,其中所纳入的各个指标之间应当彼此互补,从而使该指标体系能够客观并且准确全面地反映和评估企业的财务风险。
第四,可比性原则。可比性原则是指所选择的指标在范围及算法方面具有纵向和横向的可比性。其中,纵向可比性针对不同时间点的相同对象,而横向可比性则针对在相同时间点的不同对象。
第五,科学性原则。企业出现财务风险必然有其原因,对此,本文在选取指标时遵循科学性原则,使构建的指标体系能够对企业出现财务风险的原因进行合理分析和描述。
3.1.2 指标体系选择
本文根据上文所归纳的几点指标选取原则,同时结合某证券网站数据中心的综合财务指标表,最终选取并确定了财务指标,如表1所示。
3.2 基于支持向量机(SVM)的财务预警构建
由于财务预警本质上是一个非线性问题,因此可以采用非线性变换的方法将其转化为某高维空间中的线性问题,以此在变换空间求最优分类面。引入松弛变量ξi(ξi≥ 0, =1,2,…,n),使超平面wTx+b=0 满足式(3)。
yi=(wTxi+b)≥1-ξi
(3)
当0<ξi<1时样本点仍旧被正确分类,而当ξi≥1时样本点被错分。对此,可以引入以下目标函数,如式(4)。
(4)
式(4)中,C为一个正常数,即惩罚因子。此时支持向量机(SVM)可以通过二次规划(对偶规划)来实现,如式(5)。
(5)
核函数选择RBF径向函数,如式(6)。
(6)
4 系统实现
4.1 系统开发工具
要实现上述的功能模块,本文以J2ee作为开发体系,以Mysql作为数据库,同时为让该系统稳定运行,采用EJB容器对应用程序进行封装,从而提高应用程序的安全性。在服务器方面,选择Tomact 6.5,操作系统则选择WIN 7 下进行开发。
表1 财务指标
4.2 登录模块实现
根据功能模块的设计,不同实体用户在登录本系统时,系统后台对用户信息进行验证,并在通过审核后根据角色判断用户的具体权限,从而跳转至对应的系统主界面。具体登录流程设计,如图3所示。
图3 登录流程模块设计
4.3 财务预警实现
财务预警模型是本文所设计的企业财务风险预警系统中的关键模块,实现的具体过程,如图4所示。
要实现对企业财务风险的分析,首先要选取训练样本和测试样本,比如以上市公司中的石化企业作为分析的主要对象,就石化类企业的财务风险进行预警分析。在选择上述样本后,调取以上企业的财务数据指标,根据数据预警输入中输入的相关指标数据,并结合本文构建的模型对样本进行训练,最后将风险分析的结果通过界面展示给用户。
图4 财务预警模块实现流程
5 部分界面展示
为验证上述的结果,以电子通信行业为例,对企业的财务风险进行预警,从而可以得到的界面,如图5所示。
图5 财务预警结果展示
6 总结
通过以上的设计看出,在财务风险预警中,借助SVM模型对财务进行预警分析,可以很好的对企业财务风险进行分类,进而为企业的财务管理提供参考。但是,本系统在设计中,只重点对财务分析模块进行分析,而在财务分析的前期,需要对上市公司的财务数据指标进行预处理,并构建数据仓库,以此才能更好的得到其财务数据。而这也是本系统下一步的研究重点。