首页> 中国专利> 一种基于深度学习的交易数据趋势预测方法和系统

一种基于深度学习的交易数据趋势预测方法和系统

摘要

本申请提供一种基于深度学习的交易数据趋势预测方法和系统,该方法,包括:采集银行业务的交易监控数据;对交易监控数据进行数据清洗及数据修复;将数据清洗及数据修复后的数据,输入至趋势预测模型,分别进行单变量预测和多变量预测,得到预测结果;其中,趋势预测模型为卷积神经网络CNN‑长短期记忆网络LSTM混合模型,CNN‑LSTM混合模型依次设置一维卷积层、池化层、一维卷积层、LSTM层、数据规范化层、LSTM层、数据规范化层,最后接入全连接层;从而进行单变量预测及多变量预测,着力研究多因素特征之间的相互作用影响,更好地预测数据变化趋势,提升模型的预测准确度及效率。

著录项

  • 公开/公告号CN113807951A

    专利类型发明专利

  • 公开/公告日2021-12-17

    原文格式PDF

  • 申请/专利权人 中国建设银行股份有限公司;

    申请/专利号CN202111116946.0

  • 申请日2021-09-23

  • 分类号G06Q40/02(20120101);G06Q40/04(20120101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人周初冬

  • 地址 100033 北京市西城区金融大街25号

  • 入库时间 2023-06-19 13:45:04

说明书

技术领域

本发明属于深度学习技术领域,更具体的说,尤其涉及一种基于深度学习的交易数据趋势预测方法和系统。

背景技术

近年来,银行业务不断发展,数据挖掘、人工智能等技术与银行运维工作紧密结合,海量交易日志的采集、存储、监控及可视化进程不断推进,使“实时监控,人工干预”向“提前预测,智能运维”模式转变。银行业务中涉及的交易监控数据具有典型的时间序列特性,对交易数据进行趋势预测可以提前预知风险,提升日常运维中异常事件预警能力。

现有技术中,时间序列预测是一种回归预测方法,承认事物发展的延续性,对数据进行适当处理,运用过去的历史时间序列数据进行统计分析,进行趋势预测,现今常用的时间序列预测主要是基于统计学习、深度学习两方向进行深入研究,优化方向主要包括优化时间序列算法及优化预测模型网络结构两个维度。

传统的统计学习预测方法为差分自回归移动平均模型,通过差分可以用于非平稳时间序列,其本质是将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。然而随着深度学习算法的不断精进,预测模型的准确度与效率愈加提高。

但是,该传统统计学习预测方法适用于实验数据波动范围较小情况,而且更加侧重于具有线性关系的单变量数据,很难对变量之间的非线性关系进行建模。因此对于存在突增或突减情况的海量交易监控数据的预测场景,该统计学习预测方法无法进行预测。

发明内容

有鉴于此,本申请的目的在于提供一种基于深度学习的交易数据趋势预测方法和系统,用于更好地预测数据变化趋势,提升模型的预测准确度及效率。

本申请的第一方面公开了一种基于深度学习的交易数据趋势预测方法,包括:

采集银行业务的交易监控数据;

对所述交易监控数据进行数据清洗及数据修复;

将数据清洗及数据修复后的数据,输入至趋势预测模型,分别进行单变量预测和多变量预测,得到预测结果;其中,所述趋势预测模型为卷积神经网络CNN-长短期记忆网络LSTM混合模型,CNN-LSTM混合模型依次设置一维卷积层、池化层、一维卷积层、LSTM层、数据规范化层、LSTM层、数据规范化层,最后接入全连接层。

可选的,所述采集银行业务的交易监控数据,包括:

从所述银行业务中生产环境的结构化交易流水日志中,按照所需指定字段,自动采集到分布式开源搜索分析引擎的数据源进行存储;其中,所述数据源包括交易监控数据。

可选的,所述交易监控数据,包括:交易量、业务成功率、系统成功率、平均响应时间、平均处理时间、业务成功交易量和系统成功交易量中的至少一种。

可选的,对所述交易监控数据进行数据清洗及数据修复,包括:

将获取的数据向适用于模型训练的格式转换,而后经过去重、时间序列重排、重置索引;

采用填补法进行缺失值替换;

其后对缺失值替换后的数据进行时间段筛选。

可选的,单变量预测针对以所述交易监控数据中的交易量为核心的单因素时间序列数据进行预测;

多变量预测在单变量预测的基础上将所述交易监控数据中的CPU使用率、平均响应时间、平均处理时间中的至少一个多变量数据加入到所述CNN-LSTM混合模型中共同训练,研究多因素间的相互影响,最终预测交易量在未来一段时间内的趋势变化。可选的,所述趋势预测模型的构建过程,包括:

采集并显示银行业务的历史数据;所述历史数据包括:历史交易监控数据;

对所述历史数据进行预处理,所述预处理包括:数据清洗及数据修复;

对预处理后的历史数据划分为三个集合,分别为训练集、验证集、测试集;

所述训练集作为所述CNN-LSTM混合模型拟合的数据样本进行训练,每一次迭代后都会通过所述验证集对所述CNN-LSTM混合模型进损失值进行验证;通过逐渐调整模型参数,不断验证所述CNN-LSTM混合模型的泛化能力,通过平均绝对误差及均方误差判断模型的训练结果是否达到标准;最后,借助所述测试集进行所述CNN-LSTM混合模型的预测结果对比验证;

在所述预测结果对比验证结果满足预设条件时,将所述CNN-LSTM混合模型作为所述趋势预测模型。

可选的,将所述CNN-LSTM混合模型作为所述趋势预测模型之前,还包括:

将所述训练完毕后的所述CNN-LSTM混合模型进行封装。

可选的,还包括:

对所述预测结果和/或所述交易监控数据进行可视化显示。

本申请的第二方面公开了一种基于深度学习的交易数据趋势预测系统,包括:

数据采集模块,用于采集银行业务的交易监控数据;

数据预处理模块,用于对所述交易监控数据进行数据清洗及数据修复;

预测模块,用于将数据清洗及数据修复后的数据,输入至趋势预测模型,分别进行单变量预测和多变量预测,得到预测结果;其中,所述趋势预测模型为卷积神经网络CNN-长短期记忆网络LSTM混合模型,CNN-LSTM混合模型依次设置一维卷积层、池化层、一维卷积层、LSTM层、数据规范化层、LSTM层、数据规范化层,最后接入全连接层。

可选的,还包括所述趋势预测模型的构建模块;所述构建模块包括:

数据采集模块,用于采集并显示银行业务的历史数据;所述历史数据包括:历史交易监控数据;

数据预处理模块,用于对所述历史数据进行预处理,所述预处理包括:数据清洗及数据修复;

构建单元,对预处理后的历史数据划分为三个集合,分别为训练集、验证集、测试集;所述训练集作为所述CNN-LSTM混合模型拟合的数据样本进行训练,每一次迭代后都会通过所述验证集对所述CNN-LSTM混合模型进损失值进行验证;通过逐渐调整模型参数,不断验证所述CNN-LSTM混合模型的泛化能力,通过平均绝对误差及均方误差判断模型的训练结果是否达到标准;最后,借助所述测试集进行所述CNN-LSTM混合模型的预测结果对比验证;在所述预测结果对比验证结果满足预设条件时,将所述CNN-LSTM混合模型作为所述趋势预测模型。

从上述技术方案可知,本申请提供的一种基于深度学习的交易数据趋势预测方法,包括:采集银行业务的交易监控数据;对交易监控数据进行数据清洗及数据修复;将数据清洗及数据修复后的数据,输入至趋势预测模型,分别进行单变量预测和多变量预测,得到预测结果;其中,趋势预测模型为卷积神经网络CNN-长短期记忆网络LSTM混合模型,CNN-LSTM混合模型依次设置一维卷积层、池化层、一维卷积层、LSTM层、数据规范化层、LSTM层、数据规范化层,最后接入全连接层;从而进行单变量预测及多变量预测,着力研究多因素特征之间的相互作用影响,更好地预测数据变化趋势,提升模型的预测准确度及效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种基于深度学习的交易数据趋势预测方法的流程图;

图2是本申请实施例提供的另一种基于深度学习的交易数据趋势预测方法的流程图;

图3是本申请实施例提供的一种CNN网络单元的结构示意图;

图4是本申请实施例提供的一种LSTM网络单元的结构示意图;

图5是本申请实施例提供的一种基于深度学习的交易数据趋势预测方法中趋势预测模型的构建过程的流程图;

图6是本申请实施例提供的一种CNN-LSTM混合模型的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本申请实施例提供了一种基于深度学习的交易数据趋势预测方法,用于解决现有技术中对于存在突增或突减情况的海量交易监控数据的预测场景,该统计学习预测方法无法进行预测的问题。

参见图1,该基于深度学习的交易数据趋势预测方法,包括:

S101、采集银行业务的交易监控数据。

具体的,交易监控数据,包括:交易量、业务成功率、系统成功率、平均响应时间、平均处理时间、业务成功交易量和系统成功交易量中的至少一种。

当然,也还可以采集运行数据,如CPU使用率;此处不再一一赘述,均在本申请的保护范围内。

S102、对交易监控数据进行数据清洗及数据修复。

也就是说,步骤S102主要是为实现对数据的预处理;该数据预处理包括数据清洗及数据修复两个部分。

S103、将数据清洗及数据修复后的数据,输入至趋势预测模型,分别进行单变量预测和多变量预测,得到预测结果。

其中,趋势预测模型为卷积神经网络CNN-长短期记忆网络LSTM混合模型,如图6所示,CNN-LSTM混合模型依次设置一维卷积层、池化层、一维卷积层、LSTM层、数据规范化层、LSTM层、数据规范化层,最后接入全连接层。在池化层与第二个卷积层之间还可以设置有一层数据规范化层。

单变量预测针对以交易量为核心的单因素时间序列数据进行预测,多变量预测在单变量预测的基础上将CPU使用率、平均响应时间、平均处理时间中的至少一个多变量数据加入到CNN-LSTM混合模型中共同训练,研究多因素间的相互影响,最终预测交易量在未来一段时间内的趋势变化,其预测更加准确。

在本实施例中,进行单变量预测及多变量预测,着力研究多因素特征之间的相互作用影响,更好地预测数据变化趋势,提升模型的预测准确度及效率。

另外,对比传统的统计学习算法,采用深度学习领域CNN与LSTM混合模型进行以交易量为核心的趋势预测;力求解决其在数据量与波动性限制等方面的局限性,同时在深度学习算法LSTM的基础上,增加了CNN层进行局部特征捕获,同时不断优化网络结构,进一步提升预测模型准确率及效率,并涵盖单变量及多变量两种维度,挖掘不同特征指标变量间复杂的时间关联性,支持处理高维度的输入信息。

此外,在实际应用中,还可以包括:

对预测结果和/或交易监控数据进行可视化显示。

具体的,在步骤S103之后,对预测结果进行可视化显示。以及,在步骤S101之后,对交易监控数据进行可视化显示。

需要说明的是,在步骤S101采集到交易监控数据之后,还可以将该交易监控数据进行集成,再将集成后的交易监控数据进行可视化显示。

在实际应用中,上述步骤S101、采集银行业务的交易监控数据的具体过程为:

从银行业务中生产环境的结构化交易流水日志中,按照所需指定字段,自动采集到分布式开源搜索分析引擎的数据源进行存储;而后借助可视化平台工具进行可视化显示。

其中,分布式开源搜索分析引擎可以是ES(Elastcisearch,一个分布式开源搜索分析引擎);当然,也不仅限于此类型,此处不再一一赘述,均在本申请的保护范围内。

需要说明的是,生产环境每台服务器上面的监控日志会获取交易以及运行日志信息,推送到ES进行存储,同时借助可视化工具进行多维度筛选展示。

可视化平台工具可以是Kibana,该Kibana是一款和Elasticsearch一起工作的可视化平台工具。当然,也不仅限于此类型,此处不再一一赘述,均在本申请的保护范围内。

在实际应用中,参见图2,上述步骤S102、对交易监控数据进行数据清洗及数据修复,包括:

S201、将获取的数据向适用于模型训练的格式转换,而后经过去重、时间序列重排、重置索引。

需要说明的是,去重程序可以是Drop_duplicates;重置索引程序可以是Reset_index;当然,也不仅限于此类型,此处不再一一赘述,均在本申请的保护范围内。

S202、采用填补法进行缺失值替换。

该填补方法可以采用Median和Fillna函数;具体的,该Fillna用于填充函数,该Fillna函数内部的参数方法通过Median填补,即实现中位数填补。

S203、对缺失值替换后的数据进行时间段筛选。

具体的,进行时间段筛选的方式可以是Loc方式,也即通过标签索引数据。

需要说明的是,多变量预测时还需进行多元数据融合,其可以采用归并Merge方法,以及,依据时间进行内联inner方式,进行处理。

趋势预测模型的构建过程,如图5所示,包括:

(1)采集并显示银行业务的历史数据。

其中,历史数据包括:历史交易监控数据。

(2)对历史数据进行预处理,预处理包括:数据清洗及数据修复。

需要说明的是,(1)和(2)分别与上述步骤S101和S102一一对应;(1)和(2)的具体过程,参见上述步骤S101和步骤S102,此处不再一一赘述,均在本申请的保护范围内。

该数据处理还可以包括多变量数据融合、以及时间序列转监督学习

(3)对预处理后的历史数据划分为三个集合,分别为训练集、验证集、测试集。

(4)训练集作为CNN-LSTM混合模型拟合的数据样本进行训练,每一次迭代后都会通过验证集对CNN-LSTM混合模型进损失值进行验证;通过逐渐调整模型参数,不断验证CNN-LSTM混合模型的泛化能力,通过平均绝对误差及均方误差判断模型的训练结果是否达到标准;最后,借助测试集进行CNN-LSTM混合模型的预测结果对比验证。

将训练集作为数据样本进行训练,包括:重置步骤、更新记忆以及隐含层更新等。其中,1个epoch等于使用训练集中全部样本训练一次。

(5)在预测结果对比验证结果满足预设条件时,将CNN-LSTM混合模型作为趋势预测模型。

其中,总体历史数据时限范围可以为一年期内,当然,也可以是其他时间,此处不再一一赘述,均在本申请的保护范围内。

训练集、验证集、测试集的数据比例按照8:1:1的比例划分。当然也可以是其他比例,此处不做具体限定,视实际情况而定即可,均在本申请的保护范围。

需要说明的是,CNN-LSTM混合模型的结构,如图6所示。CNN部分的结构为一层卷积一层池化操作,卷积层捕获序列局部特征,池化层针对特征降维并压缩参数,其中激活函数使用ReLU(Rectified Linear Unit,线性修正单元),其后接两层LSTM网络,同时间隔两层Normalization操作,最后接入全连接层,使用fit_generator生成器函数方法进行训练,预测的时候相应选用model.predict_generator方法。

CNN-LSTM混合模型包括:两层一维卷积层、一层池化层、两层LSTM层,其中两层LSTM层中间隔两层数据规范化层,最后接入全连接层。

例如:训练时采用fit_generator方法进行,monitor确定为val_loss,预测过程采用predict_generator方法,训练过程中为防止过拟合场景出现,采用正则化方法Dropout进行调节。经过模型调参后,实验中的优化算法采用Adam,卷积层采用ReLU函数,epochs为70,batch_size为256。

预测模型可以采用MAE(Mean Absolute Error,平均绝对误差)和MSE(MeanSquare Error,均方误差)两种指标进行评估。

模型训练过程中,序列y={y

(1)平均绝对误差MAE。

它是绝对误差的平均值,也称为L1损失,能够准确反映实际预测误差值,同时它是一种线性分数,所有个体差异在平均值上的权重都相等,MAE越小,预测精度越高。计算过程如下公式(1-1)所示。

(2)均方误差MSE。

均方误差是指参数估计值与参数真值之差平方的期望值,它可以评价数据的变化程度,MSE的值越小,说明预测模型精度越高。MSE又称L2损失,计算过程如下公式(1-2)所示。

CNN-LSTM混合模型的构建,一方面可以通过卷积层捕获局部特征,提升单一LSTM网络模型的准确率及精度;另一方面,LSTM算法作为一种特殊的循环神经网络(RecurrentNeural Network,RNN),也克服了传统RNN的梯度爆炸和梯度消失问题,同时相较于现有技术统计学习预测方法而言,本申请中提出的CNN-LSTM混合模型也更适用于对多变量预测场景建模。

在本实施例中,构建一种LSTM和CNN的混合神经网络模型,其中CNN主要采用一维卷积网络结构,用于捕获时间序列的局部特征,学习局部特征相关性后,将结果作为LSTM的输入进行预测,相较于传统的统计学习预测方法,或单一的深度学习算法模型,能够更好地提高模型预测的效率及准确率。

CNN网络单元的结构如图3所示,X

LSTM网络单元的结构如图4所示,其中:

LSTM单元引入了三个“门”的机制,分别叫做遗忘门、输入门和输出门,分别记作f、i以及o,同时引入了记忆单元概念,与三个门共同构成一个记忆细胞块结构,其中记忆单元也称为细胞状态(Cell State),是网络结构的核心,通过与三个门之间的相互作用控制信息的遗忘、更新并进行传递。

其中,遗忘门决定从上一时刻的细胞状态C

f

输入门包含两个阶段,其一选取需要放入细胞状态的信息,sigmoid运算层决定需要更新的量,即得到i

i

输出门的作用是在完成细胞状态的更新之后,需要根据输入的a

o

a

CNN与LSTM的融合神经网络模型拥有很多优势,卷积与池化提高了局部特征提取的效率,基于LSTM解决长期依赖问题,以及传统的RNN结构中容易出现的梯度消失问题。

在本实施例中,从数据采集与预处理,到模型的训练、评估及可视化,构建一套完整的闭环流程,进行以交易量数据为核心的趋势预测,旨在提前预知风险,提升日常运维中异常事件预警能力,像智能化运维迈进。

在实际应用中,将CNN-LSTM混合模型作为趋势预测模型之前,还包括:

将训练完毕后的CNN-LSTM混合模型进行封装。

模型训练完毕后,将其进行封装,以进行预测调用;同时预测结果也将进行可视化显示。最终实现对交易数据的趋势预测,做到提前预知风险,提升日常运维中异常事件预警能力。

在本实施例中,面向银行业务,针对海量交易监控数据,提出一种从数据采集到模型训练封装、可视化显示的整体技术方案路线。

本申请的另一实施例提供了一种基于深度学习的交易数据趋势预测系统。

该基于深度学习的交易数据趋势预测系统,包括:

数据采集模块,用于采集银行业务的交易监控数据。

数据预处理模块,用于对交易监控数据进行数据清洗及数据修复。

预测模块,用于将数据清洗及数据修复后的数据,输入至趋势预测模型,分别进行单变量预测和多变量预测,得到预测结果;其中,趋势预测模型为卷积神经网络CNN-长短期记忆网络LSTM混合模型,CNN-LSTM混合模型依次设置一维卷积层、池化层、一维卷积层、LSTM层、数据规范化层、LSTM层、数据规范化层,最后接入全连接层。

在实际应用中,该基于深度学习的交易数据趋势预测系统还可以包括趋势预测模型的构建模块。

该构建模块包括:

数据采集模块,用于采集并显示银行业务的历史数据;历史数据包括:历史交易监控数据。

数据预处理模块,用于对历史数据进行预处理,预处理包括:数据清洗及数据修复。

构建单元,对预处理后的历史数据划分为三个集合,分别为训练集、验证集、测试集;训练集作为CNN-LSTM混合模型拟合的数据样本进行训练,每一次迭代后都会通过验证集对CNN-LSTM混合模型进损失值进行验证;通过逐渐调整模型参数,不断验证CNN-LSTM混合模型的泛化能力,通过平均绝对误差及均方误差判断模型的训练结果是否达到标准;最后,借助测试集进行CNN-LSTM混合模型的预测结果对比验证;在预测结果对比验证结果满足预设条件时,将CNN-LSTM混合模型作为趋势预测模型。

上述各个模块和单元的工作过程和原理,详情参见上述实施例,此处不再一一赘述,均在本申请的保护范围内。

本说明书中的各个实施例中记载的特征可以相互替换或者组合,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号