孫 景,張成虎,陳善新
(西安交通大學 經濟與金融學院,西安 710061)
基于時間序列孤立點檢測的可疑外匯資金交易識別研究
孫 景,張成虎,陳善新
(西安交通大學 經濟與金融學院,西安 710061)
盡管洗錢模式復雜多變,但洗錢行為在整個金融活動中只占有極少的比例,這給監測洗錢交易增加了難度。作為數據挖掘重要方法之一的孤立點分析是在大數據集中發現有趣小模式的有效方法。文章提出了一種適用于可疑外匯資金交易識別的孤立點檢測方法,可以持續地從大量的日常交易中發現極少數的與正常交易顯著不同的異常交易。從孤立點分析角度,提出了基于非頻繁模式挖掘思想和概念漂移處理的混合屬性空間上時間序列孤立點檢測方法;從可疑金融交易識別的角度,提出了對每天持續動態產生的海量金融交易數據進行分析的一種新思路。
反洗錢;可疑金融交易識別;數據挖掘;孤立點檢測
關于“孤立點”,至今還沒有一個正式的、被人們普遍接受的定義。中文存在孤立點、離群點、奇異點、異常點、偏離點等多種稱謂。英文文獻中存在Outlier、Anomaly、Unusualness、Novelty、Deviant、Noise、Exception 等叫法。 在本文中,統一稱其為孤立點,英文Outlier。Hawkins[1]給出了孤立點的本質定義:孤立點是這些觀測,它們在數據集中是如此的與眾不同,使人們懷疑這些數據并非來自隨機偏差,而是產生于完全不同的機制。Grubbs[2]認為孤立點是顯著偏離樣本中其他數據的觀測。盡管對孤立點的定義不盡相同,但都反映了孤立點的特點:(1)孤立點看起來是異常的,這是其關鍵特征之一;(2)孤立點是一個相對的定義,如果定義孤立點的假設不同,對于相同數據集所產生的結論則不同;(3)孤立點有較強的主觀性,幾乎所有研究者在進行孤立點檢測時都定義特有的檢測背景。孤立點檢測是孤立點分析的關鍵環節。孤立點檢測可以形式化的描述為:給定一個有n個對象或觀測點的數據集合及預期的孤立點數目k,發現與大多數對象相比顯著異常的、孤立的或不一致的前k個對象的過程[3]。孤立點檢測問題可以分解為兩個子問題:首先是在給定的數據集中定義什么樣的數據是孤立點,其次是找到一個有效的方法來檢測這樣的孤立點。
可疑金融交易識別是反洗錢領域的核心問題。面對海量且持續快速增長的金融交易數據,單純依靠手工識別可疑交易已顯得力不從心。如何從每天持續產生的海量金融交易數據中發現可疑的洗錢線索,為洗錢監測機構提供有價值的情報,已成為反洗錢研究領域的重要課題,其中數據挖掘技術在可疑交易識別中的應用是其中的一個研究熱點。盡管洗錢模式復雜多變,但洗錢行為在整個金融活動中只占有極少的比例,這給監測洗錢交易增加了難度。作為數據挖掘重要方法之一的孤立點分析是在大數據集中發現有趣小模式的有效方法。盡管犯罪分子力圖使洗錢交易表現出與正常交易相似的模式,但無論怎樣掩飾,這些洗錢交易一定存在一些與其他大量正常交易所不同的可疑特征。因此可以利用孤立點分析,發現那些極少數的與其它正常交易顯著不同的反常交易。孤立點檢測方法往往需要結合特定的檢測背景而提出,而適用于我國可疑金融交易識別的孤立點檢測的有效方法并不多見。
本文擬提出一種適用于可疑外匯資金交易識別的孤立點檢測方法,基本思想是:(1)根據金融機構上報的大額和可疑外匯資金交易數據特征,利用非頻繁模式挖掘方法建立混合屬性類型空間上的孤立點檢測模型。(2)將每個新產生的大額和可疑外匯資金交易上報數據記錄作為孤立點檢測的當前觀測點,首先根據此觀測更新孤立點檢測模型,然后計算出新觀測的前向孤立度分值,并根據分值判別新觀測是否為前向孤立點。(3)對于確定為前向孤立點的觀測,在延遲指定的時間之后,計算此觀測的后向孤立度分值,并結合其前向孤立度分值判斷此觀測是否為孤立點,即可疑外匯資金交易。
本文所采用的金融交易源數據是某省金融管理部門根據《金融機構大額和可疑外匯資金交易報告管理辦法實施細則》中《金融機構大額和可疑外匯資金交易60項》的要求,由金融機構上報的2005年12月31日至2008年6月27日的企業大額和可疑外匯資金交易數據。在對源數據進行分析整理后,可用于外匯資金交易孤立點檢測的數據集的各屬性如表1所示。

