当前位置:首页 期刊杂志

基于并行随机森林的审计大数据疑点预测∗

时间:2024-05-04

卢利娟 余从容 梁东贵 张伟政

(广州供电局有限公司 广州 510000)

1 引言

随着电网企业信息化部署的完善以及业务系统和信息系统的逐步上线,电力企业产生的电子数据比以往更多,审计数据呈海量化的增长,存储规模从GB级增长到TB甚至PB级,形成审计大数据库[1]。面对海量以及快速增长以及包含结构化、半结构化以及非结构化等结构类型繁多复杂的审计大数据,如何对其进行可靠存储、高效管理和快速分析,充分发挥大数据在发现数据证据方面的全覆盖优势,是当前重要的研究课题。

国家层面已愈发重视电力企业审计[2],对于审计业务部门,如何制定科学、有效的审计项目和审计计划成为审计部门工作的重点。以往审计计划的制定主要依据过往审计经验、国家政策关注重点、审计单位关注重点等[3],缺乏客观有效的、科学的数据支撑。而基于被审计单位各类已经发生的审计问题的历史积累数据,探索未来某类审计问题可能性以及该类审计问题出现频次的预测方法,以指导业务人员展开审计工作,既能发挥审计大数据全覆盖优势,又使得根据预测制定的审计计划更具有客观科学的数据支持,因而对于电力企业数据审计具有重要意义。

为此,在研究已有大数据相关技术的基础上,建立一种基于Hadoop集群的电力企业审计大数据管理方案,利用Hadoop集群搭建数据存储平台,将各电力企业散的子系统中产生和存储数据进行整合并存储,在此基础上,以审计疑点概率作为目标变量,提出基于并行改进随机森林的审计大数据审计疑点发生概率预测方法,为审计计划的制定提供数据支撑,采用不同规模的大数据集对算法进行实验,实验结果验证了算法的有效性。

2 基于Hadoop的分析平台构建

2.1 大数据分析平台

针对电力企业各不同的子系统产生的海量且结构异构的审计大数据,如何构建同一规范表达的模型以实现数据整合是亟需解决的问题。为此,在进行大数据审计疑点预测前,在云计算[4]基础上,结合审计大数据管理与分析的实际需求,利用Hadoop构建如图1所示审计大数据管理平台,平台由应用层、云计算数据处理层和管理层三部分组成,存储系统由HDFS、HBase与Hive建立,大数据的分析处理则由MapReduce和Spark并行计算框架完成。

2.2 数据管理层

数据管理层主要将电网异构数据整合至平台以高效管理,文中使用第三方Sqoop和Datanucleus工具进行操作,sqoop工具将电力子系统的结构类型各异的数据整合到Hive与Hbase中[5],Datanucleus工具的按列存储操作能力,将在线产生的数据写入到HBase中,抽取整合流程如图2所示。

2.3 云计算数据处理层与应用层

云计算处理层主要完成对审计大数据的存储及挖掘、预测等计算功能,其由Hadoop搭建。

根据已有大数据存储方面的研究[6~9],文中数据存储在HDFS分布式文件系统中,考虑到审计数据的保密性和安全性,利用Hbase数据库的高性能和现代密码技术优势,将存储系统的密钥与密文管理相分离。采用MapReduce[10]并行计算模型完成大数据的并行批量计算,而Spark内存并行计算模型则完成密集型数据的迭代。Spark弥补了Hadoop在快速迭代上的速率不足。Spark内存并行计算框架将所需数据读入内存,在内存中完成所需数据的查询,从而比MapReduce的基于磁盘数据访问速度快的多,提高运行效率并减少不必要的IO操作。

应用层主要在去计算数据处理层功能基础上为电力企业各部门提供功能接口。

3 并行随机森林审计疑点预测

3.1 审计疑点发生概率预测

审计疑点预测为审计计划的制定提供科学有效的数据支撑。目前,决策树在传统预测中应用广泛[11~12],且取得较好的研究成果,但其在大数据审计疑点预测中还存在内存需求大、影响随机因素多等不足,无法满足大数据下审计疑点预测要求。随机森林算法[13]是多决策树集成方法,决策树由Bagging理论和Ho随机子空间理论[14]得到,最终结果为各树结果综合,具有良好的并行扩展,适于文中快速疑点预测。

3.2 随机森林算法原理

算法是由一系列分配有独立的样本训练集TS的分类回归树组成的,其中独立训练样本集根据Bagging算法抽取,且与总样本集等规模,而内部节点则是由Ho理论选取的随机属性子集构成,从而形成树群,最终结果为各树结果投票或平均得到,图3所示为单树训练流程。

图3可以看出,单树构造主要根据属性子集进行分支,然后在子树上重复执行划分过程,直到满足停止生长条件。

图3 随机森林算法单树训练

Gini指数度量节点的不纯性,适于算法中分类树的构建,其计算式为[13]

式中:t为节点属性,p(j/t)表示 j类目标在当前节点比例。最小二乘偏差适于算法中回归树构建,节点t拟合后,其误差表示为

式中nt为节点数据实例数,kt为实例数据目标值均值kt=(∑yi)/nt,节点t最小二乘偏差标准为使式(3)最大

式中SL=∑DiLyi,SR=∑DiRyi,s为属性值。

3.3 并行随机森林审计疑点预测

