吕恩泽
摘要:时间序列是随时间变化且相互关联的数据序列,在经济、金融、科学观测和工程等各个领域都广泛存在。如何有效地管理和利用历史时间序列,发现这些数据背后隐含的规律和知识,是人们广泛关注的问题。根据传统时间序列分析提出假设,进行验证的数据处理方法不同,时间序列数据挖掘适合发现型任务,能从大量历史数据中挖掘潜在的、未知的、有价值的知识,已吸引了越来越多科研人员与大型公司的关注。本文对比了几个时间序列模型方法,并研究发现其中的问题与解决方法,以供参考。
关键词:金融;机构;时间序列
DOI:10.12433/zgkjtz.20233110
中国银联的业务部门有监控各家收单机构(各大银行、拉卡拉、通联支持、汇付支付、开店宝等)交易量的需求,例如,某家交易机构当天交易金额反常时产生报警给业务人员:分析定位问题、查找是否违规、手续费率变更等。从性质上来看,是一个典型的时间序列异常侦测应用场景。时间序列异常侦测有很多方法,例如,分析数据的周期、趋势、频率、幅度等。不过,直接分析数据的时序特质主观因素会较强烈,可以采用巧妙的方式,直接预测机构交易量,再根据真实交易量是否落在预测值上下的一个范围内,作出异常判定,把时间序列异常侦测的问题转化成时间序列预测的问题,以此变成有训练标签的场景,通过对机构历史交易数据(标签)进行建模训练,判断未来交易金额。
一、时间序列模型的分类与介绍
时间序列模型种类有很多,要做的是选出对场景最准确预测的模型。经过初步筛选确定简单统计学模型、Facebook的Prophet、有监督机器学习模型LightGBM、深度学习模型LSTM四个典型代表。
(一)统计学模型
大机构交易的数据特点是总体趋势平稳,但具有很强的周期性浮动,可以直接定义这一统计学模型,当天预测金额为前五周同日交易金额的平均值,这个模型看似朴素,其实为模型的选择树立了一个很简明的标杆(Benchmark),没有建模经验业务人员也可以用这种简单的数学公式做交易金额推导。从实际效果来看,模型表现出色(MAPE值相对较低),大多数不能跑赢这个统计学公式的机器学习模型,因此在初筛阶段被遗弃。
(二)Prophet
Facebook的Prophet是元宇宙公司开发的一款时间序列预测模型,会充分考虑历史数据的分布,把数据的非线性趋势和年周期、周周期,再加上节假日影响性,综合评估并给予预测。该模型的最大特点会考虑特殊日子(节假日、大促、大型比赛等)对数据的影响,并允许自定义特殊日期。考虑到我国大促的力度和影响,把Prophet放在候选区里,观察是否会有良好的表现。
(三)LightGBM
LightGBM是一个梯度Boosting框架,使用基于决策树的学习算法,在目前时序预测领域中具有良好表现,据统计资料显示,在2020年Kaggle举办的M5时序预测比赛中,前50名作品有超过80%都加入了LightGBM的身影。作为一款有监督机器学习模型,LightGBM允许输入多个特征,可以把多个机构的数据混合训练。这种多元多序列的工作模式,对深入发掘数据规律具有积极作用。另一款模型XGBoost虽然预测效果与LightGBM差不多,但LightGBM的训练效率更高,成为机器学习模型的首选。
二、时间序列模型的实验分析
为了便于各种类型的模型比较以及参数调优,统一准备三年多的数据(2017年7月到2020年10月)用于训练和验证,从最后三个月的数据随机抽取测试集评价模型效果。单个模型采用机构名加线上或线下作为维度分别建模,然后汇总综合评分,评价使用MAPE作为指标。需要指出的是,LightGBM模型的特点是利用上述特征,为了发挥本身的特性,做了额外的特征工程:对交易金额、笔数等时间特征做滑窗处理,再加上机构自身的特征,用以模型训练。
经过大量测试发现,LightGBM对各家机构的预测偏差基本在5%以内,明显好于统计标杆和其他模型。本文确定以LightGBM为预测交易资金的主模型,但现在的问题是如何调优模型,尽可能提高预判的准确率。当然,直接的方式是通过模型调参,虽然可以通过利用网格搜索技术进行超参调优,但模型在验证数据精准提升不大,也存在过拟合的潜在问题,必须搜索每个机构模型单独网格,时间和资源的大量消耗难以达到满意效果。
通过大量的模型和数据研究之后得出改进方案,LightGBM的特质是可以把多家机构数据一起训练,通过把机构放入同一个模型共同训练,提炼机构间的共有规律,提高模型的准确率。于是随机筛选出一批机构单独建模记录MAPE成绩,再混合训练进行对比,部分機构的效果比之前有所提高(MAPE更低),另一部分机构预测能力却不如之前,这是因为共同训练淡化了一些本来可以很好刻画该机构交易量的特征。可以得出结论,每家机构都有自己的业务模式,要改进一版方案,找到具有相同业务模式的机构并把它们放在同一个LightGBM模型中训练。通过对数据的干预分类,让模型可以更好地学习业务模式上的规律,在这种情况下,每种机构的类型会产生一个模型。
三、机构重排的方法
通过观察交易数据得出结论,银行间的业务模式也并不相同,有的银行业务模式甚至和三方机构更接近,要想完善模型,还要重排机构。
无标签聚类算法是针对机构重排一种很有效的手段,各种算法在网上也有很详细的解释。基本上大多数聚类算法都是通过对象的特征值,计算对象与对象的距离,再根据距离的长短聚合。要使用一种新颖的基于结果导向的图聚类算法,核心思想是把每个机构看成图上的一个点,确定哪些点之间可以建边,有了点和边的关系,利用类似于Louvain的算法计算机构间的社区关系,把两两一组的机构用LightGBM进行共同建模,如果两家机构的结果都比分别建模效果好,就可以定义这两家机构的点之间存在一条边。有了数据之后,利用图算法把机构聚合成若干个社区共同训练。
四、机构交易预测模型遇到的问题与解决办法
机构交易预测模型已完成了一半,但仍存在两个问题:第一,对于有长期趋势的机构,模型预测能力较差,主要是因为基于增强树模型的LightGBM没有办法预测未知数据范围的交易值,对于新兴机构或夕阳机构,预测的表述能力还不够。第二,对于少数复杂业务模式,LightGBM难以抓住规律,分别表现为两种情况,MAPE过高或大量依靠前一天的交易量預测,会影响模型预测的准确性,但业务上又不能过滤小众机构,因此最终模型必须提供一定程度的兼容性。
为了解决这一问题,决定引进一个新的模型中和LightGBM的不足。最后的交易预测模型内部是一个双模型,两个模型分别作出判断,只有当真实值和两个预测值都不接近时,才会检测异常。两个模型相互辅佐,会大大减少模型本身带来的误差,让业务人员从频繁告警中解脱出来,关注一些真正重要的内容。
本文选择深度学习模型LSTM作为第二个模型,作为RNN的改进版本,这种门控循环网络能记住并发现长时间数据的规律,在复杂的业务场景下,深度学习对比起机器学习,能挖掘数据深层次的规律并提供更好的拟合效果。LSTM的回归特性能够预测机构的趋势,在金融支付场景下,是对LightGBM很好的补充。
不幸的是,直接使用TensorFlow的LSTM包预测效果在数据集下效果并不理想,所以在LSTM层上前置一层卷积神经网络层(CNN),用来提取野内周期数据的局部特征。可以看到,前置卷积神经网络的LSTM在某些小众机构预测表达能力,比起LightGBM提高了3~5倍。
当然,LSTM也有不足,单个模型训练速度缓慢,机构之间也不能共同训练,必须单机构单模型。基于银联机构的数量和时间成本考虑,双模型架构具有两个不同的模型更新周期:LightGBM按周更新模型,而LSTM的更新周期为月。
此外,需要确定异常告警阈值,场景中的阈值定义为15%,这个基线可以确保大多数的机构精准率和召回率在98%以上,满足业务上的异常侦测需求,又不至于造成告警风暴,让人工智能把业务人员从繁重的数据比对和统计工作中解脱出来。
五、结语
金融支付领域机构交易时间序列由于数据量大、维数高、规律周期跨度长,直接检测其中的异常模式较难,所以利用LSTM和LightGBM一个机器学习模型和一个深度学习模型混合检测,既可以高效地检测数据中的异常模式,还能反映数据在不同时间段内的变化趋势,满足日常生活中业务上的需求。同时,模型还附带给出了预测交易量,对战略决策规划具有参考作用。
参考文献:
[1]周大镯,刘月芬,马文秀.时间序列异常检测[J].计算机工程与应用,2008,44(35):145-147.
[2]苏卫星,朱云龙,刘芳,等.时间序列异常点及突变点的检测算法[J].计算机研究与发展,2014,51(04):781-788.
[3]肖辉.时间序列的相似性查询与异常检测[D]上海:复旦大学,2005.