孫 景,張成虎,陳善新
(西安交通大學(xué) 經(jīng)濟(jì)與金融學(xué)院,西安 710061)
基于時間序列孤立點(diǎn)檢測的可疑外匯資金交易識別研究
孫 景,張成虎,陳善新
(西安交通大學(xué) 經(jīng)濟(jì)與金融學(xué)院,西安 710061)
盡管洗錢模式復(fù)雜多變,但洗錢行為在整個金融活動中只占有極少的比例,這給監(jiān)測洗錢交易增加了難度。作為數(shù)據(jù)挖掘重要方法之一的孤立點(diǎn)分析是在大數(shù)據(jù)集中發(fā)現(xiàn)有趣小模式的有效方法。文章提出了一種適用于可疑外匯資金交易識別的孤立點(diǎn)檢測方法,可以持續(xù)地從大量的日常交易中發(fā)現(xiàn)極少數(shù)的與正常交易顯著不同的異常交易。從孤立點(diǎn)分析角度,提出了基于非頻繁模式挖掘思想和概念漂移處理的混合屬性空間上時間序列孤立點(diǎn)檢測方法;從可疑金融交易識別的角度,提出了對每天持續(xù)動態(tài)產(chǎn)生的海量金融交易數(shù)據(jù)進(jìn)行分析的一種新思路。
反洗錢;可疑金融交易識別;數(shù)據(jù)挖掘;孤立點(diǎn)檢測
關(guān)于“孤立點(diǎn)”,至今還沒有一個正式的、被人們普遍接受的定義。中文存在孤立點(diǎn)、離群點(diǎn)、奇異點(diǎn)、異常點(diǎn)、偏離點(diǎn)等多種稱謂。英文文獻(xiàn)中存在Outlier、Anomaly、Unusualness、Novelty、Deviant、Noise、Exception 等叫法。 在本文中,統(tǒng)一稱其為孤立點(diǎn),英文Outlier。Hawkins[1]給出了孤立點(diǎn)的本質(zhì)定義:孤立點(diǎn)是這些觀測,它們在數(shù)據(jù)集中是如此的與眾不同,使人們懷疑這些數(shù)據(jù)并非來自隨機(jī)偏差,而是產(chǎn)生于完全不同的機(jī)制。Grubbs[2]認(rèn)為孤立點(diǎn)是顯著偏離樣本中其他數(shù)據(jù)的觀測。盡管對孤立點(diǎn)的定義不盡相同,但都反映了孤立點(diǎn)的特點(diǎn):(1)孤立點(diǎn)看起來是異常的,這是其關(guān)鍵特征之一;(2)孤立點(diǎn)是一個相對的定義,如果定義孤立點(diǎn)的假設(shè)不同,對于相同數(shù)據(jù)集所產(chǎn)生的結(jié)論則不同;(3)孤立點(diǎn)有較強(qiáng)的主觀性,幾乎所有研究者在進(jìn)行孤立點(diǎn)檢測時都定義特有的檢測背景。孤立點(diǎn)檢測是孤立點(diǎn)分析的關(guān)鍵環(huán)節(jié)。孤立點(diǎn)檢測可以形式化的描述為:給定一個有n個對象或觀測點(diǎn)的數(shù)據(jù)集合及預(yù)期的孤立點(diǎn)數(shù)目k,發(fā)現(xiàn)與大多數(shù)對象相比顯著異常的、孤立的或不一致的前k個對象的過程[3]。孤立點(diǎn)檢測問題可以分解為兩個子問題:首先是在給定的數(shù)據(jù)集中定義什么樣的數(shù)據(jù)是孤立點(diǎn),其次是找到一個有效的方法來檢測這樣的孤立點(diǎn)。
可疑金融交易識別是反洗錢領(lǐng)域的核心問題。面對海量且持續(xù)快速增長的金融交易數(shù)據(jù),單純依靠手工識別可疑交易已顯得力不從心。如何從每天持續(xù)產(chǎn)生的海量金融交易數(shù)據(jù)中發(fā)現(xiàn)可疑的洗錢線索,為洗錢監(jiān)測機(jī)構(gòu)提供有價值的情報,已成為反洗錢研究領(lǐng)域的重要課題,其中數(shù)據(jù)挖掘技術(shù)在可疑交易識別中的應(yīng)用是其中的一個研究熱點(diǎn)。盡管洗錢模式復(fù)雜多變,但洗錢行為在整個金融活動中只占有極少的比例,這給監(jiān)測洗錢交易增加了難度。作為數(shù)據(jù)挖掘重要方法之一的孤立點(diǎn)分析是在大數(shù)據(jù)集中發(fā)現(xiàn)有趣小模式的有效方法。盡管犯罪分子力圖使洗錢交易表現(xiàn)出與正常交易相似的模式,但無論怎樣掩飾,這些洗錢交易一定存在一些與其他大量正常交易所不同的可疑特征。因此可以利用孤立點(diǎn)分析,發(fā)現(xiàn)那些極少數(shù)的與其它正常交易顯著不同的反常交易。孤立點(diǎn)檢測方法往往需要結(jié)合特定的檢測背景而提出,而適用于我國可疑金融交易識別的孤立點(diǎn)檢測的有效方法并不多見。
本文擬提出一種適用于可疑外匯資金交易識別的孤立點(diǎn)檢測方法,基本思想是:(1)根據(jù)金融機(jī)構(gòu)上報的大額和可疑外匯資金交易數(shù)據(jù)特征,利用非頻繁模式挖掘方法建立混合屬性類型空間上的孤立點(diǎn)檢測模型。(2)將每個新產(chǎn)生的大額和可疑外匯資金交易上報數(shù)據(jù)記錄作為孤立點(diǎn)檢測的當(dāng)前觀測點(diǎn),首先根據(jù)此觀測更新孤立點(diǎn)檢測模型,然后計算出新觀測的前向孤立度分值,并根據(jù)分值判別新觀測是否為前向孤立點(diǎn)。(3)對于確定為前向孤立點(diǎn)的觀測,在延遲指定的時間之后,計算此觀測的后向孤立度分值,并結(jié)合其前向孤立度分值判斷此觀測是否為孤立點(diǎn),即可疑外匯資金交易。
本文所采用的金融交易源數(shù)據(jù)是某省金融管理部門根據(jù)《金融機(jī)構(gòu)大額和可疑外匯資金交易報告管理辦法實施細(xì)則》中《金融機(jī)構(gòu)大額和可疑外匯資金交易60項》的要求,由金融機(jī)構(gòu)上報的2005年12月31日至2008年6月27日的企業(yè)大額和可疑外匯資金交易數(shù)據(jù)。在對源數(shù)據(jù)進(jìn)行分析整理后,可用于外匯資金交易孤立點(diǎn)檢測的數(shù)據(jù)集的各屬性如表1所示。
表1 外匯資金交易數(shù)據(jù)集的各屬性
根據(jù)表1,設(shè)外匯資金交易數(shù)據(jù)集的一行為一個觀測點(diǎn),對于包含N個屬性的數(shù)據(jù)集M,每個觀測的屬性-值對向量可表示為:
其中(attributeN,valueN)為第N個屬性-值對。如果兩個觀測至少有一個相同的屬性-值對,則認(rèn)為它們之間存在鏈接。鏈接的強(qiáng)度由兩點(diǎn)具有的相同的屬性-值對的數(shù)目決定。兩個觀測的鏈接強(qiáng)度越高,則認(rèn)為它們之間的相似度也越高。如果一個觀測只與極少數(shù)的觀測存在鏈接,或者與其它觀測的鏈接強(qiáng)度普遍較低,則認(rèn)為此觀測的孤立度較高,即為孤立點(diǎn)的可能性較大。
本文提出的外匯資金交易孤立點(diǎn)檢測模型建立在孤立度函數(shù)的基礎(chǔ)上。孤立度函數(shù)是一個用來計算觀測點(diǎn)孤立度大小的數(shù)學(xué)模型,它的值與觀測的鏈接強(qiáng)度總和成反比,孤立度分值越大,則越可能為孤立點(diǎn)。
定義一個觀測變量為Tt=(t,Xt,Yt),其中Xt為離散型屬性向量,Yt為連續(xù)型屬性向量,t表示此觀測發(fā)生的時間。根據(jù)已經(jīng)產(chǎn)生的大量觀測,可以計算出各個離散型屬性變量之間的依賴關(guān)系以及離散型屬性變量與連續(xù)型屬性變量之間的一般關(guān)系。而孤立點(diǎn)則是違背這些正常關(guān)系的觀測,即這些觀測表現(xiàn)出與其它大量的觀測所不同的特征。
孤立度函數(shù)的建立可分為兩個階段,首先借助非頻繁模式挖掘思想建立離散型屬性空間上的孤立度函數(shù),然后加入連續(xù)型屬性偏離值約束條件修正離散型屬性空間上的孤立度函數(shù),最終得到混合屬性空間上的孤立度函數(shù)。
設(shè)I為數(shù)據(jù)集M中所有可能的離散型屬性-值對的集合,令
其中PowerSet(I)是所有可能的離散型屬性-值對項集的集合,D是PowerSet(I)的子集,其中任意一個離散型屬性-值對項集d可以包含1—N個不同的離散型屬性-值對項,即任意一個屬性至多只在項集d中出現(xiàn)一次。令
其中Xi表示M中的離散型屬性向量,count(d)為項集d在M中出現(xiàn)的次數(shù)。令
即項集d的支持度sup(d)為M中滿足d?Xi的觀測數(shù)目與M中總觀測數(shù)的比值。令
式中:k(attribute)為M中離散型屬性變量attribut可能值的個數(shù),peer(d)為項集d中的離散型屬性可能值個數(shù)之積。
最終一個觀測在離散型屬性X空間上的孤立度函數(shù)定義為:
式中s為自定義的支持度閾值。sup(d)≤s表示選取支持度小于s的非頻繁項集d。
孤立度函數(shù)Score1(X)表明:(1)一個觀測在離散型屬性空間X中,所包含的非頻繁項集d的數(shù)目越多,則計算Score1(X)時的求和項越多,Score1(X)的值可能越大,該觀測是孤立點(diǎn)的可能性越高;(2)非頻繁項集d中的屬性個數(shù)越多且每個屬性可能值的個數(shù)越多,則peer(d)值越大,孤立度值越小。
一般在數(shù)據(jù)集M中可能同時包括離散型屬性和連續(xù)型屬性,則混合屬性空間上的孤立度函數(shù)可以在離散型屬性空間上孤立度函數(shù)定義的基礎(chǔ)上加入連續(xù)型屬性偏離值約束條件得到。
設(shè)yt是連續(xù)型屬性變量,對于每個屬性-值對項集d計算滿足d?Xt的觀測在連續(xù)型屬性yt上的平均數(shù)和標(biāo)準(zhǔn)差為:
在任意項集d上,定義yt在d上的偏離值為:
因此在混合屬性空間上,加入連續(xù)型屬性yt偏離值約束條件后,孤立度函數(shù)可修正為:
其中θ為自定義的偏離閾值。
修正后的孤立度函數(shù)Score2(Tt)表明:對于任意觀測Tt包含的任意項集d,如果d為非頻繁項集,或者yt偏離d上的分布規(guī)律,都使得Tt的孤立度值增加1/log(peer(d))。
Score2(Tt)作為可疑外匯資金交易孤立點(diǎn)檢測模型可以解釋為:(1)對新產(chǎn)生的觀測Tt,其離散屬性向量中所包含的非頻繁項集d的數(shù)目越多,或其連續(xù)屬性偏離d上的分布規(guī)律項越多,則說明該觀測與眾不同的情況越多,該觀測的可疑程度可能越高;(2)某一非頻繁項集d中的屬性個數(shù)越多且每個屬性可能值的個數(shù)越多,則該非頻繁項集d對可疑程度判斷的影響力越小。
為了有效的計算Score2(Tt),記
易證明:
因此,在每個項集d上,只需要計算對應(yīng)的count(d)、Ld和Sd,并在每次增加新的觀測之后,增量更新項集d上的這些值。
隨著時間的變化,正常的外匯資金交易模式也可能發(fā)生變化。在數(shù)據(jù)序列上,則表現(xiàn)為隨時間變化,頻繁項集及頻繁項集上的數(shù)據(jù)分布規(guī)律發(fā)生變化。為了處理這種所謂“概念漂移”的情況,本文引入觀測權(quán)重以及模型時等參數(shù),建立了時間序列孤立點(diǎn)檢測模型,并結(jié)合前、后向孤立度值的高低,判斷當(dāng)前觀測是否為孤立點(diǎn)。
本文采用沿時間軸指數(shù)衰減的權(quán)重,即在τ時刻更新孤立點(diǎn)檢測模型時,t時刻所產(chǎn)生的觀測Tt包具有權(quán)重a(τ-t),其中a為權(quán)重衰減因子。在增量更新每個項集d上的count(d)、Ld和Sd時,定義更新時刻τ為引發(fā)此更新操作的觀測的生成時間。記當(dāng)前更新時刻為τ,上次更新時刻為τ0。引發(fā)此更新操作的觀測為Tt,所以有t=τ。用下角標(biāo)表明d上各值的更新時刻,則
在此方式下,需要在每個項集d上的數(shù)據(jù)結(jié)構(gòu)中增加一個記錄其更新時刻屬性τ。
為討論的方便,這里引入模型時的概念。設(shè)系統(tǒng)接收到τ時刻產(chǎn)生的觀測,并用此觀測更新了模型,則稱更新后模型的模型時為τ。即模型時是系統(tǒng)更新所用到的最新的觀測所對應(yīng)的發(fā)生時間,且有模型時 τ=max{d.τ|d∈D}。
顯然,在不同的模型時τ,對觀測Tt所計算出的孤立度是不同的。用表示模型時為τ時所計算的Tt的孤立度。
為了區(qū)分觀測Tt的高孤立度是由自身偏離造成的,還是由于概念漂移造成的,本文引入前向孤立度和后向孤立度以及改變點(diǎn)3個概念。觀測Tt的前向孤立度是指在觀測產(chǎn)生時(即t時刻),根據(jù)孤立度模型實時計算出的孤立度,即(Tt)的值。觀測Tt的后向孤立度是指在觀測產(chǎn)生后,延遲某個指定的時間段Δt后,根據(jù)(t+Δt)時刻的孤立度模型計算出的孤立度,即的值。直觀上,高的前向孤立度和高的后向孤立度意味著此觀測確實為孤立點(diǎn);而高的前向孤立度和低的后向孤立度意味著此觀測為改變點(diǎn),其高的前向孤立度是由于正常模式的概念漂移造成的,也即改變點(diǎn)是正常模式發(fā)生變化時所對應(yīng)的觀測。改變點(diǎn)是只使用前向孤立度判別時出現(xiàn)假陽性的原因之一。根據(jù)前向孤立度和后向孤立度值判別是否為孤立點(diǎn)的規(guī)則如表2所示。
表2 由前向孤立度和后向孤立度判別孤立點(diǎn)的規(guī)則
界定孤立度的高低可采用閾值法和t值法。
(1)閾值法
事先確定一個值作為孤立度閾值,對于每個觀測,如果其孤立度值大于閾值,則將此觀測標(biāo)記為孤立點(diǎn)。此方法直觀簡便,但很難確定一個最優(yōu)的閾值。離線方式下,一般可以通過ROC曲線(接受者操作特征曲線)來確定最優(yōu)的閾值。
(2)t值法
為了對前面所提出的外匯資金交易孤立點(diǎn)檢測模型及方法的可行性進(jìn)行檢驗,筆者在Eclipse3.2開發(fā)環(huán)境下,借助于Weka基礎(chǔ)類庫,使用Java語言開發(fā)了一個系統(tǒng)原型,并利用真實的金融交易數(shù)據(jù)對其進(jìn)行實驗驗證。
在線實時處理方式下,對于每個新生成的觀測,首先根據(jù)其值更新模型,然后計算此觀測的前向孤立度,并在延遲指定的時間之后,計算此觀測的后向孤立度。前向孤立度和后向孤立度的計算過程完全相同,只是計算的時間不同,或者說計算時采用不同時刻的模型參數(shù)。計算前向孤立度的算法如圖1所示。
在線實時處理方式下,依次計算每500筆交易的處理總時間,并運(yùn)行10次,求其平均值,結(jié)果如圖2所示。從圖2可以看出,除了剛開始的1000筆交易之外,隨著系統(tǒng)所處理的交易次數(shù)的增加,每處理500筆交易所需要的時間趨于穩(wěn)定。每筆交易的處理時間與數(shù)據(jù)集的大小無關(guān),即具有常數(shù)時間復(fù)雜度。
在對原數(shù)據(jù)進(jìn)行清理后,可用于本實驗的交易數(shù)據(jù)共有19566筆,其中已確認(rèn)的可疑交易有58筆,約占交易總次數(shù)的0.3%。
實驗中,讓所有交易記錄數(shù)據(jù)按交易發(fā)生日的順序依次進(jìn)入原型系統(tǒng)。在進(jìn)行外匯資金交易孤立點(diǎn)檢測時,考慮如下3種情況:①使用的時間衰減因子a=1(即假設(shè)不存在概念漂移),支持度閾值s=0.05,偏離閾值θ=2;②使用的時間衰減因子a=0.99,支持度閾值s=0.05,偏離閾值θ=2,且只使用前向孤立度判別;③在(2)的基礎(chǔ)上,結(jié)合延遲2天的后向孤立度判別。實驗結(jié)果表明:
(1)考慮時間衰減后,檢出率由原來的81.04%上升為82.76%;錯誤正例(False Positive)比率降低了20.32%。
(2)結(jié)合后向孤立度進(jìn)行判別后,在檢出率不變的情況下,將錯誤正例比率又降低了0.81%,減少的錯誤正例數(shù)為158個,減少部分所對應(yīng)的觀測即為改變點(diǎn)。在考慮時間衰減以及結(jié)合后向孤立度進(jìn)行判別都減少了錯誤比例,這驗證了正常交易模式隨時間而變化的假設(shè)。
(3)在對錯誤負(fù)例(False Negative)進(jìn)行分析時發(fā)現(xiàn),它們中大部分具有與同期正常交易基本相同的模式。因此,如果單純根據(jù)本實驗所用數(shù)據(jù)集的各個屬性,而不結(jié)合銀行企業(yè)客戶自身的背景信息(如所屬行業(yè)等),則不能檢測出這類可疑行為。
82.76 %的檢出率也表明,數(shù)據(jù)集內(nèi)的大部分涉及洗錢行為的可疑交易確實在某些數(shù)據(jù)剖面上表現(xiàn)出與大量的正常交易所不同的特征。這正是孤立點(diǎn)分析用于可疑金融交易識別的基礎(chǔ);同時也表明使用孤立點(diǎn)分析進(jìn)行可疑金融交易識別是有意義的。
盡管從簡單的基于規(guī)則的檢測到復(fù)雜的分類方法以及鏈接分析、孤立點(diǎn)分析等數(shù)據(jù)挖掘方法在可疑金融交易識別研究領(lǐng)域得到了一定的應(yīng)用[4]~[10],然而洗錢行為的低發(fā)生率、跨時空分布以及動態(tài)變化的形式等對數(shù)據(jù)挖掘技術(shù)的應(yīng)用提出了更高的要求。洗錢交易表現(xiàn)出的與眾不同的特征,是孤立點(diǎn)分析用于識別可疑交易的基礎(chǔ)。本文提出了一種在序列中動態(tài)檢測孤立點(diǎn)的新方法,試圖在可疑金融交易識別領(lǐng)域提出一個自適應(yīng)的、非指導(dǎo)孤立點(diǎn)分析方法,用于對每天不斷產(chǎn)生的海量金融交易數(shù)據(jù)進(jìn)行持續(xù)監(jiān)測分析,從其中發(fā)現(xiàn)極少數(shù)的反常的可疑交易,為監(jiān)管機(jī)構(gòu)選擇重點(diǎn)檢查的可疑對象提供參考,以期提高金融領(lǐng)域反洗錢的效率和有效性。本文提出的可疑金融交易識別孤立點(diǎn)檢測其具有如下特點(diǎn):
(1)支持在線實時處理方式。很多孤立點(diǎn)檢測算法是以批量處理的方式運(yùn)行的。運(yùn)行前,需要準(zhǔn)備好全部的數(shù)據(jù)。本方法不僅支持批量處理方式,也適合于在線實時處理,在此方式下,對于每個新產(chǎn)生的觀測,給出一個表示其孤立程度的值(或者進(jìn)一步判別其是否為孤立點(diǎn))。
(2)自適應(yīng)性。隨著時間的變化,正常的交易模式可能發(fā)生變化。本方法通過引入時間衰減因子來處理這種所謂“概念漂移”的情況。
(3)非指導(dǎo)學(xué)習(xí)方式。在反洗錢領(lǐng)域中,難以找到可用于訓(xùn)練分類器的、已被識別為洗錢的交易數(shù)據(jù)。本方法采用非指導(dǎo)的學(xué)習(xí)方法,不需要已有的洗錢案例數(shù)據(jù)用于訓(xùn)練模型。
(4)能同時處理離散型屬性和連續(xù)型屬性。大多數(shù)方法只能處理離散型屬性數(shù)據(jù),或只能處理連續(xù)型屬性數(shù)據(jù)。本方法適用于處理同時包含離散型屬性和連續(xù)型屬性的混合屬性數(shù)據(jù)集。
(5)實時計算前向孤立度,延遲計算后向孤立度。結(jié)合前向孤立度和后向孤立度可降低模型的FP值,同時將孤立點(diǎn)和改變點(diǎn)的檢測統(tǒng)一于一個框架中。
[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]劉芳,伏峰.利用鏈接發(fā)現(xiàn)技術(shù)偵測可疑賬號交易信息[J].計算機(jī)工程與科學(xué),2007,29(6).
[8]李時,張成虎.可疑金融交易識別中的約束關(guān)聯(lián)規(guī)則算法研究[J].生產(chǎn)力研究,2007,(8).
[9]盧正鼎,王瓊.基于相似度的離群模式發(fā)現(xiàn)模型[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2005,33(1).
[10]湯俊,熊前興.用于可疑金融交易監(jiān)控的對比離群點(diǎn)檢測模型[J].武漢理工大學(xué)學(xué)報,2006,(4).
(責(zé)任編輯/亦 民)
F224.9
A
1002-6487(2010)18-0026-04
孫 景(1963-),女,陜西西安人,碩士,副教授,研究方向:金融數(shù)據(jù)分析。