表1 外匯資金交易數據集的各屬性
根據表1,設外匯資金交易數據集的一行為一個觀測點,對于包含N個屬性的數據集M,每個觀測的屬性-值對向量可表示為:

其中(attributeN,valueN)為第N個屬性-值對。如果兩個觀測至少有一個相同的屬性-值對,則認為它們之間存在鏈接。鏈接的強度由兩點具有的相同的屬性-值對的數目決定。兩個觀測的鏈接強度越高,則認為它們之間的相似度也越高。如果一個觀測只與極少數的觀測存在鏈接,或者與其它觀測的鏈接強度普遍較低,則認為此觀測的孤立度較高,即為孤立點的可能性較大。
本文提出的外匯資金交易孤立點檢測模型建立在孤立度函數的基礎上。孤立度函數是一個用來計算觀測點孤立度大小的數學模型,它的值與觀測的鏈接強度總和成反比,孤立度分值越大,則越可能為孤立點。
定義一個觀測變量為Tt=(t,Xt,Yt),其中Xt為離散型屬性向量,Yt為連續型屬性向量,t表示此觀測發生的時間。根據已經產生的大量觀測,可以計算出各個離散型屬性變量之間的依賴關系以及離散型屬性變量與連續型屬性變量之間的一般關系。而孤立點則是違背這些正常關系的觀測,即這些觀測表現出與其它大量的觀測所不同的特征。
孤立度函數的建立可分為兩個階段,首先借助非頻繁模式挖掘思想建立離散型屬性空間上的孤立度函數,然后加入連續型屬性偏離值約束條件修正離散型屬性空間上的孤立度函數,最終得到混合屬性空間上的孤立度函數。
設I為數據集M中所有可能的離散型屬性-值對的集合,令

其中PowerSet(I)是所有可能的離散型屬性-值對項集的集合,D是PowerSet(I)的子集,其中任意一個離散型屬性-值對項集d可以包含1—N個不同的離散型屬性-值對項,即任意一個屬性至多只在項集d中出現一次。令

其中Xi表示M中的離散型屬性向量,count(d)為項集d在M中出現的次數。令

即項集d的支持度sup(d)為M中滿足d?Xi的觀測數目與M中總觀測數的比值。令

式中:k(attribute)為M中離散型屬性變量attribut可能值的個數,peer(d)為項集d中的離散型屬性可能值個數之積。
最終一個觀測在離散型屬性X空間上的孤立度函數定義為:

式中s為自定義的支持度閾值。sup(d)≤s表示選取支持度小于s的非頻繁項集d。
孤立度函數Score1(X)表明:(1)一個觀測在離散型屬性空間X中,所包含的非頻繁項集d的數目越多,則計算Score1(X)時的求和項越多,Score1(X)的值可能越大,該觀測是孤立點的可能性越高;(2)非頻繁項集d中的屬性個數越多且每個屬性可能值的個數越多,則peer(d)值越大,孤立度值越小。
一般在數據集M中可能同時包括離散型屬性和連續型屬性,則混合屬性空間上的孤立度函數可以在離散型屬性空間上孤立度函數定義的基礎上加入連續型屬性偏離值約束條件得到。
設yt是連續型屬性變量,對于每個屬性-值對項集d計算滿足d?Xt的觀測在連續型屬性yt上的平均數和標準差為:

在任意項集d上,定義yt在d上的偏離值為:

因此在混合屬性空間上,加入連續型屬性yt偏離值約束條件后,孤立度函數可修正為:

其中θ為自定義的偏離閾值。
修正后的孤立度函數Score2(Tt)表明:對于任意觀測Tt包含的任意項集d,如果d為非頻繁項集,或者yt偏離d上的分布規律,都使得Tt的孤立度值增加1/log(peer(d))。
Score2(Tt)作為可疑外匯資金交易孤立點檢測模型可以解釋為:(1)對新產生的觀測Tt,其離散屬性向量中所包含的非頻繁項集d的數目越多,或其連續屬性偏離d上的分布規律項越多,則說明該觀測與眾不同的情況越多,該觀測的可疑程度可能越高;(2)某一非頻繁項集d中的屬性個數越多且每個屬性可能值的個數越多,則該非頻繁項集d對可疑程度判斷的影響力越小。
為了有效的計算Score2(Tt),記

易證明:

