王晨陽



【摘 要】 大數據時代的海量信息對審計工作的強度和技術性提出了更高的要求,如何對審計數據進行分析,是審計人員面臨的挑戰。文章以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.