基于决策树和随机森林的国际长途欺诈检测模型*
2018-12-19吴锡松李金柱
吴锡松,李金柱
(中移信息技术有限公司大数据应用部,广东 深圳 518048)
0 引 言
随着电信运营商通信业务的发展日趋成熟,用户市场也日渐饱和,三大运营商为争夺市场以及响应国家“提速降费”号召,不断下调资费。资费的下调必然给运营商带来营收压力,引起收入流失。
然而,降费仅仅是导致运营商收入流失的一种常见因素,另一种不为大多数人了解的原因是国际长途欺诈,会给运营商带来一定程度的收入损失[1]。所谓的国际长途欺诈,指的是不法分子通过盗取他人移动电话或固定电话,连续性拨打国外高结算方向声讯台,再与声讯台进行利益分成的欺诈手段。这类欺诈行为普遍具有并发数高的特点,1 min内可发起成百甚至上千路通话。正是由于这个特性,当运营商监控到此类行为时,虽第一时间对其进行了控制,但最终还是产生了大量结算费用。这种情况下,移动电话或固定电话的被盗用户往往会拒绝缴纳欺诈所产生的话费,但按照国际标准约定,运营商即使没有向用户收回话费,也仍需要向对方运营商进行结算,收入流失由此产生。
1 研究现状
为防止国际长途欺诈,电信运营商建立了相应的反欺诈系统,对异常用户的通信行为进行监控。若检测到疑似欺诈用户,则下发预警至业务人员进行处理,最大程度降低欺诈损失[2]。
各运营商的反欺诈系统功能类似,都具有类似的模块,主要包含以下几个部分[3]。
(1)数据源:反欺诈系统的数据源主要是用户话单,不同类型的用户话单通过交换机采集后存储在不同系统,最后下发至反欺诈系统。
(2)预处理:收到上游系统下发的话单,反欺诈系统需要预处理话单,主要是校验话单格式是否符合标准,以便系统进行后续检测。
(3)规则库:专家通过业务经验建立欺诈检测规则,包括对端号码相似、通话重叠、被叫号码黑名单等。
(4)欺诈检测:将接收的话单与配置的预警规则进行匹配,若话单符合规则行为,则系统将其判定为疑似欺诈。
(5)预警下发:将系统判定为疑似欺诈的用户生成电子工单,下发至省市公司进行处理,由省市公司结合用户当前状态进行确认,若确认为欺诈,则对其进行关停处理。
可以看出,反欺诈系统的核心在于规则库,系统依据事先设定好的预警规则判断用户通信行为是否异常。这种反欺诈系统的欺诈检测机制优点在于可在前台灵活配置预警规则,实现了规则配置的可视化,能够根据欺诈变化趋势及时调整参数,快速响应外部需求。
然而,此类欺诈检测方式的缺点也显而易见,预警规则都是通过业务经验设定,迭代优化受限于人为因素,出现新型欺诈形式时,系统有可能无法检测到。针对上述问题,本文拟通过决策树及随机森林算法分析用户通信行为,构建国际长途高额欺诈检测模型,输出异常用户判定规则,以此优化反欺诈系统中的预警规则,解决预警规则存在的专家经验主观性问题[4]。
2 国际长途高额欺诈检测模型
2.1 理论基础
2.1.1 决策树
决策树是一个树结构(可以是二叉树或非二叉树),其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。但是,决策树存在过拟合情况,导致泛化能力变弱[5]。
2.1.2 随机森林算法
随机森林算法是在决策树的基础上引进随机属性选择的一种算法,包含多棵决策树,算法分类结果由这些决策树投票得到。决策树生成过程中分别在行方向和列方向上添加随机过程。行方向上构建决策树时采用放回抽样得到训练数据,列方向上采用无放回随机抽样得到特征子集,并据此得到最优切分点。正是由于随机森林是通过多个决策树的投票结果进行分类,因此避免了决策树存在的过渡拟合问题[6]。
2.2 模型设计
2.2.1 数据探索
由于样本量较少,需要对欺诈数据及全量数据进行相应分析,找到相关特征构造样本。
(1)欺诈数据分析
为找到欺诈用户通信行为的特征值,选取2016年7月-2017年6月期间欺诈用户的话单数据进行分析,得到单条话单通话金额、通话重叠次数、连续主叫次数、通话时长中位数、通话并发路数共五个方面的特征和欺诈用户数37人。
(2)全量数据分析
选取2017年10月1日-10月7日期间产生的国际长途话单,全量数据共计约1 050万条,从通话时长、通话时间、交往圈、通话时段四个方面进行分析,找到异常用户特征。
第一,通话时长分位数分析。通过计算每个用户多条话单的通话时长的1/4分位数、中位数和3/4分位数,找到异常用户通话时长的异常行为特征。
第二,通话时间重叠分析。正常情况下,用户通话开始至结束不会发起另一起通话,若一条话单的通话结束时间与另一条话单的通话开始时间出现交叉则属于通话重叠,重叠超过一定次数,则认定为异常。
第三,交往圈人数占总话单量比例分析。根据通信指纹的定义,一般用户的交往圈比较固定,通话对象主要集中在一定范围内。若用户交往圈人数占总话单量比例超过一定阈值,即认为是异常行为的表现。
第四,单日通话时段数分析。根据业务理解和实际情况分析,若一个用户在一天内的多个时段内均出现通话行为,可认为该用户通话过于频繁,疑似异常。
通过以上分析,将通话时长、通话时间、交往圈、通话时段四个特征值超过一定阈值的用户定义为异常用户。
2.2.2 样本构造
由于欺诈用户较少,故利用全部欺诈用户数据及10月非欺诈用户数据进行样本构造。为了将有可能出现异常甚至是欺诈的用户全部包含在内,通过前文分析设定筛选条件。本模型将用户数据分为三类——欺诈用户、异常用户和正常用户,最终确认三类样本数量如表1所示。
表1 样本量
2.2.3 特征选择
结合前文对欺诈用户和异常用户的分析,根据原始话单生成衍生变量,并最终选取以下12个衍生字段进行建模:
(1)通话重叠次数;
(2)同一时刻最大通话次数;
(3)连续通话次数(上次通话结束后30 s内出现通话即算连续通话);
(4)每小时最高持续通话时长;
(5)每小时最高通话频次;
(6)通话总时长;
(7)通话总次数;
(8)通话时长1/4分位数;
(9)通话时长中位数;
(10)通话时长3/4分位数;
(11)当天通话时段数;
(12)交往圈人数占总话单数比例。
2.2.4 模型构建
本次建模采用Python语言,利用基于Python的机器学习库scikit-learn实现。从前文构造的三类样本数据中分别随机抽取70%构成训练集,剩下的30%作为测试集,以保证每类样本均出现在训练集和测试集中。表2为训练集和测试集中三类样本的量。
表2 样本
(1)决策树模型
本模型训练集数据为3万左右。经反复测试,将决策树的最大深度“max_depth”参数值设置为6,效果较好。
(2)随机森林模型
经调试,由于样本之间的特征存在较显著的差异,弱学习器的最大个数“n_estimators”设置为25,决策树最大深度“max_depth”设置为6时,效果较好。
3 模型结果分析
3.1 模型评价指标
由于本次建模过程中测试集的异常用户和欺诈用户样本量均较小,可通过混淆矩阵(Confusion Matrix)直观表现出模型的评估效果,并计算出异常用户和欺诈用户的查准率和查全率。在机器学习领域中,混淆矩阵是一种评估分类模型效果的形象化展示工具,其中矩阵的每一列表示模型预测的样本情况,矩阵的每一行表示样本的真实情况。
3.2 模型结果分析
3.2.1 决策树
通过scikit-learn的confusion matrix输出模型预测值与样本真实标签的混淆矩阵,如表3所示。
表3 决策树预测结果
根据表3,得到正常用户、欺诈用户和异常用户的查全率和查准率,如表4所示。
表4 决策树查全率和查准率
3.2.2 随机森林
通过scikit-learn的confusion matrix输出模型预测值与样本真实标签的混淆矩阵,如表5所示。
表5 随机森林预测结果
根据表5,得到正常用户、欺诈用户和异常用户的查全率和查准率,如表6所示。
表6 随机森林查全率和查准率
经反复训练测试欺诈用户和异常用户,决策树的查准率整体要高于随机森林,而查全率低于随机森林,但本模型的最终目的是更精准识别欺诈用户和异常用户。决策树模型的查准率高于随机森林模型,说明国际长途高额欺诈模型宜选用决策树模型。
另外,对于决策树模型,从特征的贡献度来看,通话重叠、通信指纹以及通话次数的贡献度最高,可以针对这三个特征制定新的预警规则,并将其部署到反欺诈系统中。
4 结 语
本文通过分析异常用户及欺诈用户的通信行为,提取两类用户的行为特征值,最后通过决策树和随机森林两种模型进行预测,得到的预测结果均较为理想。同时,可根据模型特征值的贡献度,将贡献度最大的特征值制定为反欺诈系统的预警规则,从而避免前文所述预警规则的制定过于依赖业务专家经验的问题,提升反欺诈系统的准确性和客观性。