专业提供一手好数据,每天每夜提取,质量非常...

基于数据挖掘技术的审计数据质量控制探析
林国勇 张莉(重庆市沙坪坝区审计局)
    【摘要】随着信息化的发展,被审计单位信息系统趋于多样性,数据来源多、种类杂,加上被审计单位可能有意更改、隐瞒数据真实情况等诸多影响因素,使得电子审计数据在真实性、完整性、一致性和有效性等方面难以满足审计工作对数据质量的要求。而利用数据挖掘技术可以实现对审计数据质量的控制,提升电子审计效率,增强电子审计证据的证明力,从而提高审计质量,降低审计风险。  【关键词】数据挖掘 审计数据质量 控制 应用    一、数据挖掘技术概述  数据挖掘,是指从存放在数据库、数据仓库或其他信息库中的大量不确定的、不完全的、模糊的、随机的实际应用数据中提取有效的、新颖的、潜在有用的、最终可理解的隐藏信息和知识的过程。它在传统的DBMS数据处理的基础上,通过对数据进行统计、分析、综合和推理等更深层次的处理,发现更多的知识和信息。    数据挖掘也是使用数学分析来从大型数据集中发现蕴涵的数据模式和规律(即“数据挖掘模型”)的过程,其基本步骤分六步:定义问题、准备数据、浏览数据、生产模型、浏览和验证模型、部署和更新模型。上述模型生成过程中,有4种常用的数据挖掘分析方法,即分类分析、聚簇分析、关联分析和序列分析。    二、数据挖掘技术顺应了审计数据质量控制的现实需要  审计人员的职责是从被审计单位提供的海量数据中获取有用的审计证据,并发表适当的审计意见。但是,随着信息化的发展,被审计单位信息系统趋于多样性,数据来源多、种类杂,数据格式不统一,信息表示代码化,加上被审计单位可能有意更改、隐瞒数据真实情况等诸多影响因素,审计获取的电子数据质量就很可能存在问题。评价审计数据质量主要有6个指标:准确性、完整性、一致性、唯一性、适时性和有效性。不完整、不正确或重复等有质量问题的审计数据,直接会给后续的审计分析工作带来障碍,降低审计效率,甚至影响审计证据的客观合理性。计算机审计的对象是数据,又不能简单抛弃有质量问题的数据,因为这些数据中有可能隐含着审计线索。因此,利用一定的技术手段对审计数据进行检查,对发现的数据质量问题进行分析,找出造成问题的原因并采取措施加以控制,就显得尤为重要。这也是审计信息化发展对我国电子审计技术方法和质量管理提出的新要求。    数据挖掘本身是一项通用的知识发现技术,它的应用适应了审计对象信息化的发展形势,它可以从庞大的数据库系统中提取更多有用的审计信息,并对大量原始数据进行审查和分析,从中寻找出一定的数据特征,发现可疑数据,控制审计数据质量,增强电子审计证据的证明力,从而提高电子审计的质量和效率,降低审计风险。    三、数据挖掘技术在审计数据质量控制中的应用  (一)数据挖掘分析方法在审计数据质量控制中的具体应用  将数据挖掘技术应用到审计数据质量控制上,主要是通过综合运用多种数据挖掘技术方法对审计数据进行处理, 最大限度地去除无用数据,提高分析速度,确保审计数据的真实性、一致性和完整性。下面主要从数据挖掘的常用分析方法及其在审计数据质量控制中的应用展开分析。    1.分类分析  分类的主要功能是根据数据的属性将数据分派到不同的组中。在实际应用中,需要运用一定的统计方法从数据库中选出已经分好类的样本数据库作为训练集,在该训练集上运用数据挖掘分类的技术建立分类模型,然后根据数据属性对没有分类的数据进行分类。比如,某医院将某一病种患者分为“高发人群”、“一般人群”和“低发人群”三类,各类患者有不同的属性和特点,如年龄、性别、职业、居住地区等。审计根据这些关键属性建立分类模型,将医院当年的患者进行分析,判断其属于哪一种类型,得出数据与医院当年收入结构进行对比分析,进一步判断医院当年收入数据的真实性和完整性。    2.聚簇分析  分类分析对数据是先分类,然后发现其特性。与其相反,聚类分析面对的是一组未明确分类的数据,其任务是根据一些聚簇规则(或数据的相似性)把数据按相似特征归成若干类,即“物以类聚”。它的基本要求是属于同一个类别的数据之间的相似性尽可能大,而不同类别数据之间的相似性尽可能小,从而发现数据的分布模式和数据属性间的规律,找出对全体数据的描述。实际应用中,我们可以通过将当年数据与往年数据比较、当年各月数据比较等,分析出被审计单位数据的真实性及准确性。    3.关联分析  关联分析的目的是发现隐藏在数据间的相互关系,通过挖掘发现一组数据项与另一组数据项的密切度或关系(关联规则置信度),并加以分析或利用,以实现对审计数据质量的验证。关联分析方法的应用可分两种情况:    一是对于关联规则明显的数据项,可通过建立简单模型加以验证。比如,选择一种折旧方法,建立“资产原值”、“入账日期”、“月折旧率”、“资产净值”和“累计折旧”之间的数学模型,然后将采集到的某单位固定资产信息引入,重新计算其固定资产折旧额并分析其合理性,以此来判断该单位固定资产信息提供的完整性和可靠性。    二是对于一些看起来不太相关的数据项,在挖掘后发现有较高的关联程度,就需要分析原因,可能会发现有价值的结论。比如,在比对某商业银行提供的贷款数据时发现,年龄在40岁以上的贷款人占30%,年龄在40岁以上的担保人占33%,二者无明显关联。经抽样比对,发现存在40岁以上贷款人身份证号码与40岁以上担保人身份证号码一致的情况,在此基础上,审计建立数据模型分析所有贷款人和担保人之间的关联性,发现15%的贷款人身份证号码出现在担保人身份证号码中,经审计进一步核实,部分为循环担保业务,即A、B互相担保,或A、B、C封闭式循环担保等,部分则为数据错误。    4.序列分析  关联分析发现数据项同时出现的规律,序列分析发现数据项出现的时间上或序列上的规律,从审计数据库中挖掘出被审计单位正常行为和异常行为的频繁序列模式,发现审计数据之间的前后( 因果) 联系。审计人员可以根据大量历史数据,对序列模式加以运用,以确认账簿数据的合理性和真实性,比如,对具有连续取值特征的凭证号进行断号、空号和重号情况检查;又如,在审核企业销售数据时,可利用序列模式对被审计单位的生产领料数据进行挖掘,通过一些频繁领料业务发生的时间序列模式表现出的统计特征来发现存在的异常现象。    (二)基于数据挖掘技术的审计数据质量控制具体实现路径  
  &  &图1 数据挖掘技术在审计数据质量控制中的具体实现路径    数据挖掘是在对数据全面而深刻认识的基础上,对数据内在和本质的高度抽象与概括,也是对数据的认识从感性到理性的升华。如图1所示,利用数据挖掘技术进行审计数据质量控制的具体实现路径可简述为:首先进行原始数据的采集;其次将采集到的原始审计数据进行预处理,目的是对数据进行初步清理、选择和并将其转换为数据挖掘算法能识别的格式;然后对转换后的数据执行数据挖掘,找出规律,建立模型;再对模型进行验证及运用,结合审计人员的职业判断,找出可疑数据; 最后提出切实可能的解决方案,实现审计数据质量的不断完善。    1.数据采集  审计数据采集是指按照审计目标,采用一定的工具和方法对被审计单位信息系统中的电子数据进行采集的过程。它是数据挖掘技术审计应用的前提和基础。审计数据的采集一般要满足2个条件: 一是采集的数据应符合审计模型的要求; 二是通过访谈、查看数据日志等充分了解被审计单位的信息系统及业务流程。通常,在进行数据采集前, 审计人员应结合本次审计工作方案中明确的审计目的、范围、内容及重点,结合审前调查了解到的被审计单位数据的来源和形式,以此来确定本次数据采集的范围、内容及重点。常用的数据采集策略有3种: 一是通过数据接口采集,如ODBC、ADO等;二是直接复制;三是通过备份文件恢复。    2.数据预处理  原始数据的预处理也是数据挖掘的数据准备阶段,它包括数据清理、数据选择和数据转换。  (1)数据清理。数据采集成功后,审计人员首先要对采集到的数据进行初步清理,排除遗漏、冗余、明显错误和采集失误等,所采取的方法有两类:一是技术性验证,如核对总记录数;二类是业务性验证,如检查借贷是否平衡,顺序码是否有断、重号,各明细科目年末总余额与相应总账科目余额是否一致等。  (2)数据选择和转换。在这一阶段,审计人员还要根据挖掘任务从合成的数据库中选择性地提取与挖掘有关的数据,并根据数据挖掘要求进行格式转换,如调整字段属性、宽度、含义等,要剔除数据结构中的干扰项目,使其能更直接地反映对应的经济业务,以便控制数据挖掘的准确性。    3.建立模型  模型建立与调整是数据挖掘过程的核心部分。针对准备好的审计数据,审计人员要按审计任务的所属类别,结合不同被审计单位的行业背景、业务特点和数据模式,运用关联规则发现、序列模式挖掘等不同数据挖掘技术方法,发现数据中隐藏的规律,确定将要进行的挖掘操作类型或模型并加以实现。在模型的建立过程中,还可用到图表、分类矩阵和利润图等辅助分析工具,如果模型是分类模型,可生成一个提升图,如果模型是估计模型,可生成一个散点图等。    4.模型验证  模型的建立是一个迭代循环过程。对建立好的模型要进行试用, 并由熟悉被审单位业务的审计人员对挖掘结果进行评价,如果挖掘结果不令人满意,可利用反馈机制对模型以及模型的输入参数取值等进行反复修正和完善,甚至还可以重新运用挖掘方法进行建模、分析,直到模型可以把每一次的分析结果清晰、准确、明了地表述给审计人员为止。    5.发现异常数据  数据挖掘不仅是一项应用技术,更是一个技术应用的过程。建立数据模型的目的是将其应用于对审计数据的分析,审计人员要根据这些特征向量模型或行为描述模型对被审计单位数据进行总体评价,判断和比较出审计数据在真实性、一致性和准确性等方面的质量状况,发现异常数据。    6.处理并完善  针对挖掘出的数据质量问题,审计人员要根据自己对审计项目的具体了解来逐一进行分析,判断其是否属于数据质量问题,属于可纠正类还是不可纠正类,对于可纠正的数据质量问题,要及时采取措施进行纠正,如手工完善或提请被审计单位人员加以改正等。其次,对重新获取的审计数据,审计人员还要利用关系模型、业务规则或抽样方法等进行再次核对,如检查空值、冗余、错误数据是否有效消除,利用已有的统计指标与纸质凭证、报表进行核对分析等,直到确定数据为不可再完善状态为止。    四、基于数据挖掘技术的审计数据质量控制应用策略探讨  尽管数据挖掘技术在一些行业已有成功的应用,在计算机审计领域优势也很明显,但在审计实践应用中尚处于初级阶段,究其原因无非两个:人的因素和环境的影响。要想更好地将数据挖掘技术应用于审计数据质量控制,以大幅提高工作效率和效果,就需要从以下几方面加以改进:    (一)优化硬件环境  重视硬件设施的建设,这是数据挖掘技术应用的基础性工作。数据挖掘需要有定存储量和运算能力的计算机,要有能提供信息传递和信息共享的畅通网络。目前,我国审计机关的信息化装备基本可以满足工作的需要,但各地情况参差不齐。条件好的地方可试点性探索一些“高、精、尖”设备,强大现场审计实施系统;条件差的地方应该根据自身的实际情况,构建适合的硬件解决方案,包括选择什么样的技术架构、进行服务器和客户端的配置等。这样既保证了数据收集、传递和处理的稳定性和可靠性,又为基于数据挖掘的审计数据分析提供了基础。    (二)树立新观念  近年来,计算机审计被大力推广,极大地提高了现场审计效率,发现和揭示了很多重大问题或风险隐患。但是,随着计算机审计技术应用的深入,审计人员感觉被审计单位提供的数据越来越“完善”了,可发现的审计线索越来越少,问题越来越隐蔽。    总结原因,一方面是由于审计环境发生了重大变化,另一方面,目前应用的工具和审计程序多是基于审计人员的经验和计算机查询技术相结合的方法进行处理的,易于发现个案,但对审计对象整体的情况缺乏全面把握,毕竟经验和知识是“有限的”,随着业务流程和信息技术的创新,审计人员的经验和业务技能进入“尾随”状态,审计模型相对于数据滞后,审计经验无法运用。    因此,从长远来看,要突破这种面对海量数据无从下手的境况,就必须变被动为主动,从传统的仅依靠经验和查询式数据分析技术的审计观念中走出,逐步养成利用数据挖掘等新技术来发掘潜藏问题和线索的习惯,以实现对审计对象整体情况的全面把握。    (三)正确运用数据挖掘技术,重视人才培养和开发  应用数据挖掘技术进行审计数据质量控制,对人员素质要求较高,不仅要求审计人员精通业务,能够解释业务对象,并根据各业务对象确定出用于数据定义和挖掘算法的业务需求,而且需要审计人员对数据挖掘技术和工具有较熟练的掌握,能正确选择和应用,把业务需求转化为数据挖掘的各步操作,最后对结果做出分析和评价。    随着计算机审计的大力提倡,虽然目前国家审计系统中的审计人员在计算机审计能力方面较之前大有提高,但还不能满足实际工作需要,特别是新兴技术创新发展的需要。因此,必须对审计人员实施专业培训,要重视审计人员后续教育,完善知识结构,学习新的管理、会计、统计知识和相关财务法律法规,要注重培养审计人员的创新思维。    同时,审计机关还要把好审计人员组合关,在实施每个项目前,科学合理配置审计组人员,要考虑审计人员的经验程度、计算机应用能力高低甚至年龄的大小等,尽量组成结构合理的审计小组,这对审计实施有重要意义。    (四)注重知识和经验的积累运用  审计人员还要将数据挖掘分析得到的知识集成到审计业务信息系统的组织结构中去,使审计人员能在随后的审计工作中组织和运用这些审计经验,借鉴以前的数据挖掘思路,以提高其数据分析能力和业务水平。    随着信息化的不断推进,被审计单位信息系统日趋成熟完善,审计人员要充分了解企业海量财务数据中蕴含的极其丰富的复杂信息,全面准确分析被审计单位的经济活动,仅仅依靠传统的数据检索查询机制和统计分析方法是非常困难的,必须探索和创新审计技术和方法。在审计系统中采用先进的数据挖掘技术,对被审计单位的海量数据进行分析判断,提高审计质量,控制审计风险,这也是现代化发展对审计事业提出的新思路和要求。    参考文献:  [1]李玲,刘汝焯.计算机数据审计.清华大学出版社,2010.  [2]周喜,曾丽.孤立点数据挖掘技术在审计信息化中的应用研究.南华大学学报(社会科学版),).  [3]孙良文.基于 Excel 的审计数据挖掘方法与路径研究.财会通讯,2011年4月.  [4]陈大峰,汪加才,韩冰青.基于离群数据挖掘的计算机审计,2010年2月.  [5]陈爱林,黄淑燕.基于审计数据质量控制的数据挖掘应用.财会审计,2009年3月.  [6]程广华.数据挖掘技术在商业银行内部审计中的应用研究.金融视角,2011年3月.  [7]陈丹萍.数据挖掘技术在现代审计中的运用研究. 南 京 审 计 学 院 学 报,2009年4月.  [8]韩金红.应用数据挖掘技术 提升财务分析质量.合作经济与科技,).