集成学习思想为随机森林算法实现并行化处理的基础,但其并不仅仅是K个树模型的简单组合,Bagging有放回的抽样,使得训练样本集中约有37%的数据差异[15],且构建过程独立,确保了训练过程数据的并行化,从而提高模型生成的速率,而随机子空间方法在进行节点属性测试时,随机抽取避免了所有属性的读入和过度拟合。基于此文中提出了基于MapReduce的并行改进随机森林算法对审计计大数据进行审计疑点预测。改进算法在训练阶段由3个MapReduce作业类前后依次完成数据字典生成、决策树生成、随机森林形成,训练后的模型保存在Hadoop分布式集群中。

数据字典生成即为对训练样本描述其条件和决策属性,并形成一个记录条件属性类型和决策属性位置以及最终模型属性的描述文件。数据字典生成过程由第一个MapReduce完成,其一个Map过程完成一部分数据的读取,并完成描述文件的生成,描述文件在Hadoop中以以key/value的的数据模式保存到HDFS中,用于后续的MapReduce调用。

决策树生成是算法并行改进的核心部分,其并行实现过程由以下几个方面组成。

1)Bagging并行抽取Dataset集中原数据集的k样本子集,TS1,TS2,…,TSK,由于采用有放回,所以并行抽样不会对训练子集TSi产生影响,且子集与原数据集同规模,这样保证训练子集的差异又不会改变原数据集的知识规模。

2)每个训练子集中,根据其属性数M 计算随机子空间属性子集大小m (m≪M),即节点的随机属性个数,根据已有研究,对于随机森林模型为分类模型,则取中m为M的方根,而为回归模型时,取其为M的1/3。然后计算属性的信息量,并根据最佳属性进行分支。

3)递归运算完成节点的建立,进而生成所需的决策树,递归过程如表1所示。

表1 决策树生成的map伪代码

Map程序可实现一个决策树生成,K个树并行生成。并行决策树生成在第二个MapRaduce中实现,该过程仅进行Map过程而无Raduce过程。

图4 并行随机森林审计疑点预测流程图

第三个MapRaduce过程主要根据生成的K个决策树形成最终的随机森林决策。使用并行随机森林算法进行审计疑点发生概率预测的过程如图4所示。模型依托Hadoop分布式集群实现审计大数据的分布式存储,依托MapReduce进行并行化优化,从而充分发挥Hadoop集群在审计大数据上的存储与高效计算能力完成审计数据的挖掘和预测,有效提高审计疑点发生概率预测的精度和大数据处理能力。

4 实验及分析

为验证算法的有效性,构建了由40台PC机组成的实验平台,每台计算机配置为Inter(R)Core™i5-3470 CPU@3.2 GHz,8.00 GB内存。平台中一台作为主节点,对所有资源进行分配与调度以及管理文件系统,其他为数据节点,完成存储和预测运算。分布在各独立电力企业子系统中的审计数据通过开源Sqoop工具迁移到Hadoop集群。

采用某电力企业2013-2017年度审计数据进行实验,审计问题划分为15类,如图5所示。总共192020条风险统计数据,去重复和异常处理后,最终整理成6000条记录,抽样其中1300条记录作为测试集合。

实验分两部分,首先将实验数据人为扩充到大数据规模,取50次运行结果的平均值;其次根据未来审计问题的存在与否与往年是否发现类似问题以及其发现的频数有关,将各类别的审计问题历史数据按照时间(年)维度进行排序,将最近一年的审计问题发生的频数作为目标变量,也就是2017年的审计问题发生的频数作为目标变量,其余年份的作为分析字段进行预测比较,从而检测算法预测精确性。

图5 审计数据类别分布图

4.1 算法运行速率比较实验

从图6所示的结果为本文算法与传统随机森林算法在不同规模审计大数据集下的实验结果,可以看出,在数据规模较少时时,两种算法的预测时间相近,且传统方法略有时间优势,这主要是因为并行数据分块及节点间通讯代价影响到预测速度;但随着样本规模增大,文中算法的时间优势越来越显示,迭代预测所需的时间远少于传统方法。

图6 两种算法不同数据集规模预测所需时间

4.2 算法预测精度比较实验

如图7所示为文中并行算法与传统决策树算法在往年审计问题数据统计基础上,以2017年审计问题发生频数作为疑点进行预测结果,预测结果仍是多次实验后的平均值。可以看出,文中算法审计疑点预测要比传统方法更精确,这主要是因为文中并行改进算法通过通过若干有放回的随机抽样生成的决策树进行预测,既保留了决策树的优点又克服其一些缺陷,表现出更好的预测性能。

图7 两种算法审计疑点预测结果

以式(4)平均相对误差来评价15类审计问题发生概率预测的结果,多次实验结果的平均值得到,文中并行随机森林算法的平均相对误差1.43%,而决策树平均相对识别为2.12%,说明文中算法的预测精度略优于决策树。

式中Yi与yi分别为审计问题概率真值与预测值。综合以上两个实验结果可以看出,文中并行随机森林算法在运行速度和预测精度上都取得了较好的实验结果,说明文中算法适于审计大数据下审计疑点发生概率预测,可为审计计划的制定提供数据支撑。

5 结语

为使审计计划的制定具有科学的数据支撑,在审计大数据背景下,提出基于并行改进随机森林算法的审计疑点发生概率预测算法。首先建立基于Hadoop的电力企业审计大数据管理方案,将各电网子系统采集到的异构审计数据整合并存储,在此基础上,实现基于三层MapRaduce的并行化改进随机森林算法预测审计疑点发生概率,以满足大数据对算法运行效率的要求。实测数据对比实验验证了算法的有效性。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!