金融反欺诈案例研究(商业智能实验)

395 阅读6分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第22天,点击查看活动详情

大连海事大学商业智能金融反欺诈案例研究实验:通过基本XGboost和随机森林模型进行金融反欺诈研究,XGboost以及他的改良版本在kaglle上的表现一点不比神经网络差,而且可解释性更强。当然我觉得这里最大的参考价值在于调参,封装好的,很好用。

一、实验背景

随着金融科技的发展,移动支付已经在人们的生活中占据越来越重要的地位。大家在生活中肯定会经常用到支付宝、微信等移动支付方式。随着移动金融支付的普及,金融欺诈问题也越来越成为一个严峻的挑战。不同于传统现金支付或者去银行柜台转账,移动金融支付往往只需要输入密码或者指纹,很容易发生客户被诈骗的事件。当前,电话诈骗、短信诈骗、互联网诈骗等层出不穷,给人们的生活带来了极大困扰。金融监管部门正在多渠道对金融诈骗进行打击,对于银行、支付宝、微信等公司来说,有效的识别金融诈骗,尽早阻止诈骗交易也是十分重要的!这不仅有利于维护客户财产安全,增加客户信任,对帮助金融监管部门打击金融诈骗也有积极作用。

该数据集基于非洲某一个国家某月真实的金融交易记录,该交易记录由一家当前运行在全球14个国家的金融交易服务公司提供,因此该交易数据集具有代表性。本案例使用的数据集是基于真实的交易数据生成的模拟数据集,这个数据集较好地刻画了真实金融交易的状况,但是又不会引发隐私泄露问题。

由于该数据集过于庞大,因此我们只抽取其中一天交易日的数据作为样本。

二、数据集介绍

列名*含义说明*
step时间范围,1表示凌晨12:00-1:00
type交易类型:共有CASH-IN, CASH-OUT, DEBIT, PAYMENT and TRANSFER五种
amount交易金额(以当地货币单位计价)
nameOrig交易者
oldbalanceOrg交易之前的账户余额
newbalanceOrig交易之后的账户余额
nameDest交易的接受方
oldbalanceDest交易之前交易接受方的账户余额,如果是商家,则无信息
newbalanceDest交易之后交易接受方的账户余额,如果是商家,则无信息
isFraud如果是欺诈交易,取值为1,否则为0

 

三、数据探索

1. 数据基本信息

image.png

可以看到,该数据集有574255个样本,每一列都没有缺失数据,这意味着不需要进行缺失值处理。另外,还可以看到每一列的数据类型

2. 描述性统计分析

查看各个列的基本统计信息,统计并生成数据集中各个字段的样本数、均值、标准差、最小值、四分位数等基本信息。

image.png

3. 金融交易、金融诈骗时间分布

从上面的信息可以看到,大概有0.047%的交易是欺诈交易,也就是说每一万笔交易中大概有五笔交易是欺诈交易,而支付宝每天的交易规模都在上亿笔,如果金融欺诈交易发生概率是0.047%,那么金融欺诈交易的数量会是一个非常可怕的数字。

接下来,我们逐列分析一下交易数据,来发现数字背后隐藏的规律。

image.png image.png

可以看到,凌晨和夜晚交易的笔数相对较少,交易数量从上午7点左右开始迅速增多,一直到20点开始快速下降,这是符合常理的。交易的峰值出现在晚上18点-19点,有超过5万笔交易数据,因为此时人们通常已经下班,相对有更加充足的时间进行网上购物、支付转账等交易。

相比于金融交易,金融诈骗交易的时间段分布并不是那么有规律可循,而是类似于呈现波峰波谷的交替分布,表明金融诈骗在一天中的各个时间段都有可能发生。

image.png

我们可以发现,金融诈骗确实主要发生在夜间!也就是用户熟睡的时候,因为这个时候用户基本上没有什么防范能力。

联想到之前发生的不法分子趁用户熟睡时进行金融诈骗的案例,表明该数据是和现实情况一致的,这也提醒银行、支付宝等金融服务部门和金融监管部门在该时间段对此类问题给予更多的关注。

 

4. 金融交易类型及金融诈骗金额分析

image.png

可以发现,金融诈骗只出现在两种交易中,一种是现金流出CASH_OUT,另外一种是转账TRANSFER。因为诈骗一定涉及到财产的减少,也就是财产流出,所以诈骗交易只出现在现金流出CASH_OUT和转账TRANSFER两列,是符合实际的。

那么每次金融诈骗发生的时候,会转走用户多少钱呢?是会选择全部转走吗?这里,我们要查看涉及诈骗交易时,交易后用户账户余额newbalanceOrig列为0的账户个数。

首先我们找到所有涉及诈骗交易的账户,然后我们查看诈骗交易账户中交易后余额为0的账户数量。

image.png

可以发现,一共只有271单诈骗交易,而选择全部将客户的钱转走占据了267单!这警示我们一旦诈骗得手,造成的会是非常严重的损失——有很大的概率转移走全部账户余额!

image.png

可以发现,金融诈骗的平均交易金额远远大于正常的(现金流出CASH_OUT和转账TRANSFER业务)平均交易金额,因此金融监管部门在遇到超过正常平均交易金额很多的交易的时候,需要加以注意,判断其是否是金融诈骗。

四、机器学习方法识别金融交易欺诈

1. 随机森林模型

image.png

image.png

可以看到,随机森林模型对金融诈骗交易(少数类)的精确率较高,但是召回率较低不是很理想。

 

2. XGBoost

image.png

image.png

可以看到,XGBoost模型效果不错,对金融诈骗交易(少数类)的召回率达到了78%,相对随机森林有很大的提升,但是精确率并不如随机森林。

image.png

选择参数n_estimators: 10, scale_pos_weight: 50时,模型表现最好,对金融诈骗交易的召回率达到了90.7%

五、实验总结:

通过数据分析,得到了金融诈骗易发生时段,金融诈骗基本特征,有助于帮助人们防范金融诈骗。同时也为相关部分防范金融诈骗提供了部分参考。

为了有效识别金融诈骗,本实验采用了随机森林以及XGBoost的方式实现预测分类。经过实验表明树模型分类方法对于金融诈骗识别具有比较好的效果。但是如果需要更高的识别准确率需要更加复杂的模型。

代码

gitee