因此,在每個項集d上,只需要計算對應的count(d)、Ld和Sd,并在每次增加新的觀測之后,增量更新項集d上的這些值。
隨著時間的變化,正常的外匯資金交易模式也可能發生變化。在數據序列上,則表現為隨時間變化,頻繁項集及頻繁項集上的數據分布規律發生變化。為了處理這種所謂“概念漂移”的情況,本文引入觀測權重以及模型時等參數,建立了時間序列孤立點檢測模型,并結合前、后向孤立度值的高低,判斷當前觀測是否為孤立點。
本文采用沿時間軸指數衰減的權重,即在τ時刻更新孤立點檢測模型時,t時刻所產生的觀測Tt包具有權重a(τ-t),其中a為權重衰減因子。在增量更新每個項集d上的count(d)、Ld和Sd時,定義更新時刻τ為引發此更新操作的觀測的生成時間。記當前更新時刻為τ,上次更新時刻為τ0。引發此更新操作的觀測為Tt,所以有t=τ。用下角標表明d上各值的更新時刻,則

在此方式下,需要在每個項集d上的數據結構中增加一個記錄其更新時刻屬性τ。
為討論的方便,這里引入模型時的概念。設系統接收到τ時刻產生的觀測,并用此觀測更新了模型,則稱更新后模型的模型時為τ。即模型時是系統更新所用到的最新的觀測所對應的發生時間,且有模型時 τ=max{d.τ|d∈D}。
顯然,在不同的模型時τ,對觀測Tt所計算出的孤立度是不同的。用表示模型時為τ時所計算的Tt的孤立度。
為了區分觀測Tt的高孤立度是由自身偏離造成的,還是由于概念漂移造成的,本文引入前向孤立度和后向孤立度以及改變點3個概念。觀測Tt的前向孤立度是指在觀測產生時(即t時刻),根據孤立度模型實時計算出的孤立度,即(Tt)的值。觀測Tt的后向孤立度是指在觀測產生后,延遲某個指定的時間段Δt后,根據(t+Δt)時刻的孤立度模型計算出的孤立度,即的值。直觀上,高的前向孤立度和高的后向孤立度意味著此觀測確實為孤立點;而高的前向孤立度和低的后向孤立度意味著此觀測為改變點,其高的前向孤立度是由于正常模式的概念漂移造成的,也即改變點是正常模式發生變化時所對應的觀測。改變點是只使用前向孤立度判別時出現假陽性的原因之一。根據前向孤立度和后向孤立度值判別是否為孤立點的規則如表2所示。

表2 由前向孤立度和后向孤立度判別孤立點的規則
界定孤立度的高低可采用閾值法和t值法。
(1)閾值法
事先確定一個值作為孤立度閾值,對于每個觀測,如果其孤立度值大于閾值,則將此觀測標記為孤立點。此方法直觀簡便,但很難確定一個最優的閾值。離線方式下,一般可以通過ROC曲線(接受者操作特征曲線)來確定最優的閾值。
(2)t值法

為了對前面所提出的外匯資金交易孤立點檢測模型及方法的可行性進行檢驗,筆者在Eclipse3.2開發環境下,借助于Weka基礎類庫,使用Java語言開發了一個系統原型,并利用真實的金融交易數據對其進行實驗驗證。
在線實時處理方式下,對于每個新生成的觀測,首先根據其值更新模型,然后計算此觀測的前向孤立度,并在延遲指定的時間之后,計算此觀測的后向孤立度。前向孤立度和后向孤立度的計算過程完全相同,只是計算的時間不同,或者說計算時采用不同時刻的模型參數。計算前向孤立度的算法如圖1所示。
在線實時處理方式下,依次計算每500筆交易的處理總時間,并運行10次,求其平均值,結果如圖2所示。從圖2可以看出,除了剛開始的1000筆交易之外,隨著系統所處理的交易次數的增加,每處理500筆交易所需要的時間趨于穩定。每筆交易的處理時間與數據集的大小無關,即具有常數時間復雜度。


