圖資料探勘!使用圖分析+AI進行保險欺詐檢測

語言: CN / TW / HK

highlight: a11y-dark

攜手創作,共同成長!這是我參與「掘金日新計劃 · 8 月更文挑戰」的第22天,點選檢視活動詳情

保險欺詐是一個巨大的問題,保險業長期以來一直在與欺詐作鬥爭。健康保險欺詐是一種作假騙保的行為,整個欺詐過程可能涉及患者、醫生和受益人的同行的配合聯合行動,聯合欺詐的異常行為可能形成一個欺詐圈, 普通機器學習AI演算法很難基於基礎資訊發現欺詐活動。而這類場景有著強有效作用的,是關係網資料的挖掘和資訊支撐。

大家可以從下述新聞做一些瞭解: 📘同盾科技:AI智慧助力保險反欺詐,科技能力再升級_財經_中國網 📘數千億保險反欺詐市場:人工智慧尋覓用武之地_騰訊新聞

在本篇內容中, ShowMeAI 將基於保險欺詐場景案例給大家講解,如何進行有效的圖挖掘,並將挖掘到的資訊提供給AI模型,輔助精準檢測識別商業保險欺詐。

本篇內容結構如下:

  • Graph 圖與圖挖掘基礎
  • 圖搜尋和查詢以瞭解關係
  • 使用圖特徵增強機器學習模型

💡 Graph圖與圖挖掘基礎

📌 什麼是Graph圖

在圖論中,圖是一種結構,包含『相關聯』的一些節點和連線的邊。圖中的物件稱為『節點』,每個相關的節點之間的連線稱為『』。

簡而言之,Graph圖是任何型別的網路的數學表示,包含:

  • 節點,在醫療保險場景中,可以是
    • 投保人
    • 醫生
  • 邊是節點之間的關係/互動/行為
    • 索賠保單持有人
    • 索賠被保險人

💡 圖挖掘:搜尋和查詢

圖形資料庫是專門為圖關聯資料儲存和查詢而構建的,圖查詢語言是根據節點之間的模式匹配來完成查詢的。通過圖查詢語言進行圖視覺化有助於分析大量資料並識別欺詐活動的模式。典型的圖資料庫如 📘Nebula Graph,我們本次的分析挖掘用到的資料集是 🏆insurance claims 保險索賠資料,大家可以通過 ShowMeAI 的百度網盤地址下載。

🏆 實戰資料集下載(百度網盤):公眾號『ShowMeAI研究中心』回覆『實戰』,或者點選 這裡 獲取本文 [16]圖資料探勘!使用圖分析+AI進行保險欺詐檢測insurance claims 保險索賠資料集

ShowMeAI官方GitHubhttps://github.com/ShowMeAI-Hub

📌 欺詐典型案例

查詢欺詐性索賠『C4377』的投保人提出的所有索賠,並顯示索賠『C4377』患者的疾病。

為了深入瞭解這個投保人(PH3759),我們看到這個人在不同的提供者那裡看到了不同的醫生,這是不正常的。

📌 與欺詐性索賠相關的投保人關係

下圖顯示了具有欺詐風險『C4377』的連線關係。我們看到一個高風險投保人處於 1 度連線中,而另一個高風險投保人處於 3 度連線中。

💡 使用圖特徵增強機器學習模型

特徵工程是從現有資料中抽取有用資訊的過程。

關於機器學習特徵工程,大家可以參考 ShowMeAI 整理的特徵工程最全解讀教程。

📘機器學習實戰 | 機器學習特徵工程最全解讀

大部分機器學習應用依賴於結構化表格資料建模,而沒有有效利用圖關聯關係和上下文資料,在我們今天提到的這類關聯場景中,這類資訊至關重要。如果不考慮關聯,單獨看每個索賠/提供者都像是合法的。

在下面內容中,ShowMeAI 會演示把結構化表格資料轉換為圖,並提取圖特徵進而增強機器學習模型方法示例。包括下面幾個環節:

  • 將結構化資料提取到 Python 圖結構中
  • 圖資料的特徵工程
  • 將圖特徵整合到機器學習管道中

📌 將結構化資料提取到圖結構中

我們這裡用到Python圖工具 📘iGraph 來完成基本操作,它可以有效地和 pandas Dataframe 等結構結合。

資料集來自醫療保險領域,包括提供者提出的索賠以及每項索賠的受益人資訊,可以通過 ShowMeAI 的百度網盤地址下載。

