[摘 要] 本文從距離孤立點數據挖掘相關概念出發,討論了歐式距離挖掘方法在審計中的實現過程,并以某一公司應收賬款明細表為例,使用Excel中的VBA編程實現了該挖掘方法,通過該方法幫助審計人員快速確認了應收賬款重點審計的交易事項,提高了審計效率#65377;
[關鍵詞] 孤立點挖掘;歐式距離;審計專業性分析;VBA編程
[中圖分類號]F239.1[文獻標識碼]A[文章編號]1673-0194(2008)13-0048-03
1 引 言
數據挖掘(Data Mining)自從20世紀90年代中期引起人們的廣泛興趣以來,便得到了迅猛的發展#65377;數據挖掘是從大量數據中發現正確的#65380;新穎的#65380;潛在有用的并能夠被理解的知識或規則的過程#65377;一般來說,數據挖掘可以分成如下4類:類別的判定;類別的描述;相關#65380;依賴關系的發現;孤立點的數據挖掘(Outlier Mining)#65377;孤立點數據挖掘問題是數據挖掘的重要研究領域之一,它用于發現數據集中小部分的數據對象,這些對象和數據中的一般行為或數據模式有著顯著的不同#65377;它在實際生活中已經有了相當的應用,如金融#65380;通信領域的欺詐分析與監測#65380;網絡入侵監測#65380;消費極高或極低客戶的消費習慣#65380;過程控制中的故障檢測與診斷等#65377;孤立點數據挖掘方法在審計中的應用也有其重要意義,它有助于揭示審計數據中隱藏的有價值的知識,并能輔助審計人員為得出審計結論#65380;出具合理保證的審計報告獲取充分#65380;適當的審計證據#65377;
2 基于距離孤立點挖掘的相關概念
孤立點又稱為離群點#65380;野點,到目前為止,孤立點還沒有一個被普遍采納的定義,Hawkins在專業應用領域較早對孤立點進行了描述:“孤立點與其他點如此不同,以至于讓人懷疑它們是由另外一個不同的機制產生的”#65377;現有的孤立點在數據挖掘方面的定義大多是在Hawkins定義的基礎上給出的一個定量化描述#65377;
基于距離孤立點最早是由Knorr和Ng提出:孤立點為數據集中與大多數點之間的距離都大于某個閾值的點,描述為在數據集X中,當且僅當X中至少有r部分的對象與O距離大于設定的rO時,O是一個孤立點#65377;基于距離孤立點的挖掘方法不同于基于統計的方法,即使在不知道數據集分布的情況下,它仍然能夠有效地發現孤立點#65377;另外,基于距離孤立點的挖掘方法能處理任何維度任意類型的數據,當屬性數據為區間標度等非數值屬性時,對象之間的距離不能直接確定,但只要把屬性轉換為數值型,再按照定義計算各對象之間的距離便可#65377;同時,這種方法具有比較直觀的意義,算法比較容易理解#65377;
孤立點挖掘定義:應用數據挖掘的理論和方法發展數據集中的孤立點,即用于發現數據集中不同于數據中的一般行為或數據模式的小部分對象,這小部分對象與一般行為對象有著顯著不同#65377;
基于加權歐式距離在審計中孤立點挖掘:通過企業信息系統收集到的原始數據,對原始數據用標準差進行標準化后計算數據集中的n個對象兩兩之間的加權歐式距離dij,形成加權歐式距離矩陣D,再根據dij與d0設定的關系轉化成等價轉換矩陣R,然后計算矩陣R中每個對象與其他對象距離大于d0的個數ri,并與設定的最大個數r0比較,如果ri >r0,則認為對象Xi是孤立點,否則不是孤立點#65377;
3 距離孤立點挖掘方法在審計中的實現過程
被審計單位的交易#65380;余額等審計相關信息大量存儲于ERP#65380;MRPⅡ和CAIS等信息系統中,審計人員通過系統自帶的數據導出功能將需要數據引出,存儲在定指計算機數據庫上#65377;審計人員通過對這些數據執行孤立點挖掘程序實現孤立點挖掘,找出這些與一般行為有顯著不同的孤立點,從而確認為審計重點,實施審計程序后獲取審計證據#65377;
第一步 數值型數據的標準化
原始數據集中的數據通常有特定的單位,不同的單位度量會對距離的計算結果產生影響#65377;所以,在計算距離之前,應先對數據進行標準化,用標準化后的數據計算距離#65377;本文使用標準差標準化方法,得到分布在標準區間內的屬性值,方便數據的使用#65377;進行標準化的目的是為了防止具有較大值域的屬性與具有較小值域的屬性相比對度量的結果產生過大的影響#65377;標準化的情況如下:
設X={Xi | Xi=(xi1,xi2,…,xij,…,xim),i=1,2,…,n; j=1,2,…,m}是待進行孤立點數據挖掘的數據集合,Xi表示第i個對象,共有n個對象;Xij表示第i個對象的第j個屬性值,共有m個屬性#65377;
令Xj,Rj和Sj分別表示第j個屬性的均值#65380;平均絕對偏差和標準差,即:
第六步 孤立點的審計專業性分析與判斷
孤立點應該作為審計重點,但并不是所有的孤立點都是由于錯誤引起的#65377;孤立點數據來源于兩類:第一類是錯誤的數據,這種錯誤可能是由于會計記錄或相關記錄的操縱#65380;偽造或篡改,會計政策和會計估計的故意無用等舞弊行為導致的錯誤,也可能是由于員工的非故意行為引起的,如輸入數據的錯誤#65377;第二類是交易或事項正常性質的反映,可能是固有的數據變異性的結果,如某一公司總經理的工資,自然遠遠高于公司其他雇員的工資,就可能成為一個孤立點#65377;由于存在這兩類的孤立點數據來源,對于挖掘到的孤立點并不能直接形成審計證據,審計人員應該對孤立點進行專業性的分析判斷,決定應采取重新計算#65380;審閱#65380;盤存和函證等哪一種進一步的審計程序,從而為審計人員提出審計結論#65380;出具審計報告獲取充分#65380;適當的審計證據,同時提高了審計工作效率和效果#65377;
4 案例應用與分析
本案例以從某通信技術公司用友NC系統中導出Excel格式的2006年度(1月1日至12月31日)應收賬款明細為例,利用加權歐式距離挖掘孤立點方法對應收賬款各交易是否存在異常變動進行分析#65377;應收賬款明細表包括13個屬性列,本案例中只對借方發生額進行孤立點挖掘分析,確定應收賬款實質性測試中應抽查的交易事項,以獲取審計證據#65377;令d >10,r >100,通過Excel中的VBA編程實現如下:
Sub CommandButton1_click()
Dim i,j,n As Integer
Dim sum_x,sum_r,sum_s,aver_x,stand_s As Single
'以第三列“憑證號”計算非空單元格個數,將其賦值給n
n = Application.WorksheetFunction.CountA(Columns(3))
'計算第I列“借方金額”的均值(第一行為屬性行,因此循環從第二行開始)
aver_x = Application.WorksheetFunction.Average(Range(Cells(2, 9), Cells(n, 9)))
'計算標準差
Sum_s = 0
For j = 2 To n
Sum_s = (Sheets("sheet1").Cells(I, 9) - aver_x) ^ 2 + sum_s
Next
stand_s = Sqr(sum_s / (n - 1))
'將標準化數值賦值到第十五列對應單元格中
For j = 2 To n
Sheets("sheet1").Cells(j, 15).Value = (Sheets("sheet1").Cells(j, 9) - aver_x) / stand_s
Next
'歐式距離的計算及轉換成超過距離閾值d > 2個數r 的計算,將r 賦值到第十六列對應單元格中,將r >100的點確認為孤立點,并對該孤立點背景色以紅色標識
For i = 2 To n
Sum_r = 0
For j = 2 To n
If Sqr((Sheets("sheet1").Cells(i, 15) - Sheets("sheet1").Cells(j, 15)) ^ 2)>2 then
Sum_x= 1
Else
Sum_x = 0
End If
Sum_r = sum_r+ sum_x
Next
Sheets("sheet1").Cells(i, 16) = sum_r
If sum_r>100 then
Sheets("sheet1").Cells(i, 16). Interior.Color = RGB(255,0,0)
End If
Next
End Sub
通過運行上面的程序,共挖掘出的29個孤立點,分析發現這29個孤立點涉及的借方發生額都比較大,有可能造成嚴重的后果,因此對這29個孤立點進行實質性測試,包括從“憑證字號”出發查找相關的記賬憑證和原始憑證,并進行了函證等審計程序#65377;采取進一步審計程序的結果并沒有發現錯誤,這29個孤立點是正常交易或事項的結果,從而記入工作底稿,形成審計證據#65377;
5 結束語
基于距離孤立點的挖掘方法在審計中的應用有利于幫助審計人員發現異常的交易或事項,快速確定審計重點,提高審計效率#65377;由于孤立點挖掘方法在審計中的應用目前的研究還比較少,本文的研究還屬于初探和嘗試,還存在很多不足,進一步的研究還在繼續#65377;
主要參考文獻
[1] S D Bag,M Schwabacher. Mining Distance-Based Outliers in Near Linear Time with Randomization and a Simple Pruning Rule[C].In KDD’03:Proceedings of the 9th Acm SIGKDD International Con ference on Knouledge Discovery and Data Mining,New York:Acm Press,2003:29-38.
[2] Supatcharee Sirikulbadhana.Data Mining as a Financial Auditing Tool[D]. The Swedish School of Economica and Business Administration,2002.
[3]Knorr E,Ng R. Algorithms for Mining Distance-Based Outlier in Large Datasets[C]. In:Proc of the 24th International VLDB Conference,New York,1998:392-403.
[4] Knorr E,Ng R.Finding Intensional Knowledge of Distance-Based[C]. In:Proc of the 25th International VLDB Conference,Edinburgh,Scotland,1999.
[5] Barnett V,Lewis T.Outliers in Statistical Data[C]. New York:John WileySons,1994.
[6] 黃洪宇,林甲祥,陳崇成,等. 離群數據挖掘綜述[J]. 計算機應用研究,2006(8).
[7] 陳偉,劉思峰,邱廣華. 計算機審計中一種基于孤立點檢測的數據處理方法[J]. 商業研究,2006(17).
[8] 任佳,李建嶺. 孤立點檢測在零售業中的應用與研究[J]. 科技信息(科學教研),2007(11).
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”