在對原數據進行清理后,可用于本實驗的交易數據共有19566筆,其中已確認的可疑交易有58筆,約占交易總次數的0.3%。
實驗中,讓所有交易記錄數據按交易發生日的順序依次進入原型系統。在進行外匯資金交易孤立點檢測時,考慮如下3種情況:①使用的時間衰減因子a=1(即假設不存在概念漂移),支持度閾值s=0.05,偏離閾值θ=2;②使用的時間衰減因子a=0.99,支持度閾值s=0.05,偏離閾值θ=2,且只使用前向孤立度判別;③在(2)的基礎上,結合延遲2天的后向孤立度判別。實驗結果表明:
(1)考慮時間衰減后,檢出率由原來的81.04%上升為82.76%;錯誤正例(False Positive)比率降低了20.32%。
(2)結合后向孤立度進行判別后,在檢出率不變的情況下,將錯誤正例比率又降低了0.81%,減少的錯誤正例數為158個,減少部分所對應的觀測即為改變點。在考慮時間衰減以及結合后向孤立度進行判別都減少了錯誤比例,這驗證了正常交易模式隨時間而變化的假設。
(3)在對錯誤負例(False Negative)進行分析時發現,它們中大部分具有與同期正常交易基本相同的模式。因此,如果單純根據本實驗所用數據集的各個屬性,而不結合銀行企業客戶自身的背景信息(如所屬行業等),則不能檢測出這類可疑行為。
82.76 %的檢出率也表明,數據集內的大部分涉及洗錢行為的可疑交易確實在某些數據剖面上表現出與大量的正常交易所不同的特征。這正是孤立點分析用于可疑金融交易識別的基礎;同時也表明使用孤立點分析進行可疑金融交易識別是有意義的。
盡管從簡單的基于規則的檢測到復雜的分類方法以及鏈接分析、孤立點分析等數據挖掘方法在可疑金融交易識別研究領域得到了一定的應用[4]~[10],然而洗錢行為的低發生率、跨時空分布以及動態變化的形式等對數據挖掘技術的應用提出了更高的要求。洗錢交易表現出的與眾不同的特征,是孤立點分析用于識別可疑交易的基礎。本文提出了一種在序列中動態檢測孤立點的新方法,試圖在可疑金融交易識別領域提出一個自適應的、非指導孤立點分析方法,用于對每天不斷產生的海量金融交易數據進行持續監測分析,從其中發現極少數的反常的可疑交易,為監管機構選擇重點檢查的可疑對象提供參考,以期提高金融領域反洗錢的效率和有效性。本文提出的可疑金融交易識別孤立點檢測其具有如下特點:
(1)支持在線實時處理方式。很多孤立點檢測算法是以批量處理的方式運行的。運行前,需要準備好全部的數據。本方法不僅支持批量處理方式,也適合于在線實時處理,在此方式下,對于每個新產生的觀測,給出一個表示其孤立程度的值(或者進一步判別其是否為孤立點)。
(2)自適應性。隨著時間的變化,正常的交易模式可能發生變化。本方法通過引入時間衰減因子來處理這種所謂“概念漂移”的情況。
(3)非指導學習方式。在反洗錢領域中,難以找到可用于訓練分類器的、已被識別為洗錢的交易數據。本方法采用非指導的學習方法,不需要已有的洗錢案例數據用于訓練模型。
(4)能同時處理離散型屬性和連續型屬性。大多數方法只能處理離散型屬性數據,或只能處理連續型屬性數據。本方法適用于處理同時包含離散型屬性和連續型屬性的混合屬性數據集。
(5)實時計算前向孤立度,延遲計算后向孤立度。結合前向孤立度和后向孤立度可降低模型的FP值,同時將孤立點和改變點的檢測統一于一個框架中。
[1]Hawkins D.Identification of Outliers[M].London:Chapman and Hall,1980.
[2]Grubbs F E.Procedures for Detecting Outlying Observations in Samples[J].Technometrics,1969,11(1).
[3]Han J,Kamber M.Data Mining:Concepts and Techniques[M].New York:Morgan Kaufmann Publishers,2001.
[4]Kingdon J.AI Fights Money Laundering[J].IEEE Intelligent Systems,2004,19(3).
[5]Jacobs L,Wyss R.Intelligent Detection of Money Laundering and other Financial Crimes[EB/OL].http://www.wyss-legal.ch/publications_en.php,2008-04-01.
[6]張成虎,高薇.基于樸素貝葉斯分類的可疑金融交易識別研究[J].情報雜志,2006,(11).
[7]劉芳,伏峰.利用鏈接發現技術偵測可疑賬號交易信息[J].計算機工程與科學,2007,29(6).
[8]李時,張成虎.可疑金融交易識別中的約束關聯規則算法研究[J].生產力研究,2007,(8).
[9]盧正鼎,王瓊.基于相似度的離群模式發現模型[J].華中科技大學學報(自然科學版),2005,33(1).
[10]湯俊,熊前興.用于可疑金融交易監控的對比離群點檢測模型[J].武漢理工大學學報,2006,(4).
(責任編輯/亦 民)
F224.9
A
1002-6487(2010)18-0026-04
孫 景(1963-),女,陜西西安人,碩士,副教授,研究方向:金融數據分析。