🏆 實戰資料集下載(百度網盤):公眾號『ShowMeAI研究中心』回覆『實戰』,或者點選 這裡 獲取本文 [16]圖資料探勘!使用圖分析+AI進行保險欺詐檢測insurance claims 保險索賠資料集

ShowMeAI官方GitHubhttps://github.com/ShowMeAI-Hub

具體的資訊包括:

  • 患者相關特徵:年齡、性別、位置、健康狀況等。
  • 索賠相關特徵:起止日期、索賠金額、診斷程式碼、程式程式碼、提供者、主治醫師、手術醫師等。

我們本篇中的節點主要選取了『提供者』和『主治醫師』,分別對應目標。(以下僅提供核心程式碼作為示例)

```python

匯入包

from igraph import * import pandas as pd

讀取資料

df = pd.read_csv('CLAIM.csv') G_df = df[['CLAIM_ID', 'POLICYHOLDER_ID']]

從Dataframe建立Graph無向圖

G = Graph.DataFrame(G_df, directed=False) ```

📌 圖資料特徵工程

我們可以使用圖演算法對圖結構進行挖掘,拿到潛在有意義的表徵特徵,例如連線度量和基於關係的聚類特徵,進而加強後續機器學習的檢測效果。

Degree 度

節點的度可以定義為連線節點的邊數。

python degree = pd.DataFrame({'Node': G.vs["name"], 'Degree': G.strength()}) degree.shape

closeness 接近中心性

在連通圖中,節點的接近中心性(closeness)是網路中中心性的度量,計算為該節點與圖中所有其他節點之間的最短路徑長度之和的倒數。

python closeness = pd.DataFrame({'Node': G.vs["name"], 'Closeness': G.closeness()}) closeness.shape

Infomap 資訊圖

Infomap是一種能夠實現高質量社群的圖聚類演算法。

python communities_infomap = pd.DataFrame({'Node': G.vs["name"], 'communities_infomap': G.community_infomap().membership}) communities_infomap.shape

我們把抽取的圖特徵合併成Dataframe,以便後續機器學習建模使用。

```python

合併圖特徵

graph_feature = [degree, closeness, communities_infomap] graph_feature = reduce(lambda left,right: pd.merge(left,right, how = 'left',on='Node'), graph_feature) ```

📌 將圖特徵整合到機器學習管道中

接下來我們將圖特徵合併到原始資料中,並基於時間對資料集拆分,從而為機器學習模型準備完整的資料。

python train = Final_Dataset_Train[Final_Dataset_Train['ClaimStartDt'] < '2009-10-01'].reset_index(drop = True).drop('ClaimStartDt', axis = 1) print(train.shape) test = Final_Dataset_Train[Final_Dataset_Train['ClaimStartDt'] >= '2009-10-01'].reset_index(drop = True).drop('ClaimStartDt', axis = 1) print(test.shape)x_tr = train.drop(axis=1,columns=['PotentialFraud']) y_tr = train['PotentialFraud']x_val = test.drop(axis=1,columns=['PotentialFraud']) y_val = test['PotentialFraud']

下面,為了進行對比,我們使用 2 個演算法和 3 類特徵,建模和對比效果:

演算法: - 邏輯迴歸 - 隨機森林

特徵空間: - 原始功能 - 原始特徵+節點級特徵 - 原始特徵+節點級特徵+聚類特徵

```python

建模示例程式碼

lr = LogisticRegression(penalty='none', solver='saga', random_state=42, n_jobs=-1) rf = RandomForestClassifier(n_estimators=300, max_depth=5, min_samples_leaf=50, max_features=0.3, random_state=42, n_jobs=-1) lr.fit(x_tr, y_tr) rf.fit(x_tr, y_tr) preds_lr = lr.predict_proba(x_val)[:,1] preds_rf = rf.predict_proba(x_val)[:,1] ```

我們使用 AUC 作為測試集的評估指標,ROC 曲線如下:

結合最終的效果圖,可以很清晰地看到:

  • 具有圖特徵的模型表現出色
  • 節點級別特徵效果非常好
  • 聚類特徵對結果也有補充作用

💡 總結

對於關聯型業務場景,我們可以查詢、視覺化和分析圖資料,構建有效的資訊支撐更強大的商業欺詐方案,特別是對於試圖通過複雜網路結構隱藏的欺詐活動,相比傳統方法有很大效果提升。

將關係資訊和圖的預測特徵新增到機器學習管道中可以提高模型效能,針對多方參與欺詐活動的場景尤其明顯。

參考資料

「其他文章」