朱宇龍 劉森 袁陽春 張君 陳灝生



摘 要:隨著信息技術的發展,企業業務系統日益完善,積累了大量的企業數據資產,而機器學習等新興技術的出現,為處理海量數據帶來了可能性,也為非現場審計提供了技術基礎。應用機器學習技術創建相應的非現場審計模型,能夠有效地提高審計工作的效率,擴寬審計覆蓋面,并為加強審計監督提供了新途徑。本文介紹了應用樸素貝葉斯和K-means聚類兩種機器學習算法構建的非現場審計模型的原理及實踐經驗。
關鍵詞:機器學習;非現場審計;樸素貝葉斯;K-means
應用機器學習相關算法構建審計模型輔助非現場審計,是近年來大數據審計工作的發展趨勢。在企業數據平臺的基礎之上,審計業務人員和數據分析人員緊密協作,運用統計分析、數據挖掘等工具,開展以業務數據為基礎的非現場審計模型的構建工作,從而更加有效的完成審計目標。
一、應用機器學習技術在數據中臺的基礎之上構建審計業務中臺
(一)審計業務中臺
大數據時代,企業的發展伴隨著企業業務的多元化,各大企業也都致力于企業的數字化轉型。企業數據中臺是為了解決業務數據孤島問題,統一數據治理和數據資產管理,以達到技術降本、應用提效、業務賦能的目標;企業數據中臺是企業的數據樞紐,是橫向跨專業、縱向跨層級的各類企業數據資源匯聚中心、數據資產轉化中心、數據價值發掘中心,是企業數字化轉型的重要支撐。審計業務中臺是以大數據分析、人工智能等作為技術支撐,在企業數據中臺的基礎上,直接面向審計對象構建審計模型,識別評估企業風險,輔助審計人員梳理審計線索,圈定審計重點,實現從“大海撈針”式的隨機抽樣審計到依托審計模型的“精準撒網”式審計的轉變,拓展審計的寬度、高度、深度,提升審計效率和質量。
(二)非現場審計
非現場審計是為一個或多個審計對象提供綜合審計數據分析建模服務。通常可以面向全域的業務對象,具有一定大數據特征,是一個典型的數據應用和數據價值發現場景。若采用傳統現場審計作業方式同時對多個審計對象開展審計業務,不僅對人員的需求量大,而且審計項目實施過程中辨別風險、分析問題的工作量也很大,甚至在審計工作成果匯總階段,會存在不同對象審計定性不一致的風險,若采用基于機器學習的非現場審計,則可通過結合歷史審計經驗,構建審計數學模型,在全量數據的基礎之上,統一運行,并根據模型結果識別審計問題,能夠顯著提高審計覆蓋面和審計效率。當前非現場審計模型的構建主要依托于資深審計業務人員的審計策略,并基于國家法律法規和企業規章制度識別審計規則,運用機器學習算法構建數學模型,達到識別數據異常點的目標,為審計工作提供線索,審計人員再通過線索查找不合規的異常情況。
二、非現場審計工作的開展方式
機器學習在非現場審計工作中的應用主要分為分為五個步驟:審計需求分析、審計模型設計、審計數據準備、審計模型開發、審計應用。從技術架構上看,非現場審計依托企業數據中臺,運用統計分析、數據挖掘、機器學習、自助可視化等工具構建審計業務中臺,推進非現場審計工作。
技術架構圖如下圖所示:
(一)審計需求分析
為了發揮出高質量數據的審計價值,必須充分考慮實際審計項目的應用需求,才能有效地為審計現場提供有力的支撐。在進行需求梳理過程中,主要由各單位審計部門通過研討會、現場摸底調查和電話訪談等方式對審計應用現狀開展需求調研工作,主要調研目前各業務數據歸集情況、數據分析應用情況、數據范圍、應用范圍、功能需求范圍等。
(二)審計模型設計
根據審計工作流程和研究的業務領域,將模型設計工作分為五部分:算法初選、數據樣例設計、訓練方案、評價體系、應用界面設計。算法初選主要根據需求分析結果初步進行算法選取,基本明確建模范圍;根據需求分析結果進行樣例設計,作為數據樣例和實際應用數據的采集準備依據;訓練方案是指在系統提供數據樣例的基礎上,應用機器學習進行數據處理和算法分析;評價體系是對機器學習訓練成果進行多維度的評價方案,選取最合適的機器學習算法公式;應用界面是審計模型的成果展示界面,應用界面設計側重于面向審計業務人員的人機交互行為習慣,提供簡單明了的數據圖標展示和模型結果數據導出功能。
(三)審計數據準備
數據準備工作指從原始業務數據到形成最終數據集的所有操作,主要包含數據的收集、清洗和轉換工作。在審計需求分析和審計模型設計的基礎之上,明確數據準備范圍,然后進行數據清洗和轉換操作,在數據準備階段通常要處理的數據問題有:數據的不唯一性、格式上不統一、非法值、特征依賴、缺失值、錯誤拼寫等。數據準備任務可能要進行多次、沒有規定的固定順序,整體花費時間占整體建模工作50%到80%的時間。
(四)審計數據建模
審計模型開發包含模型訓練、模型質量評估和模型部署三個子環節,模型訓練通常依托存量數據,進行算法的選擇和參數的調優;模型質量評估是針對算法的執行結果和實際情況進行比對,得到模型的準確度等評估指標,只有通過質量評估且執行效率高的模型,才具有模型部署應用的價值。模型部署是指將模型部署到正式環境,進行常態化的運營,按需或定時輸出模型結果。
(五)審計應用
非現場審計模型可以應用在兩種場景下:場景一,業務驅動的審計項目實施場景,審計部門結合開展的審計項目,將成熟的模型直接應用到審計現場,輔助縮小審計范圍,提高審計效率。場景二,數據驅動的常態化的日常監控場景,隨著審計模型構建的越來越完善,模型的精準度也逐步提高,不僅擴寬了數字化審計的覆蓋面,也大幅度提高了審計的質量和效率,即可在審計模型的基礎之上開展常態化的審計監控工作,進一步提高審計部門快速識別企業風險的能力。
三、實證研究
(一)基于樸素貝葉斯算法下的資產異常識別
企業的資產管理業務系統包含大量資產數據,包括資產類別、使用保管人、資產變動、資產狀態、資產折舊值等。依據資產部門的日常運維工作和歷史審計經驗可識別出四類資產異常:資產歸類異常、資產管理異常、資產數據完整性異常和資產數據準確性異常。本實例運用樸素貝葉斯算法,通過數據收集、特征值提取、分區訓練和質量評估等步驟,準確識別資產異常情況,輔助資產域的審計工作。
1.數據收集及特征值屬性選取
取某待審計公司建筑業務資產數據作為樣本量,總計12萬左右,有覆蓋性和普遍性,現分為以下四大類資產異常,特征值與選取標準詳見下表:
資產異常特征描述特征值選取資產歸類異常資產描述與類別不匹配資產編碼、資產類別、資產狀態、數量、計量單位
資產管理異常管理要求未執行資產類別、使用保管人、數量、資產變動方式資產數據完整性異常關鍵資產屬性數據為空資產描述、數量、計量單位、資產原值、累計折舊、使用年限資產數據準確性異常資產數據不準確資產類別、資產原值、賬面凈值、累積折舊額
經過綜合分析確定11個特征值并分為兩類:①離散型變量,即不以數據體現,需要文字描述部分,包括資產類別、資產描述、資產變動方式、資產狀態、計量單位、使用保管人等;②連續型變量:可從以數字區間取值且有連續性,包括數量、使用年限、資產原值、賬面凈值、累計折舊額。
2.數據清洗
通過設置公式篩選將無意義、不成立的等式進行剔除,因為此類數據可直接反映資產數據異常,可直接作為異常結果處理,例如資產原值≤0、累計折舊<0、賬面凈值<0、資產原值—累計折舊額—賬面凈值<0等無財務意義的數據,清洗后留存數據量為82891個樣本。
3.數據替代
由于機器學習模型無法分析語義,因此在離散型變量必須采用可識別的數據替代這些文本描述類型,例如資產狀態如果分為①待報廢②報廢③在運④退運⑤未投運⑥庫存備用⑦現場留用,即可以實現數字代換。這種分類只能體現靜態狀態,不能分析其成因,但可以反映其異常并引起注意,具有分析價值。
4.區分訓練集與測試集
數據分為58023個訓練集(70%樣本量)和24867個測試集(30%樣本量)(測試集計99470條數據),進行訓練模型和評價模型的反復演算。
實驗數據:
利用貝葉斯分類器進行訓練,根據條件概率p(yi|x)的大小判斷待分類項:
5.模型質量評估
利用樸素貝葉斯算法進行建模與預測分析,預測結果如下:
識別率=(13282+42008/13282+5570+5453+42008)×100%=83.3773167%
通過計算發現,準確率與樣本數量有關,樣本數量越多,準確率越高,此外樣本的選取特征還可以進一步擴大其關聯關系,并對連續型變量作進一步采樣區分特征屬性,可以略微提高樸素貝葉斯模型的準確率。
(二)運用K-means聚類算法識別企業財務報銷費用異常
企業的財務報銷數據量巨大,通常有差旅費、住宿費、會議費等,形式多種多樣,且非常零碎,在審計工作中,財務審計占比非常高,如果采用人工的方式核查,抽樣率較低,且效果不佳,本實例運用K-means算法進行報銷費用的聚類分析,并識別各類別群體的特征,重點分析離群數據,輔助發現報銷費用的異常情況,分析過程如下:
1.數據抽取
選擇分析觀察窗口,抽取觀察窗口內的全部人員報銷明細,對于后續新增的人員報銷信息,以后續新增的新的時間點作為結束時間,采用上述同樣的方法進行抽取,形成增量數據。
從報銷系統數據庫中抽取n個人員的分析觀察窗口下的全部報銷數據,共計r條記錄,其中包括acc_no、register_from、real_name、報銷日期、報銷次數、異常時間存在報銷次數、觀察期內報銷總金額、觀察期內報銷總筆數、報銷金額、報銷筆數、異常時間報銷金額、異常時間報銷筆數等屬性。
2.數據探索分析
對數據進行缺失值及異常值分析,分析數據的規律及異常值,查找各屬性的空值個數、最小值、最大值,根據箱型圖觀察報銷金額的異常情況。
原始數據中數據屬性太多,選擇與指標相關的屬性,刪除與其不相關、弱相關或冗余的屬性,例如:acc_no、register_from、real_name等屬性。
3.數據變換
需要通過原始數據來進行屬性構造,具體的計算方式如下:
(1)無報銷天數占比=無報銷天數/觀察期天數;
(2)異常報銷天數占報銷天數比=異常時間存在報銷天數/觀察期天數;
(3)異常時間段報銷金額占比=異常時間報銷金額/觀察期內報銷總金額;
(4)異常時間段報銷筆數占比=異常時間報銷筆數/觀察期內報銷總筆數;
(5)單筆為100倍數占比=報銷金額單筆額度為100的倍數的筆數/觀察期內報銷總筆數;
(6)單筆金額額度異常的占比=單筆金額在該用戶的報銷金額范圍中是異常的筆數/觀察期內報銷總筆數。
6個指標的數據提取后,對每個指標數據的分布情況進行分析,并對數據進行標準化處理。
4.模型構建
模型主要有兩部分組成,第一部分根據人員報銷數據的6個指標數據,對人員進行聚類分群。第二部分結合業務對每個人員群進行特征分析,分析其報銷特點,并對人員群進行排名。
5.聚類特征分析
利用K-means聚類算法進行建模與預測分析,預測結果如下:
采用k-means對人員報銷數據進行分群,可通過如下手肘法來確定K的取值,在K=4時,出現肘點,因此K=4,分成4類。
分群1特點:該類人員無報銷天數占比在95%以上占比較大,異常時間段報銷情況基本不存在,且報銷金額也較少,異常單筆金額筆數也較少,可以認為該類人員為不活躍人員。
分群2特點:該類人員無報銷天數占比在75%以上,且報銷金額占比在50%左右,而單筆報銷金額存在異常的筆數占比在3%~8%,存在異常金額報銷情況。
分群3特點:該類人員無報銷天數占比在75%以上,且報銷金額占比在50%左右,而單筆報銷金額存在異常的筆數占比低于10%占多數,存在異常金額報銷情況。將該人員分為報銷比重較大人員。
分群4特點:該類人員無報銷天數占比在25%以下及60%以上占比較大,且有90%以上的報銷天數都存在異常時間段報銷;在異常時間段的報銷金額占比為50%,異常時間段的報銷筆數占比在40%占比較大,而單筆報銷金額存在異常的筆數占比低于15%占多數,存在異常金額報銷情況。將該人員作為重點觀察人員。
四、機器學習在非現場審計中的前景展望
(一)機器學習方法用于提升數字化審計能力前景
從上文的機器學習模型建立情況來看,證明在非現場審計領域中,使用機器學習方法構建審計模型,能夠解決非現場審計工作的三個主要問題:①人工查證;②規則查證;③審計疑點識別;而且機器學習方法所建立的數學模型在此類數據工作方面能夠實現經驗留存,具有較強的推廣性。
應用機器學習方法建立數學模型技術,能夠促進被審查對象提供清晰、有效的審計原始數據,更為直接地體現審計工作中隱藏的財務風險,有效地避免被審計對象數據作假,規范審計過程。除此以外,基于數字化審計得出的審計結果有樣本性與研究價值,對同類數據的后續參考借鑒意義較客觀。
(二)機器學習方法在審計工作中應用現存問題
目前機器學習方法建立數學模型技術遇到的最大問題就是如何解釋其中的邏輯和推理的客觀性問題,因為只有基礎分類屬于人工決策的內容,常常被認為是黑盒模型,向非專業的工作人員或決策者們解釋起來很困難,他們很難理解模型是怎樣工作并做出決定的,因此在模型設計的邏輯判斷標準上要本著國家會計制度的基礎原則,增加非現場審計機器學習模型的可信度,絕不能因為第三方的客觀要求而背離審計基本原則,使模型喪失基本計算性能和準確性。
五、結語
機器學習技術為非現場審計模型應用實踐帶來了機會,復雜且難以人為識別的模型算法可以通過機器學習技術進行訓練,從而擴大非現場審計模型的容量。在審計實踐中,機器學習技術是需要在深入業務需求分析的基礎上結合多種算法和分析工具進行綜合的應用。基于機器學習的非現場審計模型的應用,顯著降低了現場審計人員的投入、提高審計效率、擴大了審計對象范圍,有效推動了審計方式的進步。
參考文獻:
[1]呂勁松,等.基于數據挖掘的商業銀行對公信貸資產質量審計研究[J].金融研究,2016,(07).
[2]王會金,陳偉.非現場審計的實現方法研究[J].審計與經濟研究,2005,(05).
[3]易仁萍,王昊,朱玉全.基于數據挖掘的審計模型框架[J].中國審計,2003,(03).