1.本发明涉及大数据处理技术领域,特别是涉及一种资金流预测方法、系统、计算机设备及存储介质。
背景技术:
2.随着小微业务的普及和壮大,每天都会涉及大量的资金支用和还款,针对小微企业推出的随借随还的消费类贷款产品具有庞大的用户群体,因此该消费类贷款产品的资金管理成了一个很棘手的问题。不仅要保证总资金呈正收益还要尽可能取得最大利润,因此保证日常业务正常运转的情况下,把资金流动性风险降到最低,精准地预测资金的流入和流出情况变得尤为重要。
技术实现要素:
3.基于此,有必要针对如何精准地预测资金的流入和流出情况的问题,提供一种资金流预测方法、系统、计算机设备及存储介质。
4.一种资金流预测方法,包括对历史资金流数据进行时间序列分解,获取时间序列数据;对所述时间序列数据进行特征位移转化,获取训练数据,所述特征位移转化包括将所述时间序列数据转化为符合选取的预测模型输入数据格式要求的数据;构建有监督学习的资金流入预测模型和有监督学习的资金流出预测模型;利用所述训练数据分别对所述资金流入预测模型和所述资金流出预测模型进行训练;将所述资金流入预测模型的输出与所述资金流出预测模型的输出进行加权融合获取预测结果。
5.在其中一个实施例中,所述对历史资金流数据进行时间序列分解,获取时间序列数据包括利用prophet时间序列工具对历史资金流数据进行时间序列分解以获取时间序列数据,所述时间序列数据包括趋势项、周期项、活动效果项和误差项。
6.在其中一个实施例中,在对历史资金流数据进行时间序列分解,获取时间序列数据之前,所述方法还包括对历史资金流数据进行波动性分析和特殊日期行为分析,确定时间相关变量。
7.在其中一个实施例中,在对所述时间序列数据进行特征位移转化,获取训练数据后,所述方法还包括将所述训练数据划分为训练集数据和测试集数据。
8.在其中一个实施例中,利用所述训练集数据使用lightgbm回归算法分别对所述资金流入预测模型和所述资金流出预测模型进行训练。
9.在其中一个实施例中,在利用所述训练数据分别对所述资金流入预测模型和所述资金流出预测模型进行训练后,所述方法还包括利用所述资金流入预测模型和所述资金流出预测模型的融合模型误差值,评价所述资金流入预测模型和所述资金流出预测模型的预测准确率;所述融合模型误差值采用下述方式确定:所述资金流入预测模型根据所述测试集数据预测用户每日的资金流入预测值,所述资金流出预测模型根据所述测试集数据预测用户每日的资金流出预测值;根据用户每日的资金流入预测值与资金实际流入值计算每日
贷款还款相对误差,根据用户每日的资金流出预测值与资金实际流出值计算每日贷款支用相对误差;根据每日贷款还款相对误差和每日贷款支用相对误差计算所述融合模型误差值;
10.所述每日贷款支用相对误差的计算方式包括:
[0011][0012]
其中,useamt为每日贷款支用相对误差,zi为用户每日的资金实际流出值,为用户每日的资金流出预测值;
[0013]
所述每日贷款还款相对误差的计算方式包括:
[0014][0015]
其中,repayamt为每日贷款还款相对误差,yi为用户每日的资金实际流入值,为用户每日的资金流入预测值;
[0016]
所述融合模型误差值的计算方法包括:
[0017]
totalscore=score(useamt)*α+score(repayamt)*(1-α)
[0018]
其中,totalscore为所述融合模型误差值,score()为相对误差与最后得分的映射函数,α为调节两模型的权重系数,α的取值范围为[0,1],useamt为每日贷款支用相对误差,repayamt为每日贷款还款相对误差。
[0019]
一种资金流预测系统,包括数据处理模块,所述数据处理模块包括时间序列分解单元和特征位移转化单元,所述时间序列分解单元用于对历史资金流数据进行时间序列分解,获取时间序列数据;所述特征位移转化单元用于对所述时间序列数据进行特征位移转化,获取训练数据;模型构建模块,所述模型构建模块包括模型处理单元和模型训练单元,所述模型处理单元用于构建有监督学习的资金流入预测模型和有监督学习的资金流出预测模型;所述模型训练单元用于利用所述训练数据分别对所述资金流入预测模型和所述资金流出预测模型进行训练;结果预测模块,用于将所述资金流入预测模型的输出与所述资金流出预测模型的输出进行加权融合获取预测结果。
[0020]
在其中一个实施例中,所述数据处理模块还包括数据分析单元,用于对历史资金流数据进行波动性分析和特殊日期行为分析,确定时间相关的影响因子。
[0021]
在其中一个实施例中,所述数据处理模块还包括数据集划分单元,用于将所述训练数据划分为训练集数据和测试集数据。
[0022]
在其中一个实施例中,所述模型训练单元利用所述训练集数据使用 lightgbm回归算法分别对所述资金流入预测模型和所述资金流出预测模型进行训练。
[0023]
在其中一个实施例中,所述模型构建模块还包括模型评估单元,用于利用所述资金流入预测模型和所述资金流出预测模型的融合模型误差值,评估所述资金流入预测模型和所述资金流出预测模型的预测准确率;所述融合模型误差值采用下述方式确定:所述资金流入预测模型根据所述测试集数据预测用户每日的资金流入预测值,所述资金流出预测模型根据所述测试集数据预测用户每日的资金流出预测值;所述模型评估单元根据用户每日的资金流入预测值与资金实际流入值计算每日贷款还款相对误差,根据用户每日的资金
流出预测值与资金实际流出值计算每日贷款支用相对误差;所述模型评估单元根据每日贷款还款相对误差和每日贷款支用相对误差计算所述融合模型误差值;
[0024]
所述每日贷款支用相对误差的计算方式包括:
[0025][0026]
其中,useamt为每日贷款支用相对误差,zi为用户每日的资金实际流出值,为用户每日的资金流出预测值;
[0027]
所述每日贷款还款相对误差的计算方式包括:
[0028][0029]
其中,repayamt为每日贷款还款相对误差,yi为用户每日的资金实际流入值,为用户每日的资金流入预测值;
[0030]
所述融合模型误差值的计算方法包括:
[0031]
totalscore=score(useamt)*α+score(repayamt)*(1-α)
[0032]
其中,totalscore为所述融合模型误差值,score()为相对误差与最后得分的映射函数,α为调节两模型的权重系数,α的取值范围为[0,1],useamt为每日贷款支用相对误差,repayamt为每日贷款还款相对误差。
[0033]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一项实施例所述的资金流预测方法的步骤。
[0034]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项实施例所述的资金流预测方法的步骤。
[0035]
一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任意一项实施例所述的资金流预测方法的步骤。
[0036]
上述资金流预测方法,通过对历史资金流数据进行时间序列分解,并将时间序列数据转化为符合选取的预测模型输入数据格式要求的数据作为训练数据。利用训练数据对资金流入预测模型和资金流出预测模型进行训练,将资金流入预测模型的输出与资金流出预测模型的输出进行加权融合以获取最终的预测结果。本公开提供的一种资金流预测方法采用了时间序列模型与机器学习回归模型相结合的融合方式,不仅充分利用时间序列模型挖掘了重要的时间相关特征,还通过多方的数据探索总结了重要影响因子。相较于传统时间序列算法只考虑时间单一变量而言,输入的特征和模型学到的知识更加丰富,从而大大提高了预测的准确率。
附图说明
[0037]
为了更清楚地说明本说明书实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0038]
图1为本公开第一实施例中的资金流预测方法的方法流程示意图;
[0039]
图2为本公开第二实施例中的对资金流入预测模型和资金流出预测模型进行评估的方法流程示意图;
[0040]
图3为本公开第三实施例中的资金流预测系统的结构框图;
[0041]
图4为本公开第四实施例的资金流预测装置或系统的框图。
具体实施方式
[0042]
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的优选实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反的,提供这些实施方式的目的是为了对本发明的公开内容理解得更加透彻全面。
[0043]
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”、“上”、“下”、“前”、“后”、“周向”以及类似的表述是基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0044]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0045]
随着小微业务的普及和壮大,每天都会涉及大量的资金支用和还款,针对小微企业推出的随借随还的消费类贷款产品具有庞大的用户群体,因此该消费类贷款产品的资金管理成了一个很棘手的问题。消费类贷款产品的资金管理不仅要保证总资金呈正收益还要尽可能取得最大利润,因此资金管理工作需要在保证日常业务正常运转的情况下,把资金流动性风险降到最低,精准地预测资金的流入和流出情况变得尤为重要。针对贷款场景而言,资金流入意味着还款行为,资金流出意味着贷款支用行为。如果能相对准确的预测出每日的资金流动情况,则可以在保证安全的情况下,对可用资金进行规划投资和精确管理,以取得更大的收益。
[0046]
图1为本公开第一实施例中的资金流预测方法的方法流程示意图,在其中一个实施例中,资金流预测方法可以包括如下步骤s100至步骤s500。
[0047]
步骤s100:对历史资金流数据进行时间序列分解,获取时间序列数据。
[0048]
根据实际的模型需求和数据情况在数据库中选取合适的数据作为历史资金流数据进行探索分析。传统的机器学习回归预测忽略了时间和趋势对于数据发展的影响,无法分析不同的因变量值出现的时间序列和前后相邻值之间的关联,因此会流失一部分信息。本公开结合了回归分析和时序分析两类方法,通过对历史资金流数据进行时间序列分析以获取时间序列数据,可以基于时间序列深度挖掘时间对于数据发展背后的隐藏关联,进行模型融合,弥补了回归预测算法在时间维度上无法捕捉重要特征的不足。
[0049]
步骤s200:对时间序列数据进行特征位移转化,获取训练数据,特征位移转化包括将时间序列数据转化为符合选取的预测模型输入数据格式要求的数据。
[0050]
在本公开的一些实施例中,可以使用机器学习回归方法来预测资金流,需要准确地把握重要特征作为模型输入。本公开利用有监督学习的预测模型来构建资金流入预测模型和资金流出预测模型。对时间序列数据进行格式转换,以保证时间序列数据可以作为选定的预测模型的输入。由于上述资金流预测方法是基于时间序列的预测,而机器学习方法是有监督学习方法,因此要把时间序列转化为可用于有监督学习的格式。通过对事件序列数据进行特征位移转化,可以将特征转化为有监督学习格式的训练数据。
[0051]
步骤s300:构建有监督学习的资金流入预测模型和有监督学习的资金流出预测模型。
[0052]
由于针对贷款场景而言,资金流动包括资金流入和资金流出两种情况,资金流入意味着还款行为,资金流出意味着贷款支用行为。因此,需要针对资金流入和资金流出情况分别建立预测模型,利用有监督学习的资金流入预测模型和有监督学习的资金流出预测模型分别预测资金流入和资金流出情况,综合两种预测结果得到最终的资金流预测结果。
[0053]
步骤s400:利用训练数据分别对资金流入预测模型和资金流出预测模型进行训练。
[0054]
利用训练数据分别对资金流入预测模型和资金流出预测模型进行训练优化。通过将特征转化为有监督学习格式后作为模型输入变量,根据模型预测结果调整资金流入预测模型和资金流出预测模型的参数。在实际应用中,调参可重点关注基学习器个数、学习率、树的最大深度、以及正则化参数等。
[0055]
步骤s500:将资金流入预测模型的输出与资金流出预测模型的输出进行加权融合获取预测结果。
[0056]
资金流入预测模型和资金流出预测模型分别对资金流入情况和资金流出情况进行预测,对两个预测输出进行加权融合以获取最终的资金流预测结果。在本公开的一些实施例中,可以使用单点相对误差相加方法对于两个模型的预测输出进行效果评估。
[0057]
本公开提供的资金流预测方法结合了回归分析和时序分析两类方法,深度挖掘历史资金流数据背后的隐藏关联,构建资金流入预测模型和资金流出预测模型,并对资金流入预测模型和资金流出预测模型进行模型融合,弥补了回归预测算法在时间维度上无法捕捉重要特征的不足。上述资金流预测方法在预测时考虑时间序列对结果的影响,可以分析不同的因变量值出现的时间序列和前后相邻值之间的关联,可以考虑例如节假日、营销日或者其他重要日期等突变因子对于资金流的影响,使得模型的应变能力和鲁棒性更强。相较于只考虑时间单一变量的传统时间序列算法,本公开提供的资金流预测方法输入的特征和模型学到的知识更加丰富,大大提高了预测的准确率。
[0058]
在其中一个实施例中,在对历史资金流数据进行时间序列分解,获取时间序列数据之前,所述资金流预测方法还包括对历史资金流数据进行波动性分析和特殊日期行为分析,确定时间相关的影响因子。在数据处理时,可以根据确定的时间相关的影响因子对历史资金流数据进行时间序列分解。
[0059]
在本实施例中,根据实际的模型需求和数据情况,选取了某一项消费类贷款产品在2018-2020年这3年中的资金流动数据作数据探索分析。由于资金流入和资金流出的预测方法类似,以下以资金流出预测方案为例。
[0060]
在2018-2020年该项消费类贷款产品的总体支用整体呈现以“周”为波动周期,月
末波动幅度增强,季度末大幅新增的趋势。2018年与2019年整体支用随时间波动的规律较为一致,2020年受不可抗力因素影响,支用规律有所变化,但仍遵循按周波动的趋势,工作日支用较多。
[0061]
我国目前主要有元旦、春节、清明、五一劳动节、端午、中秋、国庆这七个法定节假日,针对七个法定节假日前15个工作日贷款支用总额规律分析如下: 2019和2020年,元旦放假前贷款支用总金额逐渐增加,2020年元旦前一日支用量较去年同期大幅增高,而2021年由于不可抗力因素的影响支用总金额增加幅度较小。春节前4-15个工作日,支用总金额不断浮动,而在前1-3个工作日逐渐下降。清明节放假前3-6个工作日,支用总金额呈现出小高峰。五一劳动节放假前5个工作日支用总金额呈上升趋势。中秋节节假日前3-7个工作日,支用总金额较多,在前4-5个工作日达到峰值。2018和2019年越接近国庆节支用总金额越大,但2020年国庆节假日前支用总金额无明显变化。
[0062]
在其中一个实施例中,对历史资金流数据进行时间序列分解,获取时间序列数据包括利用prophet时间序列工具根据影响因子对历史资金流数据进行时间序列分解以获取时间序列数据。时间序列数据可以包括趋势项、周期项、活动效果项和误差项。
[0063]
prophet是facebook开源的时间序列预测工具,是一种基于相加模型(additivemodel)的时间预测工具,可以对时间序列进行分解,分别为趋势项、周期项、活动效果项和误差项。在本公开的一些实施例中,趋势项可以用来表示时间序列中非周期性的变化,周期项可以用来表示时间序列中的周期变化,活动效果项可以表达时间序列中的一些异常活动,例如节假日、营销日或者其他重要日期等,误差项可以用来表示不能被模型所描述的异常误差。prophet可以对年、周、季节以及假期等非线性趋势进行拟合。prophet对缺失值、确实的转变和大量的异常值有很强的鲁棒性。
[0064]
prophet的模型公式为:y(t)=g(t)+s(t)+h(t)+e;
[0065]
其中,g(t)代表趋势项,s(t)代表周期项,h(t)代表活动效果项,e代表误差项。
[0066]
在利用prophet对历史资金流数据进行时间序列分解时,可以参照确定的影响因子选择分解的维度。在本实施例中,根据实际的模型需求和数据情况,选取上述消费类贷款产品在2018-2019年这2年中的资金流动数据作探索分析。以下同样以资金流出预测方案为例。
[0067]
对2018-2019年日支用总额数据序列主要从进行整体趋势、节假日变化、周、月这几个维度进行分解。从整体趋势来看,支用总额整体呈上升趋势;从节假日变化来看,支用总额在节假日有一些突变点;从周变化来看,支用总额在周末较少,在工作日较稳定;从月变化来看,支用总额在每月末有一个突变趋势,支用金额较多。
[0068]
综合上述数据分析探索结果与时间序列拆解结果可以得出以下结论,上述消费类贷款产品的支用呈现明显的周、月、季节等周期性趋势,同时节假日营销日等重要时期也对贷款支用有重要的影响。
[0069]
根据日期的详细信息分别进行加工,可以挖掘出潜在的影响因子。例如支用总额出现明显变化的日期是否为月初、工作日、节假日、距离上一个节假日的天数等,拆解出的时间相关变量可以如表1所示。
[0070]
表1时间相关变量示例表
[0071][0072][0073]
在其中一个实施例中,对时间序列数据进行特征位移转化,获取训练数据。由于本公开提供的资金流预测方法是一种基于时间序列的预测,而机器学习方法是有监督学习方法,因此要把时间序列转化为可用于有监督学习的格式。例如,假设有3个特征,分别为var1、var2、var3,预测值为result。设定用前n 天的特征来预测当前值,假设n=2,则var1(t)代表特征var1在t时刻的值。
[0074]
原来基于时间序列的数据格式如表2所示。
[0075]
表2基于时间序列的数据格式示意表
[0076]
日期var1var2var3result202107011121311000202107021222322000202107031323333000202107041424344000
[0077]
将表2所示的数据转为有监督学习的格式后将获取如表3所示的数据。
[0078]
表3有监督学习的格式的数据示意表
[0079]
[0080][0081]
在其中一个实施例中,在对时间序列数据进行特征位移转化,获取训练数据后,所述方法还包括将训练数据划分为训练集数据和测试集数据。将时间序列数据转换为有监督学习的格式后,即可获取能够用于机器学习的训练数据。将训练数据随机分为两部分,一部分数据作为训练集数据,另一部分数据作为测试集数据。训练集数据可以作为lightgbm模型的输入,用于对资金流入预测模型和资金流出预测模型进行训练。测试集数据则可以作为验证数据,用于测试训练好的资金流入预测模型和资金流出预测模型的在测试集数据上的泛化能力,判断训练好的资金流入预测模型和资金流出预测模型的预测结果。
[0082]
针对金融数据的资金流预测问题,目前常用传统的时间序列算法arima模型加以解决。arima模型(autoregressive integrated moving average model),全称为自回归积分滑动平均模型,是统计学中一个重要的基于时间序列的预测方法。首先需要完成由非平稳时间序列到平稳时间序列的转化,然后再对于随机误差项的现值和滞后值进行回归,从而建立arima模型。arima模型的中心思想是将预测对象基于时间序列形成的数据序列视为一个随机序列,并用一定的数学模型来尝试描述拟合这个序列。这个模型一旦建立后就可以用过该序列的过往值来对未来值进行预测。
[0083]
然而arima模型本身对数据的平稳性要求较高,而在实际的应用场景中,真实的数据不能直接满足要求,需要经过复杂的处理才能得到。同时,由于数据的不平稳,参数的选择需要手动观察求得,与计算机求得的方法相比预测结果较差,甚至可能出现求不出解的情况。同时,arima模型本质上只能捕捉线性关系,而不能捕捉非线性关系,无法捕捉季节性、周期性等特征。最后,arima 模型的预测只和时间相关,无法加入时间外的其他丰富的特征进行学习预测,输入特征较为单一。
[0084]
为了解决传统的时间序列预测算法arima模型可能存在的问题,在本公开的一些实施例中,采用lightgbm算法作为回归学习模型框架。利用训练集数据使用lightgbm回归算法分别对资金流入预测模型和资金流出预测模型进行训练。
[0085]
lightgbm框架的核心是非线性模型gbdt(gradient boosting decisiontree)算法,一种以决策树为基分类器的集成学习模型。该模型基于boosting 思想,通过迭代多棵决策树,每一次新的训练都是为了改进上一次的训练结果。 boosting基本学习机制如下:s1使用初始训练集训练出一个基学习器,s2根据基学习器的表现对训练样本分布及权重进行调整,使基学习器分类错误的样本在迭代过程中得到更多关注,s3基于调整后的样本分布训练下一个基学习器,重复上述s2至s3中对于基学习器的训练优化步骤,直至基学习器数目达到事先制定的值,并对基学习器的预测结果进行加权结合。
[0086]
此外,与传统集成树算法相比,lightgbm在工程上进行了深度优化,支持海量数据训练。与其他基于决策树的boosting算法以层生长树的方式不同, lightgbm以叶子节点的方式生长树,可以提高模型的精确度。
[0087]
本公开提供的资金流预测方法使用了机器学习的集成学习模型lightgbm 回归,将时间序列特征转化为有监督学习格式后,将被划分为训练集的数据作为lightgbm模型的输入变量。在对lightgbm模型的参数进行调整时,可重点关注基学习器的个数、学习率、树
的最大深度以及正则化参数等参数。将时间序列模型与机器学习回归模型相结合的融合方式,不仅可以充分利用时间序列模型来挖掘对于贷款行为重要的时间相关特征,同时通过多方的数据探索总结了重要影响因子。相较于传统时间序列算法只考虑时间单一变量而言,上述资金流预测方法输入的特征和模型学到的知识更加丰富,大大提高了预测的准确率。
[0088]
图2为本公开第二实施例中的对资金流入预测模型和资金流出预测模型进行评估的方法流程示意图,在其中一个实施例中,在利用训练数据分别对资金流入预测模型和资金流出预测模型进行训练后,所述方法还包括利用资金流入预测模型和资金流出预测模型的融合模型误差值,评估资金流入预测模型和资金流出预测模型的预测准确率。在本公开的一些实施例中,可以利用测试集数据来测试训练好的资金流入预测模型和资金流出预测模型在测试集上的泛化能力。在本公开的一些实施例中,针对训练好的模型可以采用mae(mean absoluteerror,平均绝对误差)、mape(mean absolute percentage error,平均绝对百分比误差)、mse(mean squared error,均方误差)、rmse(root mean squared error,均方根误差)、r2(r-square,r平方)等回归问题常用的评估指标来评估资金流入预测模型和资金流出预测模型的训练效果。在本实施例中,选择r2评估方式对资金流入预测模型和资金流出预测模型进行评估。计算资金流入预测模型和资金流出预测模型的融合模型误差值,利用求得的融合模型误差值来评估资金流入预测模型和资金流出预测模型的预测准确率。
[0089]
融合模型误差值可以采用下述方式确定,包括如下步骤s410至步骤s430。
[0090]
步骤s410:资金流入预测模型根据测试集数据预测用户每日的资金流入预测值,资金流出预测模型根据测试集数据预测用户每日的资金流出预测值。
[0091]
步骤s420:根据用户每日的资金流入预测值与资金实际流入值计算每日贷款还款相对误差,根据用户每日的资金流出预测值与资金实际流出值计算每日贷款支用相对误差。
[0092]
步骤s430:根据每日贷款还款相对误差和每日贷款支用相对误差计算融合模型误差值。
[0093]
上述资金流预测方法的最终预测结果是通过对资金流入流出两个模型的融合得到的,在本公开的一些实施例中,使用单点相对误差相加方法对最终的模型效果进行评估。
[0094]
通过计算所有用户在测试集上每天的资金流入和流出与实际情况总额的误差,获取用户的每日贷款还款相对误差和每日贷款支用相对误差,进而可以根据每日贷款还款相对误差和每日贷款支用相对误差计算融合模型误差值。
[0095]
每日贷款支用相对误差的计算方式如下:
[0096][0097]
其中,useamt为每日贷款支用相对误差,zi为用户每日的资金实际流出值,为用户每日的资金流出预测值。
[0098]
每日贷款还款相对误差的计算方式如下:
[0099]
[0100]
其中,repayamt为每日贷款还款相对误差,yi为用户每日的资金实际流入值,为用户每日的资金流入预测值。
[0101]
根据上述支用相对误差和还款相对误差的计算结果,可以求得针对预测结果效果评估的得分,即融合模型误差值,融合模型误差值的得分计算方式如下:
[0102]
totalscore=score(useamt)*α+score(repayamt)*(1-α)
[0103]
其中,totalscore为所述融合模型误差值,score()为相对误差与最后得分的映射函数,α为调节两模型的权重系数,α的取值范围为[0,1],useamt为每日贷款支用相对误差,repayamt为每日贷款还款相对误差。其中,相对误差与最后得分的映射函数score()可以根据实际应用情况合理设定。
[0104]
当资金流入预测模型和资金流出预测模型在测试集上计算所得的融合模型误差值低于预设值时,或资金流入预测模型和资金流出预测模型在训练集上的预测结果正确率下降很多时,则表明上述两个模型可能发生过拟合,需要重新训练资金流入预测模型和资金流出预测模型,重新调整模型参数。同样地,在对模型参数进行调整时,可重点关注基学习器的个数、学习率、树的最大深度以及正则化参数等参数。
[0105]
应该理解的是,虽然图1-图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0106]
基于上述所述的资金流预测方法实施例的描述,本公开还提供了一种资金流预测系统。所述系统可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本公开实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0107]
图3为本公开第三实施例中的资金流预测系统的结构框图,在其中一个实施例中,资金流预测系统可以为终端,也可以为服务器,或者集成于所述终端的模块、组件、器件、单元等。资金流预测系统可以包括数据处理模块100、模型构建模块200和结果预测模块300。
[0108]
数据处理模块100包括时间序列分解单元和特征位移转化单元。时间序列分解单元用于对历史资金流数据进行时间序列分解,获取时间序列数据。特征位移转化单元用于对时间序列数据进行特征位移转化,获取训练数据,特征位移转化包括将时间序列数据转化为符合选取的预测模型输入数据格式要求的数据。模型构建模块200包括模型处理单元和模型训练单元。模型处理单元用于构建有监督学习的资金流入预测模型和有监督学习的资金流出预测模型。模型训练单元用于利用训练数据分别对资金流入预测模型和资金流出
预测模型进行训练。结果预测模块300,用于将资金流入预测模型的输出与资金流出预测模型的输出进行加权融合获取预测结果。
[0109]
在其中一个实施例中,数据处理模块100还包括数据分析单元用于对历史资金流数据进行波动性分析和特殊日期行为分析,确定时间相关的影响因子。
[0110]
在其中一个实施例中,数据处理模块还包括数据集划分单元用于将所述训练数据划分为训练集数据和测试集数据。
[0111]
在其中一个实施例中,模型训练单元利用训练集数据使用lightgbm回归算法分别对资金流入预测模型和资金流出预测模型进行训练。
[0112]
在其中一个实施例中,模型构建模块还包括模型评估单元用于利用资金流入预测模型和资金流出预测模型的融合模型误差值,评估资金流入预测模型和资金流出预测模型的预测准确率。
[0113]
融合模型误差值采用下述方式确定:
[0114]
资金流入预测模型根据测试集数据预测用户每日的资金流入预测值,资金流出预测模型根据测试集数据预测用户每日的资金流出预测值。根据用户每日的资金流入预测值与资金实际流入值计算每日贷款还款相对误差,根据用户每日的资金流出预测值与资金实际流出值计算每日贷款支用相对误差;
[0115]
根据每日贷款还款相对误差和每日贷款支用相对误差计算融合模型误差值;
[0116]
每日贷款支用相对误差的计算方式包括:
[0117][0118]
其中,useamt为每日贷款支用相对误差,zi为用户每日的资金实际流出值,为用户每日的资金流出预测值;
[0119]
每日贷款还款相对误差的计算方式包括:
[0120][0121]
其中,repayamt为每日贷款还款相对误差,yi为用户每日的资金实际流入值,为用户每日的资金流入预测值;
[0122]
融合模型误差值的计算方法包括:
[0123]
totalscore=score(useamt)*α+score(repayamt)*(1-α)
[0124]
其中,totalscore为融合模型误差值,score()为相对误差与最后得分的映射函数,α为调节两模型的权重系数,α的取值范围为[0,1],useamt为每日贷款支用相对误差,repayamt为每日贷款还款相对误差。
[0125]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0126]
可以理解的是,本说明书中上述方法、装置等的各个实施例均采用递进的方式描述,各个实施例之间相同/相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。相关之处参见其他方法实施例的描述说明即可。
[0127]
图4为本公开第四实施例的资金流预测装置或系统的框图。参照图4,资金流预测
装置或系统s00包括处理组件s20,其进一步包括一个或多个处理器,以及由存储器s22所代表的存储器资源,用于存储可由处理组件s20的执行的指令,例如应用程序。存储器s22中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件s20被配置为执行指令,以执行上述方法。
[0128]
资金流预测装置或系统s00还可以包括:电源组件s24被配置为执行资金流预测装置或系统s00的电源管理,有线或无线网络接口s26被配置为将资金流预测装置或系统s00连接到网络,和输入输出(i/o)接口s28。资金流预测装置或系统s00可以操作基于存储在存储器s22的操作系统,例如windowsserver,mac os x,unix,linux,freebsd或类似。
[0129]
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器s22,上述指令可由资金流预测装置或系统s00的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0130]
在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由资金流预测装置或系统s00的处理器执行以完成上述方法。
[0131]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0132]
需要说明的,上述所述的装置、电子设备、服务器等根据方法实施例的描述还可以包括其它的实施方式,具体的实现方式可以参照相关方法实施例的描述。同时各个方法以及装置、设备、服务器实施例之间特征的相互组合组成的新的实施例仍然属于本公开所涵盖的实施范围之内,在此不作一一赘述。
[0133]
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
[0134]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0135]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以作出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
技术特征:
1.一种资金流预测方法,其特征在于,包括:对历史资金流数据进行时间序列分解,获取时间序列数据;对所述时间序列数据进行特征位移转化,获取训练数据,所述特征位移转化包括将所述时间序列数据转化为符合选取的预测模型输入数据格式要求的数据;构建有监督学习的资金流入预测模型和有监督学习的资金流出预测模型;利用所述训练数据分别对所述资金流入预测模型和所述资金流出预测模型进行训练;将所述资金流入预测模型的输出与所述资金流出预测模型的输出进行加权融合获取预测结果。2.根据权利要求1所述的资金流预测方法,其特征在于,在对历史资金流数据进行时间序列分解,获取时间序列数据之前,所述方法还包括:对历史资金流数据进行波动性分析和特殊日期行为分析,确定时间相关的影响因子。3.根据权利要求2所述的资金流预测方法,其特征在于,所述对历史资金流数据进行时间序列分解,获取时间序列数据包括:利用prophet时间序列工具根据所述影响因子对历史资金流数据进行时间序列分解以获取时间序列数据,所述时间序列数据包括趋势项、周期项、活动效果项和误差项。4.根据权利要求1所述的资金流预测方法,其特征在于,在对所述时间序列数据进行特征位移转化,获取训练数据后,所述方法还包括:将所述训练数据划分为训练集数据和测试集数据。5.根据权利要求4所述的资金流预测方法,其特征在于,利用所述训练集数据使用lightgbm回归算法分别对所述资金流入预测模型和所述资金流出预测模型进行训练。6.根据权利要求4所述的资金流预测方法,其特征在于,在利用所述训练数据分别对所述资金流入预测模型和所述资金流出预测模型进行训练后,所述方法还包括:利用所述资金流入预测模型和所述资金流出预测模型的融合模型误差值,评估所述资金流入预测模型和所述资金流出预测模型的预测准确率;所述融合模型误差值采用下述方式确定:所述资金流入预测模型根据所述测试集数据预测用户每日的资金流入预测值,所述资金流出预测模型根据所述测试集数据预测用户每日的资金流出预测值;根据用户每日的资金流入预测值与资金实际流入值计算每日贷款还款相对误差,根据用户每日的资金流出预测值与资金实际流出值计算每日贷款支用相对误差;根据每日贷款还款相对误差和每日贷款支用相对误差计算所述融合模型误差值;所述每日贷款支用相对误差的计算方式包括:其中,useamt为每日贷款支用相对误差,z
i
为用户每日的资金实际流出值,为用户每日的资金流出预测值;所述每日贷款还款相对误差的计算方式包括:
其中,repayamt为每日贷款还款相对误差,y
i
为用户每日的资金实际流入值,为用户每日的资金流入预测值;所述融合模型误差值的计算方法包括:totalscore=score(useamt)*α+score(repayamt)*(1-α)其中,totalscore为所述融合模型误差值,score()为相对误差与最后得分的映射函数,α为调节两模型的权重系数,α的取值范围为[0,1],useamt为每日贷款支用相对误差,repayamt为每日贷款还款相对误差。7.一种资金流预测系统,其特征在于,包括:数据处理模块,所述数据处理模块包括时间序列分解单元和特征位移转化单元,所述时间序列分解单元用于对历史资金流数据进行时间序列分解,获取时间序列数据;所述特征位移转化单元用于对所述时间序列数据进行特征位移转化,获取训练数据,所述特征位移转化包括将所述时间序列数据转化为符合选取的预测模型输入数据格式要求的数据;模型构建模块,所述模型构建模块包括模型处理单元和模型训练单元,所述模型处理单元用于构建有监督学习的资金流入预测模型和有监督学习的资金流出预测模型;所述模型训练单元用于利用所述训练数据分别对所述资金流入预测模型和所述资金流出预测模型进行训练;结果预测模块,用于将所述资金流入预测模型的输出与所述资金流出预测模型的输出进行加权融合获取预测结果。8.根据权利要求7所述的资金流预测系统,其特征在于,所述数据处理模块还包括:数据分析单元,用于对历史资金流数据进行波动性分析和特殊日期行为分析,确定时间相关的影响因子。9.根据权利要求7所述的资金流预测系统,其特征在于,所述数据处理模块还包括:数据集划分单元,用于将所述训练数据划分为训练集数据和测试集数据。10.根据权利要求9所述的资金流预测系统,其特征在于,所述模型训练单元利用所述训练集数据使用lightgbm回归算法分别对所述资金流入预测模型和所述资金流出预测模型进行训练。11.根据权利要求9所述的资金流预测系统,其特征在于,所述模型构建模块还包括:模型评估单元,用于利用所述资金流入预测模型和所述资金流出预测模型的融合模型误差值,评估所述资金流入预测模型和所述资金流出预测模型的预测准确率;所述融合模型误差值采用下述方式确定:所述资金流入预测模型根据所述测试集数据预测用户每日的资金流入预测值,所述资金流出预测模型根据所述测试集数据预测用户每日的资金流出预测值;所述模型评估单元根据用户每日的资金流入预测值与资金实际流入值计算每日贷款还款相对误差,根据用户每日的资金流出预测值与资金实际流出值计算每日贷款支用相对误差;所述模型评估单元根据每日贷款还款相对误差和每日贷款支用相对误差计算所述融合模型误差值;所述每日贷款支用相对误差的计算方式包括:
其中,useamt为每日贷款支用相对误差,z
i
为用户每日的资金实际流出值,为用户每日的资金流出预测值;所述每日贷款还款相对误差的计算方式包括:其中,repayamt为每日贷款还款相对误差,y
i
为用户每日的资金实际流入值,为用户每日的资金流入预测值;所述融合模型误差值的计算方法包括:totalscore=score(useamt)*α+score(repayamt)*(1-α)其中,totalscore为所述融合模型误差值,score()为相对误差与最后得分的映射函数,α为调节两模型的权重系数,α的取值范围为[0,1],useamt为每日贷款支用相对误差,repayamt为每日贷款还款相对误差。12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6所述的资金流预测方法的步骤。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6所述的资金流预测方法的步骤。14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6所述的资金流预测方法的步骤。
技术总结
本发明涉及大数据处理技术领域,公开了一种资金流预测方法、系统、计算机设备及存储介质,包括对历史资金流数据进行时间序列分解,获取时间序列数据;对时间序列数据进行特征位移转化,获取训练数据;构建资金流入预测模型和资金流出预测模型;利用训练数据分别对资金流入预测模型和资金流出预测模型进行训练;将资金流入预测模型的输出与资金流出预测模型的输出进行加权融合获取预测结果。上述资金流预测方法融合了时间序列模型与机器学习回归模型,不仅充分利用时间序列模型挖掘了重要的时间相关特征,还通过多方的数据探索总结了重要影响因子。本公开提供的资金流预测方法输入的特征和模型学到的知识更加丰富,大大提高了预测的准确率。预测的准确率。预测的准确率。
技术研发人员:赖雅玲 刘敬敏 周如柽 王美晶
受保护的技术使用者:中国建设银行股份有限公司
技术研发日:2021.11.19
技术公布日:2022/3/7