基于决策树算法的审计数据分析研究
王晨阳
【摘 要】 大数据时代的海量信息对审计工作的强度和技术性提出了更高的要求,如何对审计数据进行分析,是审计人员面临的挑战。文章以Weka分析软件作为实验平台,分别应用决策树分类算法中典型的ID3算法和C4.5算法,以UCI数据库中的Balloons数据集为例进行分类算法预测功能的阐述,并结合实例,提出决策树算法在审计中的有效应用。随后探讨了审计数据分析的发展趋势:云计算审计应用;开源机器学习算法融入审计;云安全审计;非结构化数据文本挖掘审计;特高压、新能源汽车充电桩、5G网络、大数据中心、人工智能等为代表的新基建数据挖掘应用等。
【关键词】 数据挖掘; 决策树; 审计数据分析; Weka软件
【中图分类号】 F239.1 ?【文献标识码】 A ?【文章编号】 1004-5937(2020)13-0139-05
一、引言
如今,我们正处于大数据的时代,面对数量庞大、内容和存储方式多种多样的信息资产,审计工作者需要使用全新的处理模式才能够更加迅速地进行数据分析,高效地发现更多有价值的审计线索。大数据时代海量数据的不断增加,一方面给审计工作提供了更加坚实的基础,另一方面,对审计工作的强度和技术都提出了更高的要求。如何运用日益增长的数据?如何运用更多的模型和算法为审计服务?这些问题都将成为审计部门以及审计人员面临的挑战。
处理大数据最为实用的审计方法之一就是发掘型分析审计。发掘型分析是指用户通过对大量数据的分析研究,从中找出隐藏的规律,从而对数据或行为未来的趋势进行预测的一种数据分析模式[1]。而要想实现发掘型分析,目前最为有效的手段就是数据挖掘技术。数据挖掘一共有四类比较常用的分析方法,分别是聚簇分析、分类分析、序列分析和关联分析,而决策树则是最常见的分类方法。我们将数据进行分类主要是为了根据每组数据不同的属性将它们归类到不同的分组中,分析每个分组中各类数据的不同属性,找出符合该数据属性的模型,再建立相对应的模型对已有的数据进行分析以及对新数据未来的趋势进行预测。
本研究简要介绍了决策树算法及决策树算法分类模型实例,讨论了该算法在审计中的应用,探讨了数据挖掘技术在对审计数据进行分析的过程中应用程度的发展趋势。
二、决策树算法简介
决策树,是一种跟多叉树很相似的树型结构,又称判定树,主要对数据的离散或连续属性进行分析并進行建模及预测[2]。决策树是按照从上到下依次进行分类的方法构造的模型,从最基础的训练元组集以及与之相关的类标号进行分类,训练数据集随着决策树模型的构建,以递归的方式被分成了几个小的子集。决策树内部的每一个结点都代表了利用其某个属性进行相关的试验,而从结点衍生出的每一个分支则意为在该试验基础上的属性结果的输出,每一个叶结点代表的是所存储的一个类标号的信息。其基本思想是:如果训练样本集中的所有样本都属于同一种类型,那么便将这个样本集作为一个叶结点,且标识为该类;如果不是,那么就先根据某种方法确定一个属性进行测试,按照测试出的不同的值把整个样本集划分为多个子集,形成内部结点,这样就能够保证在同一个子集上,不同的样本能具有相同的属性值。接着反复处理各个子集,直到得到满意或满足条件的分类属性即停止。最后,在所有的样本中间,信息量最大的属性成为根结点,而中间结点则是以此结点作为树根的分支中所包括的样本中信息量最大的那一个属性[2]。
决策树算法可以针对不同类别的因变量,从多个不同的预测变量中,预测出其中单个变量的未来趋势的变化。目前决策树的算法有很多种,本文采用的是其中最经典的两种算法——ID3算法和C4.5算法。
三、设计思路与方案概述
(一)实验基本方案
1.建立模型,描述预定数据分类集和概念集。假设每一个元组都归于一个预先定义好的类,通过类标号属性进行判定。在典型情况下,学习模型可以通过判定树、分类规则或者数学公式的方法建立[3]。
2.使用模型,对将来的或未知的对象进行分类。将每一个测试实例的学习模型类和已知的类标号进行比较,在分析对比的基础上合理预测相关信息。学习模型在预先已给测试数据集上的正确率等于准确被模型进行分类的实例数占测试实例总数的百分比。测试数据集必须具有独立性,一定要避免产生“过分适应数据”的不良情况。
实验以Weka软件作为实践平台对数据进行挖掘处理,分别对ID3算法、C4.5算法的分析预测性能进行总结评价。
(二)实验步骤
1.数据准备。使用对不同的试验条件做出T/F判断的数据集Balloons.arff,数据集包含4个属性,分别是Color、Size、Act、Age共76个实例,如表1所示。
取“Balloons.arff”文件的76条数据中前50条数据作为训练数据集,另存为文件“Balloons-train”,取后26条数据作为测试数据集,另存为文件“Balloons-test”。
2.训练过程。打开Weka软件,用“Explorer”打开训练集,观察训练集是否已按照要求进行处理。切换到“Classify”选项卡的“ID3”或“J48”选项,看左中的“Test Option”。为确保生成模型的准确性而不至于出现过拟合(overfitting)的现象,有必要采用10折交叉验证(10-fold cross validation)来选择和评估模型[4],点击“Start”按钮生成Bayes模型。该模型关于误差或分析等结果将在“Classifier output”中生成展示。
3.测试过程。必须保证训练数据集及待测数据集中各属性的设置相同,在“Test Opion”中选择“Supplied test set”作为测试文件,观察预测的结果以及混淆矩阵。
四、分类模型的建立
(一)ID3算法
1.ID3算法的描述与实验过程
ID3算法是数据挖掘决策树分类算法中最为基础及影响深刻的,它主要用于解决属性选择方面的相关问题。ID3算法的主要思想是在每一次分裂之前用给定算法计算得出一个分裂属性,并按照该属性划分训练数据集,得到一些子集,从而形成若干个“树枝”。ID3算法的最终目的是能够得到一个规模最小的决策树。信息增益是ID3算法中极其重要的数据量,选择具有最高信息增益的属性作为分裂属性,可以促使结果分区对元组分类所需要的信息量达到可选范围内最小,得出的结果最为准确。
(5)重复步骤4,依次对outlook的overcast分支、rain分支建立子树,最后得到能够对未知类标号的样本进行合理预测的决策树。
(6)利用已得到的决策树对类标号未知的样本进行合理预测。
基于ID3算法得到的Balloons数据集的分析结果如图1所示。
由分析结果可知,该模型正确率为76%。原本应该是T的实例,有15个判断正确,9个判断错误;原本应该是F的实例,有23个判断正确,3个判断错误。实例总数=15+9+23+3=50。
得到的决策树如图2所示。
该模型的精度可通过改进算法进一步提高,之后可利用得到的决策树对测试数据集进行验证。
2.ID3算法的总结
ID3算法是一种自上而下、贪婪的遍历方法,其核心是在每一次分裂之前用给定算法计算得出一个分裂属性,并按照该属性划分训练数据集,最终构建与训练数据集一致的决策树。ID3算法的优点在于算法简单易懂,便于实践操作。缺点在于算法对于待处理的数据有局限性,只能处理分类数据而不能处理连续性数据;算法会由于对测试子集的划分规模过小导致统计特征缺乏,分类过程中止;算法中使用信息增益作为决策树结点属性选择的标准,因此决策树算法的选择可能具有多分支的属性,可能出现“过分适应数据”的不良情况,弱化分类意义,对决策不提供有效支持。
(二)C4.5算法
1.C4.5算法简介
C4.5是基于ID3算法的改进版本,选择信息增益率作为确定决策树结点属性的标准。C4.5算法克服了ID3算法中可能出现“过分适应数据”的情况,并能够对连续属性数据进行处理。C4.5中采用后剪枝的方法对树的结点进行修剪,有效应对决策树分类学习过程的过度拟合问题。应用C4.5算法时,首先选择具有最高信息增益率的屬性作为分裂属性,可以有效地降低偏袒概率。
2.C4.5算法的总结
C4.5算法的优点:(1)决策树方法结构简单,便于理解;(2)决策树模型使用效率高,非常适用于训练数据集数据量大的情况;(3)决策树一般不必接受外部知识;(4)决策树方法的分类精确度较高;(5)对ID3算法进行改进,能够对连续值、不完整值进行处理,对树进行剪枝,避免过拟合问题的出现。
C4.5算法的缺点:(1)处理连续属性比较耗时;(2)对训练实例数据质量要求较高,算法不够稳定,精度不够高。
五、决策树算法应用于审计数据分析
在计算机数据审计中,分类是对各类数据按照一定规则和特质分为不同类别,并根据不同类别采用适合的审计策略[5]。决策树算法对于审计而言最重要的意义之一在于提取海量数据中的规则,并预测数据记录的真实性,应用时一般遵循以下步骤:第一,将待分析数据随机分为两组,一组为测试数据集(如上文中实例的26条测试数据集),另一组为训练数据集(如上文中实例的50条训练数据集);第二,选择适当的决策树分类算法(如上文中实例的Weka软件中的ID3算法),利用训练数据集来创建数据挖掘模型;第三,利用创建的模型对测试数据集的分类真实性进行预测,得出预测结果与实际情况不一样的记录;第四,通过对决策树算法改进的研究(如上文中实例的Weka软件中的C4.5等优化算法),优化算法思想,最终得出改进后的结果,和原有结果进行对比并评估其准确率;第五,若存在预测结果与实际情况不一样的记录,则可认为可疑数据,作为异常情况处理,进行深入审计分析调查[6]。
基于分类算法的特点,待分析数据集各属性之间应当存在与区分类别有关的逻辑关联关系,例如工程项目物料供应商分类中区分合格供应商和不合格供应商,数据表中供应商的推荐单位、营业执照规定的经营范围、企业资质类别及等级、财务状况等属性间应当存在判定合格与否的规则关系,审计人员在对数据进行清洗、转换等预处理操作后,应用分类算法,建立分类模型,对原始数据进行分析,筛选出与分类模型不相适应的数据记录,确定审计疑点做进一步查证,对疑似不合格供应商的交易往来记录重点审计。
在审计实践中,面对业务数据较多、不同业务系统使用率高的客户单位,审计人员必须考虑审计的时间限制和审计结果的风险程度。对数据进行预处理时,我们需要考虑如何提高数据的准确度以及怎样提高挖掘分析的速度,采用合适的统计数据和处理方法。我们通常使用的分类方法有统计方法和决策树分类法等等。运用这些不同的分类方法可以很大程度上减小审计所带来的工作量,降低其带来的审计风险[5]。
随着大数据的出现以及数据挖掘技术的不断进步,审计信息化的进程得到了大幅的提升,对审计工作来说,大数据技术并不仅仅是一种技术手段,更是为审计全覆盖的实现提供了最基本的技术支持[7]。
六、结论与展望
利用决策树分类算法可以有效地对数据信息进行分类预测。ID3算法使用自上而下的贪婪搜索对所有可能的决策树控空间进行遍历,算法简单易懂,便于学习实践,是其他决策树分类算法的基础,该算法可达到局部最优的效果,然而不一定全局最优。当属性取值很多时最好优先考虑C4.5算法,C4.5算法将信息增益改为信息增益比,以解决偏向取值较多的属性问题,从而反馈以较为合理准确的分析预测结果,另外它可以处理连续型属性。
数据挖掘技术在审计中的应用在快速发展,它的应用还存在一些局限性,例如被审单位数据质量存在严重问题、利用数据挖掘技术进行审计取证的成本问题、专业技术人员素质要求等。尽管如此,在全面信息化的外部环境要求下,为有效发挥审计风险预警和防范功能,审计人员必须充分利用被审计单位的电子数据,借助数据挖掘技术对被审计单位的海量数据进行分析,获得审计线索,发现审计疑点,提高审计效率和效果,有效控制审计风险[8]。计算机审计已显示出传统审计方法无法比拟的巨大优势,数据挖掘技术应用的广阔前景是不容忽视的。审计署“十三五”规划指出,我国将推进大数据为核心的审计信息化建设,到2020年实现对经济社会各类主要信息数据的全归集。大数据给新时代审计带来前所未有的挑战,审计人员如何将结构化数据与非结构化数据相融合,如何在PB量级数据中快速而精准地提取有价值的信息,如何习惯并熟练获取及处理非结构化数据,这些都是“大数据驱动的审计”中亟待解决的难题,未来数据挖掘技术将成为审计方法创新的重要内容[9]。
除了决策树分类算法外,聚类和深度学习等机器学习算法在审计中的应用也在不断探索中。其中一个趋势是将开源的R和Python等算法不断融入审计应用中,开源软件由于其开源特性,成本低,具有开放性,各种新算法可以不断拓展和融入。特别是爬虫算法等新算法对非结构化、异构数据的支持,将数据挖掘的审计应用程度带入新的阶段。另一个趋势是依托大公司大平台的产品进行审计应用,比如SAS统计软件数据挖掘分析,Tabular的可视化数据分析,阿里云、华为云、腾讯云、微软Azure云机器学习工具,亚马逊AWS云计算工具等等。大型软件公司的软件产品稳定,又有强大的研发背景和实力,还有可靠的客户服务支持等优势,前途不可限量。但随着以云技术为支持与多源大数据相融合的政务服务云建设等的开始,云服务同时面临着严峻的安全问题,大数据泄露、外部侵袭以及技术漏洞等诸多风险将逐渐常见,基于風险导向模式开展政务云安全审计也将逐步提上日程[10]。
另外,文本挖掘对采集的非结构化原始审计数据进行挖掘,并且根据明确的审计需求建立不同的文本挖掘模型,从而发现审计疑点,形成审计证据和审计线索也是一个趋势,而且文本挖掘可以结合非结构化的数据和非结构化数据库NoSQL或Hbase分布式存储系统和HDFS分布式文件系统,生成文本摘要,并进行分类和关联分析[11]。
在数据挖掘的行业应用方面,基础数据的质量和行业需求驱动力将是不同行业的差别关键所在。金融行业中银行保险证券的数据质量极高、投入大,其数据挖掘审计应用将走在各行业前列。中国经济发展的三驾马车是投资、消费和出口,消费数据分析,比如信用卡消费数据挖掘分析等将异军突起;投资依然是拉动中国经济发展和保就业的重要动力,特别是以特高压、新能源汽车充电桩、5G网络、大数据中心、人工智能、公共卫生等为代表的新基建。而其中的电力能源服务行业投资工程,基础数据质量好,前期积累多,数据挖掘审计应用也将大跨步发展,走在各大型央企前列。
【参考文献】
[1] 应里孟.数据式审计常用的数据分析方法[J].中国农业会计,2011(9):14-15.
[2] 陶帅.基于决策树算法的保障房审计分类规则研究[D].郑州:华北水利水电大学硕士学位论文,2017.
[3] 李梅.基于决策树的中职学生体质测试成绩分析研究[D].兰州:西北师范大学硕士学位论文,2018.
[4] 张莹.基于决策树的网络学院学生学业影响因素研究[D].开封:河南大学硕士学位论文,2013.
[5] 陈丹萍.数据挖掘技术在现代审计中的运用研究[J].南京审计学院学报,2009,6(2):57-61.
[6] 张成.数据挖掘技术在金融审计中的研究与应用[D].合肥:安徽大学硕士学位论文,2014.
[7] 刘国常,胡枫.大数据助推政府审计全覆盖路径研究[J].会计之友,2018(18):98-101.
[8] 胡珊珊.数据挖掘技术在现代审计中的应用研究[J].老区建设,2015(8):44-45.
[9] 刘国城,陈正升.大数据审计的发展态势、总体策划与流程分析[J].会计之友,2019(8):30-35.
[10] 王会金,刘国城.大数据时代政务云安全风险估计及其审计运行研究[J].审计与经济研究,2018(5):1-11.
[11] 张志恒,成雪娇.大数据环境下基于文本挖掘的审计数据分析框架[J].会计之友,2017(16):117-120.