CN112651785A - 交易量实时监测方法与系统 - Google Patents

交易量实时监测方法与系统 Download PDF

Info

Publication number
CN112651785A
CN112651785A CN202011630230.8A CN202011630230A CN112651785A CN 112651785 A CN112651785 A CN 112651785A CN 202011630230 A CN202011630230 A CN 202011630230A CN 112651785 A CN112651785 A CN 112651785A
Authority
CN
China
Prior art keywords
time
transaction amount
data
transaction
machine learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011630230.8A
Other languages
English (en)
Other versions
CN112651785B (zh
Inventor
刘晓龙
赵焕芳
侯鑫磊
刘云飞
牛佩云
马晓维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202011630230.8A priority Critical patent/CN112651785B/zh
Publication of CN112651785A publication Critical patent/CN112651785A/zh
Application granted granted Critical
Publication of CN112651785B publication Critical patent/CN112651785B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0202Market predictions or forecasting for commercial activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Technology Law (AREA)
  • Medical Informatics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供交易量实时监测方法与系统,可实时对交易量进行统计,并预测未来的交易量,得到交易量预测值,然后对同一时刻的真实交易量和交易量预测值进行偏差度计算,当偏差超过预定值时,进行实时预警,方便运营人员及时发现异常,并作出应急处置,避免巨额经济损失。并且,在本发明实施例中,机器学习模型的训练,以及交易量的预测是同时在生产上运行的。一方面,训练平台周期性获取数据库中的数据,以训练更新机器学习模型,并将训练好的机器学习模型和模型参数发布至流计算平台;另一方面,流计算平台定期加载最新的机器学习模型和模型参数进行实时交易量的预测。这样可对机器学习模型进行快速迭代,对业务和交易的实际变化适应更快速。

Description

交易量实时监测方法与系统
技术领域
本发明涉及大数据处理技术领域,特别涉及交易量实时监测方法与系统。
背景技术
随着线上产品和业务的不断发展,一些恶意交易行为(例如攻击、“薅羊毛”)随之而来,并有愈演愈烈的趋势。这些被攻击或薅羊毛的线上产品或业务在遭受非正常申请时,都会在短时间内出现明显异常的交易量波动;而如果能够快速检测出异常的交易量波动,就可以为应对恶意交易行为争取更多时间,也能挽回巨大的经济损失。
发明内容
有鉴于此,本发明实施例提供交易量实时监测方法与系统,以快速检测出异常的交易量波动。
为实现上述目的,本发明实施例提供如下技术方案:
一种交易量实时监测方法,基于交易量实时监测系统,所述交易量实时监测系统包括:数据通道、流计算平台和训练平台;所述数据通道用于接收交易数据;所述交易数据是用户或上游系统发起交易时的采集的;
所述交易量实时监测方法包括:
所述流计算平台获取所述数据通道中的实时交易数据并统计出实时交易量;
所述流计算平台将所述实时交易数据和交易量数据存至数据通道和数据库;所述训练平台用于进行离线机器学习模型训练,得到初始的机器学习模型,并根据所述数据库中数据进行周期性的机器学习模型训练;其中,在任一周期的训练过程中,所述训练平台获取所述数据通道中预设时间范围内的数据,根据获取的数据训练所述初始的机器学习模型或上一周期训练得到的机器学习模型,将训练好的机器学习模型和模型参数发布至所述流计算平台;所述预设时间范围的终点为所述任一周期的开始时刻;
所述流计算平台使用所述实时交易数据作为自定义算子的输入,输出对未来N个时间切片的交易量预测结果;N为正整数;所述自定义算子包括所述流计算平台定期加载的、最新训练好的机器学习模型和模型参数;
所述流计算平台将所述实时交易量,与相应的交易量预测结果进行偏差度计算;
若偏差度大于预定值时,所述流计算平台推送预警信号;所述相应的交易量预测结果包括:当前时刻所对应的时间切片的交易量预测结果。
可选的,所述数据通道中的交易数据为交易日志;所述流计算平台部署有第一至第三流计算作业;所述获取所述数据通道中的实时交易数据并统计出交易量数据包括:第一流计算作业从所述数据通道中获取交易日志,从获取的交易日志筛选出预设维度的交易日志,对筛选出的交易日志进行时间切片和预处理,以加工出时间序列数据流;所述预处理至少包括:统计每一时间切片内的交易量;所述时间序列数据流包括:按时间切片分布的交易量;所述使用所述实时交易数据作为自定义算子的输入,输出对未来N个时间切片的交易量预测结果包括:第二流计算作业使用所述时间序列数据流作为输入,将加载的、最新训练好的机器学习模型和模型参数嵌入为自定义算子,由所述时间序列数据流触发进行实时预测,并输出预测交易量数据流;所述预测交易量数据流包括:未来N个时间切片的预测交易量;所述将所述实时交易量,与相应的交易量预测结果进行偏差度计算包括:第三流计算作业拉取所述第一流计算作业加工的时间序列数据流,按时间切片与第二流计算作业的预测交易量数据流,进行偏差度计算。
可选的,离线机器学习模型训练的训练过程或任一周期的训练过程包括:所述训练平台获取历史交易数据和对应的历史交易量数据作为样本;将样本划分至训练集、验证集和测试集;向机器学习模型输入所述训练集中的样本由机器学习模型进行N个时间切片的交易量预测,得到交易量预测值;根据N个时间切片的交易量预测值和时间相对应的历史交易量数据,使用L2正则化的加权交叉熵损失函数计算样本的损失值;在所述加权交叉熵损失函数中,负样本的权重高于正样本的权重;所述负样本包括:交易量预测值与相应的历史交易量数据的偏差度大于预设值的样本;根据计算出的损失值进行参数调整。
可选的,所述训练过程还包括:接收对负样本的人工复核结果;所述人工复核结果用于表征所述负样本是真正的负样本,或者,是被误识别为负样本的正样本;根据所述人工复核结果,对所述训练集中的样本进行标识;标识后的训练集中的样本用于下一次迭代训练使用。
可选的,训练过程还包括:对训练得到的机器学习模型的预测有效性进行验证。
可选的,所述对训练得到的机器学习模型的预测有效性进行验证包括:使用所述验证集对训练得到的机器学习模型的模型参数进行调整,以提升准确率;使用所述测试集作为训练得到的机器学习模型的最终评价集,计算得出准确率。
可选的,所述将训练好的机器学习模型和模型参数发布至所述流计算平台包括:验证通过后,将机器学习模型和模型参数保存为文件形式,发布到所述流计算平台的文件服务器。
一种交易量实时监测系统,包括:
数据通道用于接收用户或上游系统发起交易时采集的交易数据;
训练平台用于进行离线机器学习模型训练,得到初始的机器学习模型,并根据数据通道中数据进行周期性的机器学习模型训练;
流计算平台用于:
获取所述数据通道中的实时交易数据并统计出实时交易量;
将所述实时交易数据和交易量数据存至所述数据通道和数据库;
使用所述实时交易数据作为自定义算子的输入,输出对未来N个时间切片的交易量预测结果;N为正整数;所述自定义算子包括所述流计算平台定期加载的、最新训练好的机器学习模型和模型参数;
将所述实时交易量,与相应的交易量预测结果进行偏差度计算,若偏差度大于预定值时,推送预警信号;所述相应的交易量预测结果包括:当前时刻所对应的时间切片的交易量预测结果;
其中,在任一周期的训练过程中,所述训练平台具体用于:
获取所述数据通道中预设时间范围内的数据;所述预设时间范围的终点为所述任一周期的开始时刻;
根据获取的数据训练所述初始的机器学习模型或上一周期训练得到的机器学习模型;
将训练好的机器学习模型和模型参数发布至所述流计算平台。
可选的,所述数据通道中的交易数据为交易日志;所述流计算平台部署有第一至第三流计算作业;第一流计算作业用于:从所述数据通道中获取交易日志,从获取的交易日志筛选出预设维度的交易日志,对筛选出的交易日志进行时间切片和预处理,以加工出时间序列数据流;所述预处理至少包括:统计每一时间切片内的交易量;所述时间序列数据流包括:按时间切片分布的交易量;第二流计算作业用于:使用所述时间序列数据流作为输入,将加载的、最新训练好的机器学习模型和模型参数嵌入为自定义算子,由所述时间序列数据流触发进行实时预测,并输出预测交易量数据流;所述预测交易量数据流包括:未来N个时间切片的预测交易量;第三流计算作业用于:拉取所述第一流计算作业加工的时间序列数据流,按时间切片与第二流计算作业的预测交易量数据流,进行偏差度计算。
可选的,在离线机器学习模型训练的训练过程或任一周期的训练过程中,所述训练平台具体用于:获取历史交易数据和对应的历史交易量数据作为样本;将样本划分至训练集、验证集和测试集;向机器学习模型输入所述训练集中的样本由机器学习模型进行N个时间切片的交易量预测,得到交易量预测值;根据N个时间切片的交易量预测值和时间相对应的历史交易量数据,使用L2正则化的加权交叉熵损失函数计算样本的损失值;在所述加权交叉熵损失函数中,负样本的权重高于正样本的权重;所述负样本包括:交易量预测值与相应的历史交易量数据的偏差度大于预设值的样本;根据计算出的损失值进行参数调整。
可见,在本发明实施例中,可以实时对交易量进行统计,并预测未来的交易量,得到交易量预测值,然后对同一时刻的真实交易量和交易量预测值进行偏差度计算,当偏差超过预定值(也即检测出异常的交易量波动)时,进行实时预警,方便运营人员及时发现异常,并作出应急处置,避免巨额经济损失。
并且,在本发明实施例中,机器学习模型的训练,以及交易量的预测是同时在生产上运行的。一方面,训练平台周期性获取数据库中的数据,这些数据是近实时数据,以训练更新机器学习模型,并将训练好的机器学习模型和模型参数发布至流计算平台;另一方面,流计算平台会定期加载最新训练好的机器学习模型和模型参数进行实时交易量的预测。这样做的好处是可对机器学习模型进行快速迭代,对业务和交易的实际变化适应更快速。
附图说明
图1为本发明实施例提供的交易量实时监测系统的示例性结构;
图2为本发明实施例提供的交易量实时监测方法的一种示例性流程;
图3为本发明实施例提供的整体流程示意图;
图4为现有的异常交易量检测系统示意图;
图5为为本发明实施例提供的训练过程的一种示例性流程。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词总结如下:
流计算:一种针对流数据的计算框架,可以实时对无边界和有边界数据流上进行有状态或无状态的计算。常用的流计算引擎有Flink、Storm、Spark Streaming等;
LSTM:一种基于RNN的时间序列预测方法,可以基于过去的数组对未来数据进行预测,适用于自相关表现出有明显周期的时间序列。
随着大数据时代的到来和人工智能的崛起,流计算和机器学习的应用场景变得越来越广泛和多样。其中流计算技术,以Flink为例,由于其支持高吞吐、低延时、高性能特性,能以内存速度和任意规模进行实时数据的加工和展示而被广泛应用;而机器学习丰富的算法能够帮助企业从数据中挖掘更大的价值,让数据成为有效资产。同时,为了及时对市场或应用场景的变化进行反应,越来越多的业务希望能够用机器学习的方式直接对流式数据进行实时预测。
本发明实施例所提供的交易量实时监测方法与系统,结合了流计算和机器学习,能快速检测出异常的交易量波动。
请参见图1,上述交易量实时监测系统可包括数据通道1、训练平台2和流计算平台3。
其中,训练平台2作用之一是进行离线机器学习模型训练,得到初始的机器学习模型。
数据通道1用于接收用户发起交易时采集的交易数据。
此外,训练平台2和流计算平台3同时在生产上运行,训练平台2会周期性获取数据通道1中的数据进行周期性的机器学习模型训练(周期性的迭代训练);而流计算平台3则实时获取数据通道1中的数据,实时统计真实交易量,并基于训练平台2训练出的最新的机器学习模型预测未来的交易量,得到交易量预测值,然后对同一时刻的真实交易量和交易量预测值进行偏差度计算,当偏差超过预定值(也即检测出异常的交易量波动)时,进行实时预警。
本文后续将结合方法介绍每一模块的作用。
上述训练平台2、流计算平台3在硬件上包括一台计算机或计算机集群。
图2示出了由上述交易量实时监测系统所执行的交易量实时监测方法的一种示例性流程,包括:
S0:应用系统(业务系统)埋点采集实时交易数据,发送至数据通道。
在一个示例中,数据通道可指专用的消息中间件软件(或队列),如Kafka、RabbitMQ等。
埋点采集交易数据,指客户或上游系统使用应用系统过程中,触发埋点事件所采集的数据。这些数据一般是交易日志形式。
请参见图3,除埋点数据进入数据通道外,应用服务器会对用户或上游系统发起的交易进行业务逻辑处理,并将处理结果存储至实时交易监控系统自已的数据库中,再经分布式文件系统进行数据持久化。
这些持久化的数据可用于训练平台(批量计算平台)进行离线训练,得到初始化的机器学习模型。
具体的,这些持久化的数据可被加工出初始训练集、测试集、验证集,用于训练平台训练机器学习模型。
相对于业务逻辑处理这一分支,埋点数据发送至数据通道,以及后续的步骤为旁路处理。周期性的迭代训练,使用的是数据通道中的数据。
S1:流计算平台获取数据通道中的实时交易数据并统计出实时交易量。
具体的,流计算平台上可部署第一至第三流计算作业(流计算作业A-C)。
由第一流计算作业从数据通道中获取实时交易日志,从获取的实时交易日志筛选出预设维度的交易日志,对筛选出的交易日志进行时间切片和预处理,以加工出时间序列数据流。
在一个示例中,预处理至少包括:统计每一时间切片内的交易量,此外,在其他示例中,还可包括数据校验、数据处理和整合;时间序列数据流包括:按时间切片分布的交易量(或称为频次)。
上述预设维度具体可为渠道、产品、微服务码(微服务码是后台服务的概念,可以类比为传统B/S或C/S服务中的后台交易码,每一个微服务码或者交易码为外部消费方提供特定的服务)等。
这里的时间切片可指:按一小时,10分钟、5分钟等粒度将筛选出的交易日志进行划分。
本领域技术人员可依据交易量的大小选择适合的时间粒度。例如,A产品每日交易量100万,平均每小时10万。那可选取十分钟甚至更细的时间粒度对其交易日志进行时间切分。
而B产品每日交易量300,平均每小时仅30多,那么时间粒度可选取的的比较大。
由于有多种预设维度,因此,不同维度监控的是不同对象的异常波动情况,可针对每一维度分配第一流计算作业、第二流计算作业,训练相应的机器学习模型。
基于不同的维度可得到不同维度的时间序列数据流,例如,渠道交易量的时间序列数据流、某产品申请量的时间序列数据流、某产品的申请通过率的时间序列数据流等。
此外,对同一维度,可能有需求监控不同的时间粒度,比如,既要求监控某渠道每天的交易波动异常,又要求监控该渠道每小时的交易波动异常,则可为同一维度的不同时间粒度分配第一流计算作业、第二流计算作业,训练相应的机器学习模型。
S2:流计算平台将实时交易数据和交易量数据存至数据通道和数据库。
沿用前例,可由第一流计算作业将实时交易数据和交易量数据存至数据通道和数据库。
第一流计算作业有两个存储分支,一个分支是将加工出来的实时交易数据和交易量数据输出回数据通道(kafka等消息中间件),供后续的实时流计算作业消费,以及,供训练平台进行模型迭代;另一个分支是存储至交易监控系统自己的关系型数据库中,供人工分析和标定使用。
需要说明的是,从kafka等消息中间件中读取数据的效率是远远高于关系型数据库的;但同时kafka等消息中间件本身由于容量有限,无法持久化存储大量数据,在数据存储量和持久化时间上不如结构化数据库。因此kafka等消息中间件适合近实时数据的存储和消费,结构化数据库适合较长时间较大数据量的且消费效率不需要那么高场景的存储和消费。
S3:流计算平台使用实时交易数据作为自定义算子的输入,输出对未来N个时间切片的交易量预测结果。
上述自定义算子包括流计算平台定期加载的、最新训练好的机器学习模型和模型参数。
前述提及了,训练平台2可根据数据库中数据进行周期性的机器学习模型训练。在任一周期的训练过程中,训练平台2可获取数据库中预设时间范围(例如1天、1周或1个月,甚至更长时间)内的数据,根据获取的数据训练初始的机器学习模型或上一周期训练得到的机器学习模型,将训练好的机器学习模型和模型参数保存为文件形式,发布至流计算平台。
流计算平台会每隔固定间隔(1小时)去检测是否有新版本模型(文件)发布,若有新版本模型发布,则会立即拉取最新版本的模型文件并加载应用。
这里预设时间范围的终点为任一周期的开始时刻。
假定当前的开始时刻为12:00,预设时间范围为24小时,则获取的是前一天12:00至当天12:00内的数据。
更具体的,可使用第二流计算作业执行步骤S3。
第二流计算作业使用第一流计算作业生产的时间序列数据流作为输入,将加载的、最新训练好的机器学习模型和模型参数(加载发布的最新的模型文件)嵌入为自定义算子,由时间序列数据流触发进行实时预测,并输出预测交易量数据流(未来N个时间切片的预测交易量)。
上述N为正整数。这里的时间切片可指时间粒度,例如1小时,10分钟。
以1小时为例,N=1为例,当前时刻为12:00,输出的是未来1小时(13:00)的交易量预测结果,当然,若N=2,输出的是未来1小时(13:00)的交易量预测结果,以及未来2小时(14:00)的交易量预测结果。
这样,可以机器学习算法模型文件的方式搭建了从近实时模型训练到实时模型预测的桥梁,将机器学习预测模型嵌入流计算框架算子中,提供高效实时的模型预测结果。
S4:流计算平台将实时交易量,与相应的交易量预测结果进行偏差度计算。
相应的交易量预测结果包括:当前时刻所对应的时间切片的交易量预测结果。
沿用前例,可由第三流计算作业拉取第一流计算作业加工的时间序列数据流,按时间切片与第二流计算作业的预测交易量数据流,进行偏差度计算。
假定当前时刻为12:00,第三流计算作业拉取实时的时间序列数据流,可得到当前时刻的实时交易量,将其与第二流作业的预测交易量数据流中12:00的交易量进行偏差度计算。
偏差度的计算可求同一时刻实时交易量与预测交易量之间差值,再除以预测交易量,得到的百分比值即为偏差度。
S5:若偏差度大于(达到)预定值时,流计算平台推送预警信号。
沿用前例,可由第三流计算作业执行步骤S5,图3中的交易量异常检测系统后台服务即为第三流计算作业。
需要说明的是,第三流计算作业可对接多个第二流计算作业和多个第一流计算作业。
第三流计算作业可向监控界面推送预警信号进行图形化显示,并以短信、邮件等形式通知预设运营人员,以帮助业务人员及时发现产品或服务的异常交易量,并尽早做出应急处置。
在一个示例中,可设置多个预定值,例如50%、100%、200%,在达到不同的预定值时,可推送不同水平(例如不同颜色)的预警信号。
推送的预警信号中关键字包括预设维度(例如指定渠道、产品和微服务码),方便运营和技术人员快速排查、定位和解决问题,恢复正常服务。在实际运行当中,通过排查、定位可检测出渠道服务异常、产品推广异常突增或骤降、微服务拥塞或长时间不响应问题。
可见,在本发明实施例中,可以实时对交易量进行统计,并预测未来的交易量,得到交易量预测值,然后对同一时刻的真实交易量和交易量预测值进行偏差度计算,当偏差超过预定值(也即检测出异常的交易量波动)时,进行实时预警,方便运营人员及时发现异常,并作出应急处置,避免巨额经济损失。
并且,在本发明实施例中,机器学习模型的训练,以及交易量的预测是同时在生产上运行的。一方面,训练平台周期性获取数据库中的数据(或kafka消息通道中的数据),这些数据是近实时数据,以训练更新机器学习模型,并将训练好的机器学习模型和模型参数发布至流计算平台;另一方面,流计算平台会定期加载最新训练好的机器学习模型和模型参数进行实时交易量的预测。这样做的好处是可对机器学习模型进行快速迭代,对业务和交易的实际变化适应更快速。
需要说明的是,请参见图4,现有的比较流行的方法是在原有的业务系统外,搭建一套基于专家经验的异常交易量检测系统,其基本步骤如下:
1.原有交易系统对交易数据根据时效性进行分布,近实时交易存储在关系型数据库中供系统服务使用,历史数据存储在分布式文件系统中供数据分析使用;
2.基于关系型数据库中近期交易数据进行当日交易量的实时统计;基于分布式文件系统中的远期交易数据进行历史交易量的批量加工,统计值有平均交易量、标准差、峰值等统计指标;
3.外部搭建的交易量异常分析服务定时对比当日交易量与历史交易量指标,根据专家经验判断是否异常(例如,如果统计当日某时段交易量超过历史同时段交易量的N倍);
4.交易量异常分析系统同时提供图形化显示服务,当判断到交易量异常时推送预警信息。
但上述方法存在以下问题或缺点:
1.对原有交易系统性能影响较大;基于SQL执行数据统计本身需要花费大量数据库计算资源,会影响原系统性能和服务响应;
2.统计数据实时性差;从交易发生到当日交易量体现变化的延时较高;
3.基于专家经验的交易量异常检测规则无法做到太精细,而且随时时间推移,专家规则会变得越来越复杂,难以维护。
与之相比,本发明实施例所具有区别及优势如下:
1.采用旁路数据+流计算进行实时交易量统计,不侵占现有业务系统资源,对原业务系统性能影响小;
2.实时性好,由于采用流计算平台进行实时交易量统计,与SQL+结构化数据库形式相比,统计数据延时可以做到秒级;
3.采用机器学习模型取代专家模型,或采用机器学习模型复合专家模型,使交易量异常的检测更加精细,更加快捷。
下面介绍训练平台的训练过程。
请参见图5,训练平台对离线机器学习模型训练的训练过程或任一周期的训练过程包括:
S51:获取历史交易数据和对应的历史交易量数据作为样本;
其中,离线机器学习模型训练过程中,可直接加工历史积累日志数据形成时间序列(时间序列数据流包括:按时间切片分布的交易数据和交易量)。
若是周期性的训练过程,可获取第一流计算作业实时加工出的时间序列数据流作为样本。
LSTM模型的输入是一个时间序列数据流,具体数据结构就是一个数组,例如用过去24小时的交易量时间序列(24个具有时间特性的数据值)数据流来预测接下来1或者多小时的交易量。
S52:将样本划分至训练集、验证集和测试集;
可将样本按时间拉链切分分为多个训练集、验证集和测试集。
整体数据会被切分为两部分,一部分是用于训练模型的,后续会不断被打乱重新切分为训练集和测试集,用于不断迭代和测试模型的预测准确性和稳定性。
然后另一部分数据是验证集,对训练出的模型进行最后的有效性验证,考察的指标包含准确率、召回率、稳定性等。
S53:向机器学习模型输入训练集中的样本由机器学习模型进行N个时间切片的交易量预测,得到交易量预测值;
在一个示例中,机器学习模型具体可为LSTM。
训练平台可采用Anaconda+Python3+TensorFlow的方式运行。其中,Anaconda是一个机器学习平台,Python是编程语言,TensorFlow是采用的机器学习框架。
具体到LSTM,可在Anaconda平台上采用Python版本的TensorFlow机器学习库进行LSTM模型训练、预测和验证,同时还有模型文件的导出。
前述的第二流计算作业可引入TensorFlow的Java API库,可以直接加载模型文件进行实时预测和计算,实时输出对未来N个时间切片的交易量预测结果。
LSTM模型可以根据不同参数设置和不同输入时间序列跨度数据,在模型中保留不同时间跨度的时间序列中的周期性特征。例如采用以周为跨度的时间序列数据作为输入,则训练数据中就包含了工作日与周末的周期性差异特征;当采用跨年长度的时间序列数据作为输入,LSTM模型就可以对双十一或春节等支付高峰等历史数据进行记忆和识别。
S54:根据N个时间切片的交易量预测值和时间相对应的历史交易量数据,使用L2正则化的加权交叉熵损失函数计算样本的损失值。
在深度学习中,用的比较多的正则化技术是L2正则化,其形式是在原先的损失函数后边再加多一项:1/2λθi 2,那加上L2正则项的损失函数就可以表示为:L(θ)=L(θ)+λ∑i nθi 2,其中θ就是网络层待学习的参数,λ则控制正则项的大小,较大的取值将较大程度约束模型复杂度,反之亦然。
同时,由于实际金融业务数据中的异常数据的训练样本过少,导致正负样本比例较大,可设计在加权交叉熵损失函数中,负样本的权重高于正样本的权重。
这里的负样本包括:交易量预测值与相应的历史交易量数据的偏差度大于预设值的样本。
此外,在离线训练初始的模型过程中,还可对负样本进行人工复核,接收对负样本的人工复核结果。人工复核结果用于表征该样本是真正的负样本,或者,是被误识别为负样本的正样本;再根据人工复核结果,对样本进行标识;标识后的样本可用于下一次迭代训练使用。
S55:根据计算出的损失值进行参数调整。
在本发明其他实施例中,还可包括下述步骤:
S56:对训练得到的机器学习模型的预测有效性进行验证。
具体的,可使用训练集和测试集对训练得到的机器学习模型的预测准确性和稳定性进行测试;还可使用验证集对训练出的模型进行最后的有效性验证,考察的指标包含准确率、召回率、稳定性等。
S57:验证通过后,将机器学习模型和模型参数保存为文件形式,发布到流计算平台的文件服务器的指定文件目录。
具体的,可将机器学习模型和模型参数保存为PB模型文件形式进行模型和参数从训练到预测的过渡,PB模型文件中包含模型结构和训练后固化的参数。
图1示出了上述交易量实时监测系统的一种示例性结构,包括:
数据通道1用于:接收用户发起交易时采集的交易数据;
训练平台2用于:进行离线机器学习模型训练,得到初始的机器学习模型,并根据数据通道中数据进行周期性的机器学习模型训练;
流计算平台3用于:
获取数据通道中的实时交易数据并统计出实时交易量;
将实时交易数据和交易量数据存至数据通道和数据库;
使用实时交易数据作为自定义算子的输入,输出对未来N个时间切片的交易量预测结果;N为正整数;自定义算子包括流计算平台定期加载的、最新训练好的机器学习模型和模型参数;
将实时交易量,与相应的交易量预测结果进行偏差度计算,若偏差度大于预定值时,推送预警信号;相应的交易量预测结果包括:当前时刻所对应的时间切片的交易量预测结果;
其中,在任一周期的训练过程中,训练平台2可具体用于:
获取预设时间范围内的数据;预设时间范围的终点为任一周期的开始时刻;
根据获取的数据训练初始的机器学习模型或上一周期训练得到的机器学习模型;
将训练好的机器学习模型和模型参数发布至流计算平台。
具体内容可参见前述描述,在此不作赘述。
上述数据通道中的交易数据为交易日志;流计算平台部署有第一至第三流计算作业;其中:
第一流计算作业用于:
从数据通道中获取交易日志,从获取的交易日志筛选出预设维度的交易日志,对筛选出的交易日志进行时间切片和预处理,以加工出时间序列数据流;预处理至少包括:统计每一时间切片内的交易量;时间序列数据流包括:按时间切片分布的交易量;
第二流计算作业用于:
使用时间序列数据流作为输入,将加载的、最新训练好的机器学习模型和模型参数嵌入为自定义算子,由时间序列数据流触发进行实时预测,并输出预测交易量数据流;预测交易量数据流包括:未来N个时间切片的预测交易量;
第三流计算作业用于:
拉取第一流计算作业加工的时间序列数据流,按时间切片与第二流计算作业的预测交易量数据流,进行偏差度计算。
具体内容可参见前述描述,在此不作赘述。
在离线机器学习模型训练的训练过程或任一周期的训练过程中,训练平台2可具体用于:
获取数据库中的历史交易数据和对应的历史交易量数据作为样本;
将样本划分至训练集、验证集和测试集;
向机器学习模型输入训练集中的样本由机器学习模型进行N个时间切片的交易量预测,得到交易量预测值;
根据N个时间切片的交易量预测值和时间相对应的历史交易量数据,使用L2正则化的加权交叉熵损失函数计算样本的损失值;在加权交叉熵损失函数中,负样本的权重高于正样本的权重;负样本包括:交易量预测值与相应的历史交易量数据的偏差度大于预设值的样本;
根据计算出的损失值进行参数调整。
具体内容可参见前述描述,在此不作赘述。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种交易量实时监测方法,其特征在于,基于交易量实时监测系统,所述交易量实时监测系统包括:数据通道、流计算平台和训练平台;所述数据通道用于接收交易数据;所述交易数据是用户或上游系统发起交易时的采集的;
所述交易量实时监测方法包括:
所述流计算平台获取所述数据通道中的实时交易数据并统计出实时交易量;
所述流计算平台将所述实时交易数据和交易量数据存至数据通道和数据库;所述训练平台用于进行离线机器学习模型训练,得到初始的机器学习模型,并根据所述数据库中数据进行周期性的机器学习模型训练;其中,在任一周期的训练过程中,所述训练平台获取所述数据通道中预设时间范围内的数据,根据获取的数据训练所述初始的机器学习模型或上一周期训练得到的机器学习模型,将训练好的机器学习模型和模型参数发布至所述流计算平台;所述预设时间范围的终点为所述任一周期的开始时刻;
所述流计算平台使用所述实时交易数据作为自定义算子的输入,输出对未来N个时间切片的交易量预测结果;N为正整数;所述自定义算子包括所述流计算平台定期加载的、最新训练好的机器学习模型和模型参数;
所述流计算平台将所述实时交易量,与相应的交易量预测结果进行偏差度计算;
若偏差度大于预定值时,所述流计算平台推送预警信号;所述相应的交易量预测结果包括:当前时刻所对应的时间切片的交易量预测结果。
2.如权利要求1所述的方法,其特征在于,
所述数据通道中的交易数据为交易日志;
所述流计算平台部署有第一至第三流计算作业;
所述获取所述数据通道中的实时交易数据并统计出交易量数据包括:
第一流计算作业从所述数据通道中获取交易日志,从获取的交易日志筛选出预设维度的交易日志,对筛选出的交易日志进行时间切片和预处理,以加工出时间序列数据流;所述预处理至少包括:统计每一时间切片内的交易量;所述时间序列数据流包括:按时间切片分布的交易量;
所述使用所述实时交易数据作为自定义算子的输入,输出对未来N个时间切片的交易量预测结果包括:
第二流计算作业使用所述时间序列数据流作为输入,将加载的、最新训练好的机器学习模型和模型参数嵌入为自定义算子,由所述时间序列数据流触发进行实时预测,并输出预测交易量数据流;所述预测交易量数据流包括:未来N个时间切片的预测交易量;
所述将所述实时交易量,与相应的交易量预测结果进行偏差度计算包括:
第三流计算作业拉取所述第一流计算作业加工的时间序列数据流,按时间切片与第二流计算作业的预测交易量数据流,进行偏差度计算。
3.如权利要求1或2所述的方法,其特征在于,离线机器学习模型训练的训练过程或任一周期的训练过程包括:
所述训练平台获取历史交易数据和对应的历史交易量数据作为样本;
将样本划分至训练集、验证集和测试集;
向机器学习模型输入所述训练集中的样本由机器学习模型进行N个时间切片的交易量预测,得到交易量预测值;
根据N个时间切片的交易量预测值和时间相对应的历史交易量数据,使用L2正则化的加权交叉熵损失函数计算样本的损失值;在所述加权交叉熵损失函数中,负样本的权重高于正样本的权重;所述负样本包括:交易量预测值与相应的历史交易量数据的偏差度大于预设值的样本;
根据计算出的损失值进行参数调整。
4.如权利要求3所述的方法,其特征在于,所述训练过程还包括:
接收对负样本的人工复核结果;所述人工复核结果用于表征所述负样本是真正的负样本,或者,是被误识别为负样本的正样本;
根据所述人工复核结果,对所述训练集中的样本进行标识;标识后的训练集中的样本用于下一次迭代训练使用。
5.如权利要求3所述的方法,其特征在于,训练过程还包括:
对训练得到的机器学习模型的预测有效性进行验证。
6.如权利要求5所述的方法,其特征在于,所述对训练得到的机器学习模型的预测有效性进行验证包括:
使用所述验证集对训练得到的机器学习模型的模型参数进行调整,以提升准确率;
使用所述测试集作为训练得到的机器学习模型的最终评价集,计算得出准确率。
7.如权利要求5所述的方法,其特征在于,所述将训练好的机器学习模型和模型参数发布至所述流计算平台包括:
验证通过后,将机器学习模型和模型参数保存为文件形式,发布到所述流计算平台的文件服务器。
8.一种交易量实时监测系统,其特征在于,包括:
数据通道用于接收用户或上游系统发起交易时采集的交易数据;
训练平台用于进行离线机器学习模型训练,得到初始的机器学习模型,并根据数据通道中数据进行周期性的机器学习模型训练;
流计算平台用于:
获取所述数据通道中的实时交易数据并统计出实时交易量;
将所述实时交易数据和交易量数据存至所述数据通道和数据库;
使用所述实时交易数据作为自定义算子的输入,输出对未来N个时间切片的交易量预测结果;N为正整数;所述自定义算子包括所述流计算平台定期加载的、最新训练好的机器学习模型和模型参数;
将所述实时交易量,与相应的交易量预测结果进行偏差度计算,若偏差度大于预定值时,推送预警信号;所述相应的交易量预测结果包括:当前时刻所对应的时间切片的交易量预测结果;
其中,在任一周期的训练过程中,所述训练平台具体用于:
获取所述数据通道中预设时间范围内的数据;所述预设时间范围的终点为所述任一周期的开始时刻;
根据获取的数据训练所述初始的机器学习模型或上一周期训练得到的机器学习模型;
将训练好的机器学习模型和模型参数发布至所述流计算平台。
9.如权利要求8所述的系统,其特征在于,
所述数据通道中的交易数据为交易日志;
所述流计算平台部署有第一至第三流计算作业;
第一流计算作业用于:
从所述数据通道中获取交易日志,从获取的交易日志筛选出预设维度的交易日志,对筛选出的交易日志进行时间切片和预处理,以加工出时间序列数据流;所述预处理至少包括:统计每一时间切片内的交易量;所述时间序列数据流包括:按时间切片分布的交易量;
第二流计算作业用于:
使用所述时间序列数据流作为输入,将加载的、最新训练好的机器学习模型和模型参数嵌入为自定义算子,由所述时间序列数据流触发进行实时预测,并输出预测交易量数据流;所述预测交易量数据流包括:未来N个时间切片的预测交易量;
第三流计算作业用于:
拉取所述第一流计算作业加工的时间序列数据流,按时间切片与第二流计算作业的预测交易量数据流,进行偏差度计算。
10.如权利要求8或9所述的系统,其特征在于,
在离线机器学习模型训练的训练过程或任一周期的训练过程中,所述训练平台具体用于:
获取历史交易数据和对应的历史交易量数据作为样本;
将样本划分至训练集、验证集和测试集;
向机器学习模型输入所述训练集中的样本由机器学习模型进行N个时间切片的交易量预测,得到交易量预测值;
根据N个时间切片的交易量预测值和时间相对应的历史交易量数据,使用L2正则化的加权交叉熵损失函数计算样本的损失值;在所述加权交叉熵损失函数中,负样本的权重高于正样本的权重;所述负样本包括:交易量预测值与相应的历史交易量数据的偏差度大于预设值的样本;
根据计算出的损失值进行参数调整。
CN202011630230.8A 2020-12-31 2020-12-31 交易量实时监测方法与系统 Active CN112651785B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011630230.8A CN112651785B (zh) 2020-12-31 2020-12-31 交易量实时监测方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011630230.8A CN112651785B (zh) 2020-12-31 2020-12-31 交易量实时监测方法与系统

Publications (2)

Publication Number Publication Date
CN112651785A true CN112651785A (zh) 2021-04-13
CN112651785B CN112651785B (zh) 2023-12-08

Family

ID=75366845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011630230.8A Active CN112651785B (zh) 2020-12-31 2020-12-31 交易量实时监测方法与系统

Country Status (1)

Country Link
CN (1) CN112651785B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051583A (zh) * 2021-04-30 2021-06-29 中国银行股份有限公司 漏洞的防御方法及系统
CN113393325A (zh) * 2021-05-21 2021-09-14 乐刷科技有限公司 交易检测方法、智能设备及计算机存储介质
CN113506150A (zh) * 2021-06-24 2021-10-15 深圳市盈捷创想科技有限公司 网络行为的监测方法、装置和计算机可读存储介质
CN114092201A (zh) * 2022-01-20 2022-02-25 中国民航信息网络股份有限公司 一种数据提取与分析方法和相关装置
CN115797071A (zh) * 2023-02-03 2023-03-14 上海特高信息技术有限公司 一种基于卷积神经的宏观和微观层面的交易异常检测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682067A (zh) * 2016-11-08 2017-05-17 浙江邦盛科技有限公司 一种基于交易数据的机器学习反欺诈监测系统
CN107832913A (zh) * 2017-10-11 2018-03-23 微梦创科网络科技(中国)有限公司 基于深度学习的对监控数据趋势的预测方法及系统
CN108537544A (zh) * 2018-04-04 2018-09-14 中南大学 一种交易系统实时监控方法及其监控系统
CN108550047A (zh) * 2018-03-20 2018-09-18 阿里巴巴集团控股有限公司 交易量的预测方法及装置
CN110163752A (zh) * 2019-04-16 2019-08-23 阿里巴巴集团控股有限公司 一种外汇交易量预测方法、装置及系统
CN111105239A (zh) * 2019-11-20 2020-05-05 中山大学 一种基于币安热地址的比特币交易提现金额预测方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682067A (zh) * 2016-11-08 2017-05-17 浙江邦盛科技有限公司 一种基于交易数据的机器学习反欺诈监测系统
CN107832913A (zh) * 2017-10-11 2018-03-23 微梦创科网络科技(中国)有限公司 基于深度学习的对监控数据趋势的预测方法及系统
CN108550047A (zh) * 2018-03-20 2018-09-18 阿里巴巴集团控股有限公司 交易量的预测方法及装置
CN108537544A (zh) * 2018-04-04 2018-09-14 中南大学 一种交易系统实时监控方法及其监控系统
CN110163752A (zh) * 2019-04-16 2019-08-23 阿里巴巴集团控股有限公司 一种外汇交易量预测方法、装置及系统
CN111105239A (zh) * 2019-11-20 2020-05-05 中山大学 一种基于币安热地址的比特币交易提现金额预测方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051583A (zh) * 2021-04-30 2021-06-29 中国银行股份有限公司 漏洞的防御方法及系统
CN113393325A (zh) * 2021-05-21 2021-09-14 乐刷科技有限公司 交易检测方法、智能设备及计算机存储介质
CN113506150A (zh) * 2021-06-24 2021-10-15 深圳市盈捷创想科技有限公司 网络行为的监测方法、装置和计算机可读存储介质
CN113506150B (zh) * 2021-06-24 2023-12-05 深圳市盈捷创想科技有限公司 网络行为的监测方法、装置和计算机可读存储介质
CN114092201A (zh) * 2022-01-20 2022-02-25 中国民航信息网络股份有限公司 一种数据提取与分析方法和相关装置
CN115797071A (zh) * 2023-02-03 2023-03-14 上海特高信息技术有限公司 一种基于卷积神经的宏观和微观层面的交易异常检测方法

Also Published As

Publication number Publication date
CN112651785B (zh) 2023-12-08

Similar Documents

Publication Publication Date Title
CN112651785B (zh) 交易量实时监测方法与系统
CN110865929B (zh) 异常检测预警方法及系统
CN108537544B (zh) 一种交易系统实时监控方法及其监控系统
CN111177095B (zh) 日志分析方法、装置、计算机设备及存储介质
CN107608862B (zh) 监控告警方法、监控告警装置及计算机可读存储介质
CN107491970B (zh) 实时反作弊检测监控方法和系统以及计算设备
CN110930198A (zh) 基于随机森林的电能替代潜力预测方法、系统、存储介质及计算机设备
US11449798B2 (en) Automated problem detection for machine learning models
CN111796957B (zh) 基于应用日志的交易异常根因分析方法及系统
CN111538311B (zh) 一种基于数据挖掘的机械设备柔性多状态自适应预警方法及装置
CN111221706B (zh) 一种cpu使用率预测方法、系统、介质及设备
CN112148561A (zh) 业务系统的运行状态预测方法、装置及服务器
CN108306997B (zh) 域名解析监控方法及装置
CA3186873A1 (en) Activity level measurement using deep learning and machine learning
CN117041017A (zh) 数据中心的智能运维管理方法及系统
CN114676782A (zh) 一种基于高频时序数据的车辆故障预警方法及系统
CN116128690B (zh) 一种碳排放量成本值计算方法、装置、设备及介质
Zhang et al. Adaptive sampling scheme for learning in severely imbalanced large scale data
CN115883424A (zh) 一种高速骨干网间流量数据预测方法及系统
CN116155541A (zh) 面向网络安全应用的自动化机器学习平台以及方法
CN115543671A (zh) 数据分析方法、装置、设备、存储介质及程序产品
CN114915563A (zh) 一种网络流量预测方法和系统
CN114493858A (zh) 一种非法资金转移可疑交易监测方法及相关组件
CN115438885A (zh) 业务异常波动的检测方法、装置、设备及存储介质
CN111724048A (zh) 基于特征工程对成品库调度系统性能数据的特征抽取方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant