TPIsoftware

偵測金融詐欺 藉由 Neo4j 圖數據庫識別潛在的金融詐騙犯

文章目錄

我們如何藉由圖數據庫來識別潛在的第一方金融詐騙犯呢?

如何以 Neo4j 關聯圖形資料開啟反詐欺策略?
偵測金融詐欺 藉由 Neo4j 圖數據庫識別潛在的金融詐騙犯
我們如何藉由圖數據庫來識別潛在的第一方金融詐騙犯呢?
Database Schema

探索數據

首先第一步,探索我們的PaySim資料集。

Stats:

首先第一步,探索我們的PaySim資料集。
Statistics of nodes, node labels, relationships, relationship types
列出所有節點(Node)及對應頻率(Relative Frequency):
列出所有節點(Node)及對應頻率(Relative Frequency)
Relative Frequency of Labels in our PaySim Graph
從上圖看得出我們大部分(62%)的交易活動是透過CashIn和CashOut 資金流入或流出網路。
Transactions本身有什麼有趣的地方嗎?
Transactions本身有什麼有趣的地方嗎?
Aggregate Transaction Statistical profile
從上圖可以看出,CashIn 在交易數量和平均交易規模佔主導地位。但有趣的是,Transfer佔整個交易總金額1/3以上,儘管Transfer總交易量只有6%左右。實際上,平均Transfer所涉及的資金是 CashIn的6.25倍左右!

第一方詐騙(First Party Fraud)

第一方詐騙主要是個人(或群體)在申請金融產品或服務時謊報身份或提供虛假訊息。

根據 McKinsey,增長最快的第一方詐欺類行為虛假身份詐欺( synthetic identity fraud). 在虛假合成身份詐騙( synthetic identity fraud)中,詐騙者通常結合虛假和真實的訊息,在新的合成身份下建立信用紀錄。這類欺詐行為給金融機構造成重大損失,據估計,80%的信用卡詐騙損失都是由於偽造合成身份詐騙( synthetic identity fraud)造成的。

在PaySim裡,這些詐騙者會生成諸如電子郵件、SSNs、電話號碼等個人身份資訊(Personally identifiable information, PII),並在網路中混合成不同組合。在未來某個時候,這些詐騙者通過一個中間人(騾子, Mule) CashOut 資金在這個行動網路中。

我們將會執行以下的步驟,來揪出這些詐騙帳號:

  1. 識別共享個人身份資訊(Personally identifiable information, PII)的客戶(Clients)
  2. 使用社區檢測算法(Community Detection Algorithms)識別共享PII的客戶群集
  3. 使用成對相似算法(Pairwise Similarity Algorithms)在基於共享PII的客戶群集中找到相似的客戶
  4. 使用中心性算法(Centrality Algorithms)為共享PII的客戶群集計算詐騙評分(Fraud Score)
  5. 使用上述的分數來標記潛在的詐騙犯

1. 識別共享個人身份資訊(Personally identifiable information, PII)的客戶

a. 找出共享PII 的一對客戶:
找出共享PII 的一對客戶
Identify pairs of clients sharing PII
b. 創建一個新關係(Relationship)連結共享PII的客戶,並將共享PII的數量當作該關係的屬性添加
創建一個新關係連結共享PII的客戶,並將共享PII的數量當作該關係的屬性添加
Visualize the new relationship

2. 識別共享PII的顧客群集(Clusters)

在這邊,運行GDS Library的社區檢測算法(Community Detection algorithms)來識別共享PII的客戶群集。

我們使用弱連通連結(Weak Connected Components)來尋找一個群集連接的節點,其中在同一個群集中的所有節點構成一個連接的組件。

弱連通連結(Weak Connected Components)對圖進行分析,識別”圖組件(Graph Components)”。組件是一組節點與關係,在這些節點和關係中,可以透過遍歷從任何其他節點到達每個成員(節點)。之所以被稱為弱,因為並沒有考慮到關係的方向性。

弱連通連結(Weak Connected Components)通常用於分析的早期,以理解圖的結構。

更多訊息: Weakly Connected Components — Neo4j Graph Data Science

A graph with three components
A graph with three components” by David Eppstein (Public Domain, Wikipedia, 2007)
識別共享PII的顧客群集
Visualize clusters of clients sharing information

3. 在顧客群集中找出類似的客戶

透過運行GDS 成對相似算法(Pairwise Similarity Algorithms),在顧客集群中找出相似的客戶。

節點相似度(Node similarity),根據與其他節點的關係找到相似的節點。節點相似度使用Jaccard距離,通過觀察網路中兩點節點共有的相關節點除已與兩個節點相關的所有節點的和,來計算一對節點的相似性分數。

更多訊息參考:Node Similarity — Neo4j Graph Data Science

在顧客群集中找出類似的客戶
Visualize how similar clients are based on similarity score

4. 計算詐騙分數 (Fraud Score)

使用一種中心性算法(Centrality Algorithms)-Degree Centrality,將集群中給定節點的傳入和傳出關係上的Jaccard Score相加,並將其分配為相應的Fraud Score。 這裡假設Fraud Score越高,發生詐欺的可能性就越。
計算詐騙分數 (Fraud Score)
Calculating centrality score using Degree Centrality

5. 標記潛在詐騙犯

探索第一方詐欺評分大於某個閥域值的客戶。在本文裡,使用第80個百分位數作為閥域值。
標記潛在詐騙犯
Adding labels to Clients based on fraud score
六個群集包含少量的客戶(黃色的節點),似乎共享SSN、Email、電話號碼等PII(紫色的節點)
Our Fraud Groups (of size >7)
從上圖可以看到六個群集包含少量的客戶(黃色的節點),似乎共享SSN、Email、電話號碼等PII(紫色的節點)

找出第二級詐騙犯

現在我們已經確定了一些可疑群集的客戶,接著查看與這些可疑客戶交易的其他客戶。

找出與這些詐騙群集有聯繫的人

找出與這些詐騙群集有聯繫的人
External Transactions with our Large Fraud Groups

創造新關係

在帶有firstPartyFraudster標籤的客戶和沒有此類標籤但與詐騙者進行交易的客戶之間創建 TRANSFER_TO的關係,並把此類型交易的總金額當作屬性加入TRANSFER_TO
創造新關係
Newly created TRANSFER_TO relationship

找出第二級詐騙犯(2nd-level Fraudster)

找出可能與第一方詐欺犯勾結的客戶,並沒有被確定為潛在的第一方詐欺犯。

我們的假設是,執行轉帳類型交易(Transfer)的客戶,他們從第一方詐騙犯那裡發送或接受資金,可以被懷疑為 2nd-level Fraudsters。

識別這些客戶使用剛剛創建的TRANSFER_TO關係,並執行下面的步驟:

  1. 使用社區檢測算法(WCC)來識別與第一方詐騙者有關的客戶網路
  2. 使用中心性算法(Page Rank)計算一個Fraud Score(風險評分)
  3. 找出相對Page Rank高的嫌疑犯,並標記為2nd-level Fraudsters
1. 使用WCC找出與第一方詐騙者有關的客戶網路
使用WCC找出與第一方詐騙者有關的客戶網路
Execute WCC to find clusters
2. 使用中心性計算影響力分數
使用Page Rank算法計算中心性分數,以找出嫌疑人中誰的Page Rank分數相對高的
使用中心性計算影響力分數
Page Rank Score
3. 找出相對Page Rank高的嫌疑犯,並標記為2nd-level Fraudsters
找出相對Page Rank高的嫌疑犯,並標記為2nd-level Fraudsters
2nd-level Fraudsters networks

第一部分總結:我們發現了什麼?

綜上所述,我們使用GDS來執行金融交易數據分析中的一些關鍵步驟:

  1. 我們使用WCC 與Degree Centrality算法篩出潛在的第一方詐騙犯。
  2. 使用新建立的關係(TRANFER_TO),利用WCC與Page Rank算法找出與第一方詐騙犯相關聯的2nd-level Fraudsters。
  3. 在原本的網路上標籤這些嫌疑犯。

下一章節,會結合Machine learning 來做金融詐欺的預測。