本文摘要:本篇文章是由《 對外經貿 》發表的一篇電子經濟論文,傳對外經濟貿易方針政策,傳遞國內外市場信息,提供世界經濟貿易發展趨勢和貿易機會,探討研究對外貿易理論和外貿體制改革、傳授對外經濟貿易知識,交流經貿工作經驗。 [摘要] 本文針對計算機審計的現狀,提
本篇文章是由《對外經貿》發表的一篇電子經濟論文,傳對外經濟貿易方針政策,傳遞國內外市場信息,提供世界經濟貿易發展趨勢和貿易機會,探討研究對外貿易理論和外貿體制改革、傳授對外經濟貿易知識,交流經貿工作經驗。
[摘要] 本文針對計算機審計的現狀,提出了基于數據挖掘的審計數據分析流程,以及應用DBSCAN聚類算法查找審計證據的方法。
[關鍵詞] 計算機審計;數據挖掘;聚類算法;噪聲數據
隨著經濟和信息技術的不斷發展,許多企業開始引入了ERP等系統,這些系統使得企業的眾多活動數據可以實時記錄,形成了大量有關企業經營管理的數據倉庫。從這些海量數據中獲取有用的審計數據是目前計算機審計的一個應用。對于審計人員來說,如何從被審計單位的海量數據中找出全面、高質量的審計數據從而找出審計證據是一個難題。本文利用數據挖掘技術對此問題進行了探討并提出了解決的方法。
數據挖掘(Data Mining)指的是從大量的、不完全的、有噪聲的、模糊的、隨機的實際應用數據中提取出隱藏的、不為人知的卻潛在有用的信息和知識的過程[1]。事實上,實際應用數據的質量和存儲模式對于實施計算機審計并成功獲取審計證據非常重要。由于被審單位信息系統軟硬件平臺的異構性和可能存在的人為故意隱瞞、造假等,為保證計算機審計工作順利進行和審計結論的正確,對審計數據進行采集時必須對數據進行檢查、控制和分析。
1審計數據采集
審計數據采集指在開展計算機審計時從被審計單位的財務及業務信息系統及其他數據源獲得審計所需的電子數據并進行適當的格式轉換[3]。一般來說,計算機審計中數據采集的方法主要包括以下幾種:
(1)利用被審單位信息系統的數據導出功能。大多數的信息管理系統都提供了數據導出的功能,審計人員直接可以利用該功能導出企業財務數據完成數據的采集。
(2)利用通用的數據處理軟件完成數據采集。如Access、SQL Server等都具有較強大的數據導入導出功能和數據轉換功能。審計人員可以利用這些軟件完成數據的采集。如被審企業原始數據為文本格式可以轉換為數據庫表格格式。
(3)利用審計軟件完成數據采集。如國家從2002年開始建設的“金審工程”就以現場審計實施系統(AO)及審計辦公系統(OA)作為計算機輔助審計的工具。別外應用國內的企業財務審計軟件、審計數據采集分析軟件等都可以完成審計數據的采集。
(4)利用專用程序接口完成數據采集。當被審計單位提供的審計數據的數據結構與已有的審計數據處理軟件系統的數據結構差異較大時,可以在審計人員的協助下由專門的程序員開發接口程序,完成數據的采集,但成本相對較高。
2 數據清洗
利用數據挖掘對審計數據進行處理分類時,為了提高分類的準確性、高效性和可伸縮性,必須對數據庫進行預處理,包括:數據的清洗、相關性分析、數據轉換等。
文獻[4]中給出數據清洗的定義為:發現和消除數據中的錯誤和不一致來提高數據的質量。一般而言,審計數據庫中數據采集于異質操作數據庫,不可避免存在著數據的錯誤或不一致等問題,如數據造假、數據重復、數據缺失等錯誤。根據文獻[5]提出的審計數據質量特征,必須要對采集的原始數據進行清洗,即由“臟”變“干凈”,提高審計數據質量,這是保證審計結論正確的關鍵。
數據清洗的一般過程如圖2所示。
(1)數據分析:為了清洗出干凈的數據,必須對數據進行詳盡的分析,包括數據的格式類別等。比如采集來的財務數據的字段類型、寬度、含義等。
(2)模式轉換:模式轉換主要是指將源數據映射成目標數據模型,如屬性的轉換,字段的約束條件和數據庫中各個數據集之間的映射和轉換等。有時需要將多個數據表合并成一個二維表格,有時卻要將一個數據表拆分成多個二維表格以便于問題的解決。
(3)數據校驗:上一步的模式轉換可行否,需要進行評估測試,經過反復分析、設計、計算、分析才能更好地清洗數據。否則不經過數據校驗可能有些錯誤數據不是很明顯,不能被很好地篩選出來。比如模式轉換時將一個數據集分解成多個數據表的時候,造成父表的主關鍵字的值和子表外部關鍵字的值不一致,從而形成孤立記錄,影響審計人員審計證據的正確性,進而影響審計結論的正確性。
(4)數據回流:用“干凈”的數據替代原始數據源中的“臟”數據,避免下次數據采集時重做數據的清洗。
有時候數據的清洗需要反復進行,審計人員需要對采集到的電子數據進行多次清洗,這樣才能得到高質量的審計數據。
3 數據挖掘實現
經過數據預處理后的審計數據庫包含了多個數據集,每個數據集又包含了若干數據記錄或者稱為元組,如何從這些二維表格數據中挖掘出有意義的審計數據至關重要。本文介紹一種利用聚類算法進行審計數據挖掘的算法。
3.1 算法概述
3.1.1聚類算法
所謂聚類就是根據相似性對數據對象進行分組,發現數據的分布特征,使得每個聚類中數據有非常高的相似性而不同聚類中的數據盡可能不同[6]。它同分類的主要區別在于,分類事先知道所依據的數據特征,而聚類是要找到這個數據特征。作為數據挖掘的功能,聚類分析可以作為一個獲取數據分布情況、觀察每個類的特征和對特定類進行進一步獨立分析的工具;聚類也能夠有效處理噪聲數據,比如數據庫中普遍包含的孤立點、空缺或錯誤數據等。
聚類分析算法通常有5類[7]:①基于劃分的方法,如CLARANS;②基于層次的方法,如CURE和BIRCH;③基于密度的方法,如DBSCAN、OPTICS、GDBSCAN和DBRS;④基于網格的方法,如STING和WaveCluster;⑤基于模型的方法,如COBWEB。其中DBSCAN算法具有很好的過濾噪聲數據的優點。本文探討利用DBSCAN算法對審計數據進行處理,找出異常數據,查找出審計證據。
3.1.2 DBSCAN算法
DBSCAN算法的基本思想為[8]:對于同一個聚類中的每個對象,在給定的半徑d的鄰域中包含的對象不能少于某一個給定的最小數目MinPts(也稱密度)。
為了生存一個聚類,DBSCAN算法首先從數據集DB中選擇任意一個對象p,并查找數據集DB中關于半徑d的所有鄰域對象,如果這個鄰域對象的個數小于最小數目MinPts,則p為噪聲數據;否則p的鄰域對象形成一個初始聚類N,N中包含對象p及p直接密度可達的所有對象。然后確定該類中的每一個對象q是否為核心對象,若是,就將q的d—鄰域內尚未包含到N的所有對象追加到N中,并繼續判定新追加的對象是否為核心對象,如果是,重復上述追加過程,直到這個聚類不能再擴大為止。然后DBSCAN算法再在數據集DB中另選一個沒有被標識為某個聚類或者噪聲的對象,重復上面的操作,一直到數據集DB中的所有對象要么被標識為某個聚類、要么被標識為噪聲數據為止。
DBSCAN算法進行聚類的過程就是不斷執行數據集查詢比較的過程,最后產生的噪聲數據就是通常所說的異常數據,對于幫助審計人員進行審計判斷非常有效。圖3表示了二維平面坐標下的噪聲數據和若干聚類。
3.2數據模式定義
3.2.1項間的距離
設Ri和Rj是數據集DB中的任意兩條記錄即某兩個數據項,它們之間的距離定義為:
式中,Ri(Rix,Riy),Rj(Rjx,Rjy)表示數據集中兩個項Ri和Rj在二維空間的坐標點,因此dij表示Ri和Rj在二維空間坐標的距離。如果dij大于給定的值d,則表示Ri和Rj不屬于同一個聚類分組。
3.2.2審計數據預處理
數據挖掘時數據的選擇是在二維平面上進行的,首先選擇列(字段或屬性),再選擇行(記錄或元組)。為了能夠獲得有效的審計證據得出正確的審計結論,有時候必須對源數據集進行數據轉換。
因為各個企事業單位的規模不同,財務數據的數量級或者數量單位可能不同,為了得到更加科學可靠的聚類分析結果,需要對財務數據進行預處理,一般進行比例變換。如將x軸定義為某公司某月營業收入與利潤總額的比值,將y軸定義為財務費用與凈利潤的比值,這樣處理的數據能更好地反映該企業的實際情況。這里的財務數據預處理都是由用戶來定義的,可以根據不同的審計要求和審計目的來定義。
建立一個新的二維表格數據至少包含4個屬性項:記錄號,x軸數據,y軸數據,標記。其中記錄號保持對應源數據集DB中的記錄號, x坐標和y坐標即為經過比例變換后的數值,標記字段初始內容為空。
3.3算法描述及流程圖
給定一個計算機審計數據集,假設具有N個元組或者記錄,利用DBSCAN算法思想構造出L個分組(L
(1)每個分組至少包含MinPts個元組。
(2)每個分組中的任意兩個元組直接的距離小于等于給定的距離d。
(3)每個元組僅屬于一個分組。
圖4為實現審計數據挖掘的算法(稱為AUDBSCAN)的流程圖。
3.4 聚類算法的實現
算法:審計數據挖掘聚類算法(AUDBSCAN)
輸入:根據數據集DB產生的二維表格數據
//至少含有4個字段:rec 記錄號,rx x坐標數據,ry y坐標數據,rno 標記
轉載請注明來自發表學術論文網:http://www.zpfmc.com/jjlw/5987.html