(本文内容仅为作者个人观点,不代表任何审计机关和本网站的观点,未经许可,不得转载)
政府信息公开
主办单位:中华人民共和国审计署办公厅  技术支持:审计署计算机技术中心
审计署总机:010-  网站电话:010-8
地址:北京市西城区展览路北露园一号(邮编:100830)
备案编号:京ICP备号  建议使用分辨率:在excel中,提取数据问题_百度知道比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
正确分析异常:如何让我们打一手好Log
关键字:Web
  如果项目上过线的话,那你一定知道Log是多么重要。
  为什么说Log重要呢?因为上线项目不允许你调试,你只能通过Log来分析问题。这时打一手好Log的重要性绝不亚于写一手好代码。项目出问题时,你要能拿出Log证明自己负责的部分没有问题,如果是自己的问题,要从Log里快速找出错误原因。如果没有从Log里找出错误原因,那一定是一件很悲催的事情,特别是在bug不容易重现的情况下。那简直就是叫天天不灵,叫地地不应啊。
  一.Log级别
  Log最常用的级别就是DEBUG,INFO,WARN,ERROR,其他的很少用。如何运用合适的Log级别也是非常重要的,在不该用ERROR的地方用了ERROR,可能会给你带来额外的麻烦。下边仅根据自己的使用习惯,分别说一下我对各种级别的理解。
  1.ERROR:
  ERROR是错误的意思,但不代表出现异常的地方就该打ERROR。我认为ERROR是相对程序正确运行来说的,如果出现了ERROR那就代表出问题了,开发人员必须要查一下原因,或许是程序问题,或许是环境问题,或许是理论上不该出错的地方出错了。总之,如果你觉得某个地方出问题时需要解决,就打ERROR,如果不需要解决就不要打ERROR。
  举例来说,如果有一个接口。调用者传过来的参数不在你的接受范围内,在这种情况下你不能打ERROR,因为传什么值是用户决定的,并不影响程序正确运行。想象一下,如果你的上有监控程序的话,检测到ERROR或WARN就报警,参数错误你也打ERROR,那运维人员会疯掉的。
  如果做一个对讲机,在解析语音数据包时出错了,那就要打ERROR了,因为这个是理论上不该出错的地方,要不就是你的解析代码有问题,要不就是开发人员在拼凑语音包时存在问题,这个时候需要你来找出问题的原因。所以应该打ERROR。
  2.WARN:
  WARN是指出现了不影响程序正确运行的问题,WARN也是问题但不影响程序正常运行,如果WARN出现的过于频繁或次数太多,那就代表你要检查一下程序或环境或依赖程序是否真的出问题了。
  假如你访问一个接口,设置了一个超时,超时之后会抛异常,你在try块里不该打ERROR也不该打INFO来无视它,这时你应该打WARN,紧紧是警告一下,如果超时过多那就该检查一下了,是不是对方接口有问题了或者是网络环境出问题了。
  3.INFO和DEBUG:
  ERROR和WARN是指有问题,而INFO和DEBUG就是指一般的信息了。在程序出问题时,如果这条log可以帮助你分析问题或查看程序的运行情况,那就应该打个INFO。如果仅仅是为了在调试阶段查看程序是否运行正确那就要打DEBUG。前边讨论的接口参数错误问题,就应该打个INFO了,调用者说你的接口总是返回错误代码,你可以告诉他,是他的哪个参数传错了。
  二.如何打
  1.log必备信息
  在每log中都要将时间、类名及函数名,可以的话将行号也打印出来(不建议手写行号),像java的log4j就是不错的。
  2.函数开始结束处
  在重要函数的开始结束出应该打上log ,这样在看log时会比较直观,什么时候开始什么时候结束就会一目了然,万一中间出异常导致程序退出了,也知道是在哪个函数突然中断的。也同样适用于一个重要逻辑块的开始结束。
  3.返回结果
  尽量在重要函数或web接口的每个返回分支打印返回结果。在出现不好分析的异常时,从细节下手,这时log会派上用场。如果跟合作方在数据方面出现争议也可以及时拿出证据。
  4.添加Exception异常的捕获
  如果你在代码中捕获了某种异常,那你要在try块后添加Exception的捕获,以防出现运行时异常中断程序。
  5.务必打印堆栈信息
  在异常捕获代码中务必要将堆栈信息打印出来,否则打了那么多的log可能会功亏一篑。
  6.多线程的log
  在多线程的程序中,log最好要标记thredId,否则可能不知道是哪个线程的作业,也无法有条理的来观察一个线程。
  7.成功失败标志
  如果某个函数是做一件比较关键的事情,那么这件事情成功还是失败了,要打印log,否则关键事件运行结果如何都拿不出证据的话,实在是不能让人信服。
  8.前后log的关系
  如果是web程序或接口,那log就不是按照你预定的顺序出现的,可能是好几个响应的log穿插在一起的。代码里如果有几条log前后存在一定的数据关系,那么要将这几条log的关联信息打出来,用来确定是针对同一个响应的。如果没有明确的标志,很难说后边的log跟前边的log是同一个响应或者是针对同一条数据。
  9.关于耗时
  访问一个第三方接口、上传下载文件等可能耗时的操作,都要记录完成这个操作所耗的时间。否则程序性能出了问题,你不知道是网络原因呢,还是你调用的第三方接口性能出现问题呢,还是你自己程序的问题呢。
  10.关于数量
  涉及到数量的操作要打印log,比如查询和批量拷贝文件、上传下载、批量格式转换等批量操作,设计到的数量要打印出来。
  总之,打log的目的是为了迅速排错或在有争议时拿出证据证明自己。基于这个目的,log不在多,只要抓住一切对自己有利的信息,就可以了。
  想起其他的再继续补充吧,欢迎大家拍砖补充。
  本人学识尚浅,写文目的是为了得到大家指点。 倘若文章帮到了您,那真是好极了。
[ 责任编辑:jj ]
HPE Octane为开发者和…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte专业提供一手好数据,每天提取,质量非常不错QQ:可试打_百度知道

我要回帖

更多关于 每天每夜 的文章

 

随机推荐