圖資料探勘!使用圖分析+AI進行保險欺詐檢測
highlight: a11y-dark
攜手創作,共同成長!這是我參與「掘金日新計劃 · 8 月更文挑戰」的第22天,點選檢視活動詳情
- 💡 作者:韓信子@ShowMeAI
- 📘 機器學習實戰系列:https://www.showmeai.tech/tutorials/41
- 📘 本文地址:https://www.showmeai.tech/article-detail/307
- 📢 宣告:版權所有,轉載請聯絡平臺與作者並註明出處
- 📢 收藏ShowMeAI檢視更多精彩內容
保險欺詐是一個巨大的問題,保險業長期以來一直在與欺詐作鬥爭。健康保險欺詐是一種作假騙保的行為,整個欺詐過程可能涉及患者、醫生和受益人的同行的配合聯合行動,聯合欺詐的異常行為可能形成一個欺詐圈, 普通機器學習AI演算法很難基於基礎資訊發現欺詐活動。而這類場景有著強有效作用的,是關係網資料的挖掘和資訊支撐。
大家可以從下述新聞做一些瞭解: 📘同盾科技:AI智慧助力保險反欺詐,科技能力再升級_財經_中國網 📘數千億保險反欺詐市場:人工智慧尋覓用武之地_騰訊新聞
在本篇內容中, ShowMeAI 將基於保險欺詐場景案例給大家講解,如何進行有效的圖挖掘,並將挖掘到的資訊提供給AI模型,輔助精準檢測識別商業保險欺詐。
本篇內容結構如下:
- Graph 圖與圖挖掘基礎
- 圖搜尋和查詢以瞭解關係
- 使用圖特徵增強機器學習模型
💡 Graph圖與圖挖掘基礎
📌 什麼是Graph圖
在圖論中,圖是一種結構,包含『相關聯』的一些節點和連線的邊。圖中的物件稱為『節點』,每個相關的節點之間的連線稱為『邊』。
簡而言之,Graph圖是任何型別的網路的數學表示,包含:
- 節點,在醫療保險場景中,可以是:
- 投保人
- 醫生
- 邊是節點之間的關係/互動/行為:
- 索賠保單持有人
- 索賠被保險人
💡 圖挖掘:搜尋和查詢
圖形資料庫是專門為圖關聯資料儲存和查詢而構建的,圖查詢語言是根據節點之間的模式匹配來完成查詢的。通過圖查詢語言進行圖視覺化有助於分析大量資料並識別欺詐活動的模式。典型的圖資料庫如 📘Nebula Graph,我們本次的分析挖掘用到的資料集是 🏆insurance claims 保險索賠資料,大家可以通過 ShowMeAI 的百度網盤地址下載。
🏆 實戰資料集下載(百度網盤):公眾號『ShowMeAI研究中心』回覆『實戰』,或者點選 這裡 獲取本文 [16]圖資料探勘!使用圖分析+AI進行保險欺詐檢測 『insurance claims 保險索賠資料集』
⭐ ShowMeAI官方GitHub:https://github.com/ShowMeAI-Hub
📌 欺詐典型案例
查詢欺詐性索賠『C4377』的投保人提出的所有索賠,並顯示索賠『C4377』患者的疾病。
為了深入瞭解這個投保人(PH3759),我們看到這個人在不同的提供者那裡看到了不同的醫生,這是不正常的。
📌 與欺詐性索賠相關的投保人關係
下圖顯示了具有欺詐風險『C4377』的連線關係。我們看到一個高風險投保人處於 1 度連線中,而另一個高風險投保人處於 3 度連線中。
💡 使用圖特徵增強機器學習模型
特徵工程是從現有資料中抽取有用資訊的過程。
關於機器學習特徵工程,大家可以參考 ShowMeAI 整理的特徵工程最全解讀教程。
大部分機器學習應用依賴於結構化表格資料建模,而沒有有效利用圖關聯關係和上下文資料,在我們今天提到的這類關聯場景中,這類資訊至關重要。如果不考慮關聯,單獨看每個索賠/提供者都像是合法的。
在下面內容中,ShowMeAI 會演示把結構化表格資料轉換為圖,並提取圖特徵進而增強機器學習模型方法示例。包括下面幾個環節:
- 將結構化資料提取到 Python 圖結構中
- 圖資料的特徵工程
- 將圖特徵整合到機器學習管道中
📌 將結構化資料提取到圖結構中
我們這裡用到Python圖工具 📘iGraph 來完成基本操作,它可以有效地和 pandas Dataframe 等結構結合。
資料集來自醫療保險領域,包括提供者提出的索賠以及每項索賠的受益人資訊,可以通過 ShowMeAI 的百度網盤地址下載。
🏆 實戰資料集下載(百度網盤):公眾號『ShowMeAI研究中心』回覆『實戰』,或者點選 這裡 獲取本文 [16]圖資料探勘!使用圖分析+AI進行保險欺詐檢測 『insurance claims 保險索賠資料集』
⭐ ShowMeAI官方GitHub:https://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 曲線如下:
結合最終的效果圖,可以很清晰地看到:
- 具有圖特徵的模型表現出色
- 節點級別特徵效果非常好
- 聚類特徵對結果也有補充作用
💡 總結
對於關聯型業務場景,我們可以查詢、視覺化和分析圖資料,構建有效的資訊支撐更強大的商業欺詐方案,特別是對於試圖通過複雜網路結構隱藏的欺詐活動,相比傳統方法有很大效果提升。
將關係資訊和圖的預測特徵新增到機器學習管道中可以提高模型效能,針對多方參與欺詐活動的場景尤其明顯。
參考資料
- 📘 同盾科技:AI智慧助力保險反欺詐,科技能力再升級_財經_中國網
- 📘 數千億保險反欺詐市場:人工智慧尋覓用武之地_騰訊新聞
- 📘 iGraph
- 📘 https://www.iii.org/article/background-on-insurance-fraud
- 📘 https://github.com/IBM/analyzing-insurance-claims-using-ibm-db2-graph
- 📘 https://github.com/vesoft-inc/nebula
- 📘 https://machinelearningmastery.com/discover-feature-engineering-how-to-engineer-features-and-how-to-get-good-at-it/
- 📘 https://www.kaggle.com/datasets/rohitrox/healthcare-provider-fraud-detection-analysis
- 📘 https://igraph.org/python/
- 感謝飛書放過幕布!100個GPT-4實戰案例;GPT-4免費平替Poe;AI繪畫新手指南之SD篇;new Bing靠譜教程 | ShowMeAI日報
- whylogs工具庫的工業實踐!機器學習模型流程與效果監控 ⛵
- 脈脈瘋傳!2023年程式設計師生存指南;多款prompt效率加倍工具;提示工程師最全祕籍;AI裁員正在發生 | ShowMeAI日報
- 中國風?古典系?AI中文繪圖創作嚐鮮!⛵
- Python中內建資料庫!SQLite使用指南!
- Pandas中你一定要掌握的時間序列相關高階功能
- 資料科學家賺多少?資料全分析與視覺化 ⛵
- 互動式儀表板!Python輕鬆完成!⛵
- ChatGPT!我是你的破壁人;比爾·蓋茨不看好Web3與元宇宙;FIFA押中4屆世界盃冠軍;GitHub今日熱榜 | ShowMeAI資訊日報
- ChatGPT要收費了;華爾街大裁員;阿里2023十大科技趨勢;小紅書元宇宙虛擬服飾被吐槽;GitHub今日熱榜 | ShowMeAI資訊日報
- AI創業時代!這9個方向有錢途;AIGC再添霸榜應用Lensa;美團SemEval2022冠軍方法分享;醫學影象處理工具箱… | ShowMeAI資訊日報
- 噓!P站資料分析年報;各省市疫情感染進度條;愛奇藝推出元宇宙App;You推出AI聊天機器人;GitHub今日熱榜 | ShowMeAI資訊日報
- 美國公司裁員潮時間線◉科技寒冬視覺化;3份報告回顧中國開發者2022;自動駕駛下半場,誰會衝出重圍 | ShowMeAI每週通訊 #005-01.07
- 副業月入過萬?資料有話說;掃地機器人發展到哪步了;疫情後要不要重返辦公室;淘寶元宇宙直播間;GitHub今日熱榜 | ShowMeAI資訊日報
- 大戰谷歌!微軟Bing引入ChatGPT;羊了個羊40萬年薪招研發;Debian徹底移除Python2;GitHub今日熱榜 | ShowMeAI資訊日報
- 酸了!樂視工作制改為四天半;高通新年裁員;AI繪畫公司開始倒閉;網易入股張藝謀元宇宙公司;GitHub今日熱榜 | ShowMeAI資訊日報
- 要麼幹要麼滾!推特開始裁員了;深度學習產品應用·隨書程式碼;可分離各種樂器音源的工具包;Transformer教程;前沿論文 | ShowMeAI資訊日報
- 真實世界的人工智慧應用落地——OpenAI篇 ⛵
- 陽過→陽康,資料裡的時代側影;谷歌慌了!看各公司如何應對ChatGPT;兩份優質AI年報;本週技術高光時刻 | ShowMeAI每週通訊 #003-12.24
- 用魔法打敗魔法!這件毛衣讓攝像頭看不到你;兩款酷炫的AI寫作軟體;快如閃電的B站下載工具;基於擴散模型的蛋白質設計 | ShowMeAI資訊日報