本说明书实施例涉及计算机技术领域,特别涉及一种预测方法。本说明书一个或者多个实施例同时涉及一种预测装置,一种计算设备,以及一种计算机可读存储介质。
背景技术:
随着数据技术的发展,为了降低操作风险,在很多交易场景下,都需要对未来的交易数据进行预测,以进行损益控制。
传统技术中,通常采用时间序列等预测方法进行预测,该方法对长期预测以及非周期性的类目(例如食品、服装等类目)预测效果不佳,因此需要提供一种更为准确的交易量的预测方法。
技术实现要素:
有鉴于此,本说明书施例提供了一种预测方法。本说明书一个或者多个实施例同时涉及一种预测装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种预测方法,包括:
获取店铺的第t时刻的历史交易额以及所述店铺的变量;
将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;
将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额。
可选的,所述获取店铺的第t时刻的历史交易额以及所述店铺的变量之后,还包括:
基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额之后,还包括:
基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额。
可选的,所述获取店铺的第t时刻的历史交易额包括:
获取店铺的第t时刻的历史交易额以及历史的第t时刻的历史交易额。
可选的,所述预设的线性递推算法包括同比算法;
所述基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额包括:
基于所述店铺的第t时刻的历史交易额与所述历史的第t时刻的历史交易额确定所述第t时刻的交易同比增长值;
基于所述第t时刻的交易同比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述获取店铺的第t时刻的历史交易额包括:
获取店铺的第t-1时刻的历史交易额。
可选的,所述预设的线性递推算法包括环比算法;
所述基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额包括:
基于所述店铺的第t-1时刻的历史交易额确定所述第t 1时刻到第t i时刻的时间区间内每个时刻的交易环比增长值;
基于所述交易环比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述预设的预测模型包括长短期记忆网络模型;
所述将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额包括:
将所述历史交易额以及所述变量输入至所述长短期记忆网络模型中,得到所述第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额。
可选的,所述预设的时序预测算法包括卡尔曼滤波算法;
所述将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额包括:
将每个时刻的预测交易额输入预设的卡尔曼滤波算法中,得到每个时刻的修正预测交易额。
可选的,所述基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额之后,还包括:
基于所述目标预测交易额对所述店铺进行项目额度调整。
根据本说明书实施例的第二方面,提供了一种预测装置,包括:
数据获取模块,被配置为获取店铺的第t时刻的历史交易额以及所述店铺的变量;
数据预测模块,被配置为将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;
数据修正模块,被配置为将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额。
可选的,所述装置,还包括:
数据计算模块,被配置为基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述装置之后,还包括:
目标数据确定模块,被配置为基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额。
可选的,所述数据获取模块,进一步被配置为:
获取店铺的第t时刻的历史交易额以及历史的第t时刻的历史交易额。
可选的,所述预设的线性递推算法包括同比算法;
所述数据预测模块,进一步被配置为:
基于所述店铺的第t时刻的历史交易额与所述历史的第t时刻的历史交易额确定所述第t时刻的交易同比增长值;
基于所述第t时刻的交易同比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述数据获取模块,进一步被配置为:
获取店铺的第t-1时刻的历史交易额。
可选的,所述预设的线性递推算法包括环比算法;
所述数据预测模块,进一步被配置为:
基于所述店铺的第t-1时刻的历史交易额确定所述第t 1时刻到第t i时刻的时间区间内每个时刻的交易环比增长值;
基于所述交易环比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述预设的预测模型包括长短期记忆网络模型;
所述数据预测模块,进一步被配置为:
将所述历史交易额以及所述变量输入至所述长短期记忆网络模型中,得到所述第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额。
可选的,所述预设的时序预测算法包括卡尔曼滤波算法;
所述数据修正模块,进一步被配置为:
将每个时刻的预测交易额输入预设的卡尔曼滤波算法中,得到每个时刻的修正预测交易额。
可选的,所述装置,还包括:
额度调整模块,被配置为基于所述目标预测交易额对所述店铺进行项目额度调整。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取店铺的第t时刻的历史交易额以及所述店铺的变量;
将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;
将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述预测方法的步骤。
本说明书实施例提供了一种预测方法及装置,其中,所述预测方法包括获取店铺的第t时刻的历史交易额以及所述店铺的变量;将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额;
所述预测方法通过预测模型预测出店铺在未来的第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额后,采用统计的时序预测算法与机器学习的时序算法对预测的未来时刻的预测交易数据进行修正,通过将机器学习预测模型以及时序预测算法相结合的方法,使得预测出的店铺在未来时刻的预测交易额更为准确。
附图说明
图1是本说明书一个实施例提供的一种预测方法的流程图;
图2是本说明书一个实施例提供的kf长周期预测方法的示意图;
图3是本说明书一个实施例提供的kf长周期预测结果示意图;
图4是本说明书一个实施例提供的一种预测方法的kf长周期预测方法修正示意图;
图5是本说明书一个实施例提供的一种预测方法的方案流程示意图;
图6是本说明书一个实施例提供的一种预测方法的预测结果准确性示意图;
图7是本说明书一个实施例提供的一种预测方法的预测结果稳定性示意图;
图8是本说明书一个实施例提供的一种预测方法的预测结果中关于tmae指标的示意图;
图9是本说明书一个实施例提供的一种预测方法的预测结果中关于smape指标的示意图;
图10是本说明书一个实施例提供的一种预测装置的结构示意图;
图11是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
kf:英文全称:kalmanfilter,中文全称:卡尔曼滤波器,一种自适应信号滤波算法。
lstm:英文全称:long-shorttermmemory,中文全称:长短期记忆模型,一种公开的序列深度学习算法,是一种特殊的rnn模型,是为了解决rnn模型梯度弥散的问题而提出的。
lr:英文全称:logisticregression,中文全称:逻辑回归,是传统机器学习中的一种分类模型。
gbdt:英文全称:gradientboostingdecisiontree,中文全称:梯度提升迭代决策树,gbdt也是boosting算法的一种,gbdt模型是一个集成模型。
rnn:英文全称:recurrentneuralnetwork,中文全称:循环神经网络,一种公开的序列深度学习算法,是一种可以预测未来(在某种程度上)的神经网络,可以用来分析时间序列数据。
arima:英文全称:autoregressiveintegratedmovingaveragemodel,中文全称:差分整合移动平均自回归模型,一种基于回归的信号滤波算法,时间序列预测分析方法之一。
tmae:英文全称:totalmeanabsoluteerror,一种基于全局误差评估曲线预测准确率评估方法。
smape:英文全称:symmetricmeanabsolutepercentageerror,中文全称:对称平均绝对百分比误差,一种基于单点误差评估曲线预测准确率评估方法。
同比:同比一般情况下是今年第n月与去年第n月比,其计算公式为:同比发展速度=本期发展水平/去年同期水平×100%;同比增长速度=(本期发展水平-去年同期水平)/去年同期水平×100%。
在本说明书中,提供了一种预测方法,本说明书同时涉及一种预测装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种预测方法的流程图,包括步骤102至步骤106。
步骤102:获取店铺的第t时刻的历史交易额以及所述店铺的变量。
其中,时刻可以表示小时、日、月等,第t时刻可以理解为第几个小时、第几天以及第几个月份等。本说明书实施例中,为了与实际应用相结合,第t时刻在本说明书中表示为当前年的第几个月份,但并不影响在其他具体应用中需要将第t时刻理解为当天中的第几个小时或当月中的第几天等,在此不做任何限定。
在第t时刻可以表示当前年的第5个月份的情况下,获取店铺的第t时刻的历史交易额可以理解为,获取店铺的当年第5个月份的交易额以及第5个月份之前的该店铺所有的交易额;例如当前年第5个月份为2019年5月份,店铺是在2018年3月份营业,那么获取该店铺的第t时刻的历史交易额,则为获取该店铺的2019年5月份至2018年3月份的每个月份的历史交易额。其中,店铺包括但不限于任何形式、任何属性的店铺,例如线上店铺、线下店铺、销售衣服的店铺、销售食品的店铺等。
实际应用中,店铺的变量包括但不限于店铺的基本属性、店铺的交易情况、店铺的评价情况、店铺的投诉情况、店铺的处罚情况、店铺的运营情况等,其中,
所述店铺的基本属性包括但不限于店铺的营业时长等;所述店铺的交易情况包括但不限于店铺在最近n个月有交易额的月份数、交易笔数、每笔交易成交量、每一位顾客平均购买商品的金额等;所述店铺的评价情况包括但不限于店铺在最近n个月的好评/差评的数量等、比例;所述店铺的投诉情况包括但不限于店铺最近n个月的投诉数量等;所述店铺的处罚情况包括但不限于店铺最近n个月的处罚数以及处罚金额等;所述店铺的运营情况包括但不限于店铺最近n个月的广告投入次数、每笔广告的金额以及每笔广告的平均金额等。
举例说明,若店铺为a店铺,第t时刻为当年5月份,那么获取店铺的第t时刻的历史交易额以及所述店铺的变量,则为获取a店铺自营业日至当前年5月份之前的所有的历史交易额以及a店铺的上述所有维度的变量。
步骤104:将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数。
具体实施时,预设的预测模型可以为任一可预测的机器学习模型,例如lstm模型、lr模型或者gbdt模型等。
其中,所述预设的预测模型可以基于店铺历史的交易额以及变量进行训练得到,本说明书实施例中,利用训练得到i个机器学习模型,用来预测未来第t 1时刻至第t i时刻的时间区间内每个时刻的预测交易额。
可选的,本说明书实施例中,预设的预测模型包括长短期记忆网络模型,即lstm模型,具体的,在所述预设的预测模型包括长短期记忆网络模型的情况下,
所述将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额包括:
将所述历史交易额以及所述变量输入至所述长短期记忆网络模型中,得到所述第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额。
其中,所述历史交易额为店铺自营业日至当前年第t时刻的每个月份的历史交易额。例如a店铺是在2018年3月份正式营业,而第t时刻为2019年5月份,那么a店铺的历史交易额,则为a店铺在2019年5月份到去年2018年3月份的每个月份的历史交易额。
而在第t时刻为2019年5月份的情况下,第t 1时刻到第t i时刻的时间区间内每个时刻,则表示2019年5月份相加i的每个时刻;
例如i为2,那么第t 1时刻到第t i时刻的时间区间内每个时刻,则表示为2019年的6月份、2019年的7月份,实际应用中,i的取值可以根据实际应用进行设定,在此不做任何限定。
举例说明,在第t时刻为2019年5月份,i为6的情况下,将所述历史交易额以及所述变量输入至所述长短期记忆网络模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额;则可以理解为将a店铺的2019年5月份到去年2018年3月份的每个月份的历史交易额以及a店铺的变量输入至lstm模型,得到a店铺的2019年6月份到2019年11月份的未来6个月中每个月份的预测交易额,即2019年6月份的预测交易额、2019年7月份的预测交易额、2019年8月份的预测交易额、2019年9月份的预测交易额、2019年10月份的预测交易额以及2019年11月份的预测交易额。
实际应用中,可以仅预测店铺在第t 1时刻的预测交易额,也可以预测店铺在第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额。实际应用中,lstm可以一次仅预测一个值,即仅预测店铺未来一个月的gmv(英文全称:grossmerchandisevolume,中文全称:成交总额),例如仅预测店铺在第t 1时刻的预测交易额;也可以预测店铺未来i个月的gmv,即预测店铺在第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额;但是基于lstm对店铺的未来月份的交易额进行预测时,店铺的未来月份越久远,误差就会越大,准确率就会越低,为了保证较为准确的店铺未来月份的预测交易额,一般情况下,预测店铺的未来六个月的月份的预测交易额较为合适,即i优选为6。
步骤106:将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额。
具体的,预设的时序预测算法包括但不限于卡尔曼滤波算法,即kf,kf是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。最优估计指的是使经过kf算法解算的数据无限接近于真实值的估计,用数学表述即为后验概率估计无限接近于真实值。卡尔曼滤波算法核心思想在于预测和测量反馈,它由两部分组成,第一部分是线性系统状态预测方程,第二部分是线性系统观测方程。
本说明书实施例中,在所述预设的时序预测算法包括卡尔曼滤波算法的情况下,
所述将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额包括:
将每个时刻的预测交易额输入预设的卡尔曼滤波算法中,得到每个时刻的修正预测交易额。
结合上述实施例,在基于lstm模型获得第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额之后,将其每个时刻的预测交易额作为观测值输入至卡尔曼滤波算法,实现基于统计的时序算法,即卡尔曼滤波算法与基于机器学习的时序算法,即lstm进行结合,相互修正,以预测得到店铺在未来时刻的交易额更为准确。
实际应用中,kf对通过机器学习模型得到的预测交易额的递推更新包括状态更新和观测更新两个过程:
其中,状态更新通过如下方程得到:
pn|n-1=apn-1|n-1*at q
观测更新通过如下方程得到:
kn=pn|n-1h(hpn|n-1ht r)-1
pn|n=(i-knh)pn|n-1
即先由状态值预先推算出观测值的估计值,而后计算出该估计值的卡尔曼增益,最后根据真实的观测值倒推出真实的状态值,基于上述公式的目的是为了修正yn的预测交易额,使得该预测交易额更加接近于真实的交易额xn。
在本说明书实施例中,上述公式中的
其中,pn|n-1表示由xn-1|n-1推测xn|n-1这个方法的协方差,q表示随机项σ(n)的方差,r表示随机项υ(n)的方差,kn表示根据yn反推回xn的系数。
kf即是先由状态值预先推算出观测值的估计值,而后计算出该估算值的卡尔曼增益,最后根据真实的观测值倒推出真实的状态值。
而在单独使用kf算法进行交易额预算时,kf算法在获取到t时刻交易额的情况下,对t 1时刻的交易额的预测中具有极好的结果,即是已知t时刻的交易额,预测t 1时刻的交易额的情况下最好。但是由观测方程可知,kf在预测t 1~6(即t 1时刻到t 6时刻)的情况下,需要观测值对状态值进行更新,而实际情况中仅有最后时刻的真值,因此kf对于周期越长的交易额的预测,kf的性能会快速下滑,具体结果参见图2和图3,图2为kf长周期预测方法示意图,图3为kf长周期预测结果示意图,实际应用中,kf可以很好的捕捉序列的转移情况,但进行长期预测的情况下缺乏观测值,性能下滑迅速,通过图3可以看出误差30%以内店铺数占比随预测周期的增加,性能下滑,在t 1时刻,误差在30%以内店铺数占比还可以达到75%左右,而在t 6时刻,误差在30%以内店铺数占比就已经下滑到了55%左右,因此本说明书实施例将机器学习以及kf二者的优势进行补偿,可以预测得到更为准确的店铺在t 1~6时刻的交易额,具体原理参见图4,图4为卡尔曼滤波长周期预测方法修正示意图,通过加入新的观测值new,通过卡尔曼滤波算法与lstm的结合,互相修正彼此的预测交易额,实现对预测交易额的修正,已得到更为准确的未来时刻的预测交易额,即修正预测交易额,修改kf的观测方程的更新状态为:
本说明书实施例中,所述预测方法利用店铺第t时刻的历史交易数据以及所述店铺的变量通过机器学习预测模型得到初始的预测交易额,再基于kf与lstm模型相互结合,实现对预测交易额的修正后得到更为准确的修正后的店铺的预测交易额。
本说明书另一实施例中,所述获取店铺的第t时刻的历史交易额以及所述店铺的变量之后,还包括:
基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
其中,所述预设的线性递推算法包括同比算法或环比算法。
具体实施时,具体采用同比算法或环比算法对所述历史交易额进行计算,还需要根据实际需要进行设置。
若获取的所述店铺的第t时刻的历史交易额包括该店铺的第t时刻的历史交易额以及历史的第t时刻的历史交易额的情况下,
所述基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额具体包括:
基于所述店铺的第t时刻的历史交易额与所述历史的第t时刻的历史交易额确定所述第t时刻的交易同比增长值;
基于所述第t时刻的交易同比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
例如第t时刻为2019年5月份,那么历史的第t时刻则为去年的第t时刻,即2018年5月份。
即可以获取到店铺去年第t时刻的历史交易额的情况下,采用同比算法进行计算比环比算法进行计算的准确率要高。
具体的,在第t时刻为2019年5月份,历史的第t时刻为2018年5月份的情况下,采用同比算法进行计算的具体步骤如下:
首先将店铺在2019年5月份的交易额以及2018年5月份的交易额进行比较,确定店铺在2019年5月份的交易额比2018年5月份的交易额增长了多少,即交易同比增长值,然后同样认为店铺在2019年6月份的交易额至店铺在2019年i月份的每个月份的交易额增长了相同的交易同比增长值,采用此种同比方法计算出该店铺在2019年6月份至2019年i月份中的每个月份的计算预测交易额。
而若店铺为营业时间较短的店铺,无法获取到店铺去年第t时刻的交易额的情况下,则可以采用环比算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
具体的,所述获取店铺的第t时刻的历史交易额包括:
获取店铺的第t-1时刻的历史交易额。
在获取到店铺的第t-1时刻的历史交易额的情况下,所述预设的线性递推算法包括环比算法;
所述基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额具体包括:
基于所述店铺的第t-1时刻的历史交易额确定所述第t 1时刻到第t i时刻的时间区间内每个时刻的交易环比增长值;
基于所述交易环比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
具体实施时,首先获取店铺第t-1时刻的历史交易额,然后比较店铺第t时刻的历史交易额相比第t-1时刻的历史交易额的增长百分比,即交易环比增长值,然后同样认为该店铺在第t 1时刻至第t i时刻的时间区间内每个时刻的交易额增长相同的百分比,采用此种环比方法计算出第t 1时刻至第t i时刻的时间区间内每个时刻的计算预测交易额。
本说明书另一实施例中,在所述基于预设的时序预测算法对每个所述预测交易额进行修正,得到修正后的修正预测交易额之后,还包括:
基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额。
即是将每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法加权平均获得目标预测交易额。
参见图5,图5为本说明书实施例提供的一种预测方法的方案流程示意图。
步骤一:首先将x[n]输入lstm模型得到观测值,即上述实施例的预测交易额;
步骤二:将该观测值代入至卡尔曼滤波方程中,基于该观测值对状态值进行更新修正,再由状态值推算出新的观测值等方式推算出较优的修正预测交易额,即y[n|n];
步骤三:将通过lstm模型预测得到的预测交易额、通过kf修正后的修正预测交易额以及通过同比算法计算得到的计算预测交易额做基于指数平滑的误差融合,以得到最优的未来时刻的预测交易额。
具体的,步骤一和步骤二是基于算法将机器学习模型与kf算法相结合对预测得到的预测交易额进行融合修正,步骤三是基于指数平滑的误差融合方式将通过lstm模型预测得到的预测交易额、通过kf修正后的修正预测交易额以及通过同比算法计算得到的计算预测交易额进一步取最优。
实际应用中,为了解决lstm与kf的结合模型对非季节性的交易额预测不准的情况下,通过对lstm与kf的结合模型的修正预测交易额、lstm模型的预测交易额进行加权平均的方式对预测的未来时刻的交易额通过指数平滑法进行误差融合,将二者结果进一步优化。具体实施时,还可以加入同比/环比方法,与上述两者的结果进行加权平均,实现对店铺的未来时刻的交易额进一步取最优。
具体的,通过如下方程实现:
其中i表示不同的方法,即不同的预测方式例如lstm、kf、同比、环比等预测方式,m表示方法总个数,n表示时间,λ表示不同方法的权重;fi表示n时刻第i种方法预测的结果,yn表示n时刻多个方法融合后的输出结果,λi,n表示n时刻第i种方法的参考系数。
其中,上述方程是为了在n 1时刻更新λ,其中εi,n表示n时刻第i种方法的误差,ai,n表示根据εi,n计算的一个中间值,zn表示n时刻根据误差加权计算出的中间值,λi,n 1表示n 1时刻第i种方法的参考系数,即为下一个时刻做的准备。
本说明书实施例中,所述预测方法首先获取基于机器学习模型预测得到的第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额、通过kf模型对每个时刻的预测交易额修正后的修正预测交易额、以及通过同比算法/环比算法计算获得的每个时刻的计算预测交易额后,将其基于指数平滑法进行误差融合,将其结果进一步取最优,可以得到店铺的未来时刻内更为精确的目标预测交易额。
本说明书另一实施例中,所述基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额之后,还包括:
基于所述目标预测交易额对所述店铺进行项目额度调整。
其中,所述项目包括但不限于贷款项目。
实际应用中,得到店铺的比较精确的未来时刻内的目标预测交易额之后,可以根据该店铺未来时刻的交易额确定该店铺的未来销量走势,以判断是否可以给该店铺进行贷款提额,以提高该店铺应对销售旺季的准备,提升店铺体验。
具体实施时还可以基于该目标预测交易额具体判断针对该店铺的提额数额,进一步的提高店铺对系统的友好度。
本说明书实施例中,对本说明书提供的预测方法进行了评估,具体评估结果如下:
所述预测方法采用准确率、tmae以及smape三个指标进行评估,具体如下:
准确率指标如下公式计算得到:
即考量误差精度在x%以内的类目占比,衡量单体预测性能。
参见图6,图6为本说明书实施例提供的预测方法的预测结果准确性示意图,例如预测了1000家店铺,每家店铺的未来时刻的交易额的误差都不一样,图6中统计了误差在10%以及30%以内的店铺的占比。
基于图6可知,无论是误差在10%以内还是30%以内的店铺的未来时刻的交易额,采用本说明书实施例提供的预测方法得到的店铺未来3个月内的预测结果的准确率均是最优的。其中,hybridmodel模型即是基于本说明书实施例提供的预测方法得到的模型,即lstm-kf、lstm的混合模型或lstm-kf、lstm、同比/环比的混合模型。
参见图7,图7为预测方法的预测结果稳定性示意图,图7中通过将第t 1~3时刻合并,第t 1~6时刻合并,即可评估未来3个月、6个月的交易额总预测误差,可见3个月的交易额预测的误差明显小于6个月,同时预测结果保持稳定。
tmae指标如下公式计算:
即全量类目总误差,衡量预测方法的整体预测性能。
参见图8,图8为预测方法的预测结果中关于tmae指标的示意图,图8中可以看出采用本说明书的预测方法,预测店铺未来3个月的交易额的情况下,店铺的全量类目总误差最小。
smape指标如下公式计算:
参见图9,图9为预测方法的预测结果中关于smape指标的示意图,图9中可以看出采用本说明书实施例中的预测方法,预测店铺未来3个月的交易额的情况下,店铺的所有类目加权平均误差最小,单体预测性能最佳。
与上述方法实施例相对应,本说明书还提供了预测装置实施例,图10示出了本说明书一个实施例提供的一种预测装置的结构示意图。如图10所示,该装置包括:
数据获取模块1002,被配置为获取店铺的第t时刻的历史交易额以及所述店铺的变量;
数据预测模块1004,被配置为将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;
数据修正模块1006,被配置为将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额。
可选的,所述装置,还包括:
数据计算模块,被配置为基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述装置之后,还包括:
目标数据确定模块,被配置为基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额。
可选的,所述数据获取模块1002,进一步被配置为:
获取店铺的第t时刻的历史交易额以及历史的第t时刻的历史交易额。
可选的,所述预设的线性递推算法包括同比算法;
所述数据预测模块1004,进一步被配置为:
基于所述店铺的第t时刻的历史交易额与所述历史的第t时刻的历史交易额确定所述第t时刻的交易同比增长值;
基于所述第t时刻的交易同比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述数据获取模块1002,进一步被配置为:
获取店铺的第t-1时刻的历史交易额。
可选的,所述预设的线性递推算法包括环比算法;
所述数据预测模块1004,进一步被配置为:
基于所述店铺的第t-1时刻的历史交易额确定所述第t 1时刻到第t i时刻的时间区间内每个时刻的交易环比增长值;
基于所述交易环比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
可选的,所述预设的预测模型包括长短期记忆网络模型;
所述数据预测模块1004,进一步被配置为:
将所述历史交易额以及所述变量输入至所述长短期记忆网络模型中,得到所述第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额。
可选的,所述预设的时序预测算法包括卡尔曼滤波算法;
所述数据修正模块1006,进一步被配置为:
将每个时刻的预测交易额输入预设的卡尔曼滤波算法中,得到每个时刻的修正预测交易额。
可选的,所述装置,还包括:
额度调整模块,被配置为基于所述目标预测交易额对所述店铺进行项目额度调整。
上述为本实施例的一种预测装置的示意性方案。需要说明的是,该预测装置的技术方案与上述的预测方法的技术方案属于同一构思,预测装置的技术方案未详细描述的细节内容,均可以参见上述预测方法的技术方案的描述。
图11示出了根据本说明书一个实施例提供的一种计算设备1100的结构框图。该计算设备1100的部件包括但不限于存储器1110和处理器1120。处理器1120与存储器1110通过总线1130相连接,数据库1150用于保存数据。
计算设备1100还包括接入设备1140,接入设备1140使得计算设备1100能够经由一个或多个网络1160通信。这些网络的示例包括公用交换电话网(psnn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备1140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nnc))中的一个或多个,诸如neee802.11无线局域网(wlan)无线接口、全球微波互联接入(wn-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
在本说明书的一个实施例中,计算设备1100的上述部件以及图11中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图11所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备1100还可以是移动式或静止式的服务器。
其中,处理器1120用于执行如下计算机可执行指令:
获取店铺的第t时刻的历史交易额以及所述店铺的变量;
将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;
将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的预测方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述预测方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述预测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的预测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述预测方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
1.一种预测方法,包括:
获取店铺的第t时刻的历史交易额以及所述店铺的变量;
将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;
将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额。
2.根据权利要求1所述的预测方法,所述获取店铺的第t时刻的历史交易额以及所述店铺的变量之后,还包括:
基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
3.根据权利要求2所述的预测方法,所述将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额之后,还包括:
基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额。
4.根据权利要求3所述的预测方法,所述获取店铺的第t时刻的历史交易额包括:
获取店铺的第t时刻的历史交易额以及历史的第t时刻的历史交易额。
5.根据权利要求4所述的预测方法,所述预设的线性递推算法包括同比算法;
所述基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额包括:
基于所述店铺的第t时刻的历史交易额与所述历史的第t时刻的历史交易额确定所述第t时刻的交易同比增长值;
基于所述第t时刻的交易同比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
6.根据权利要求2所述的预测方法,所述获取店铺的第t时刻的历史交易额包括:
获取店铺的第t-1时刻的历史交易额。
7.根据权利要求6所述的预测方法,所述预设的线性递推算法包括环比算法;
所述基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额包括:
基于所述店铺的第t-1时刻的历史交易额确定所述第t 1时刻到第t i时刻的时间区间内每个时刻的交易环比增长值;
基于所述交易环比增长值获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
8.根据权利要求6所述的预测方法,所述预设的预测模型包括长短期记忆网络模型;
所述将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额包括:
将所述历史交易额以及所述变量输入至所述长短期记忆网络模型中,得到所述第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额。
9.根据权利要求1所述的预测方法,所述预设的时序预测算法包括卡尔曼滤波算法;
所述将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额包括:
将每个时刻的预测交易额输入预设的卡尔曼滤波算法中,得到每个时刻的修正预测交易额。
10.根据权利要求3所述的预测方法,所述基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额之后,还包括:
基于所述目标预测交易额对所述店铺进行项目额度调整。
11.一种预测装置,包括:
数据获取模块,被配置为获取店铺的第t时刻的历史交易额以及所述店铺的变量;
数据预测模块,被配置为将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;
数据修正模块,被配置为将每个时刻的预测交易额输入预设的时序预测算法中,得到每个时刻的修正预测交易额。
12.根据权利要求11所述的预测装置,所述装置,还包括:
数据计算模块,被配置为基于所述历史交易额通过预设的线性递推算法进行计算,获得所述第t 1时刻到第t i时刻的时间区间内每个时刻的计算预测交易额。
13.根据权利要求12所述的预测装置,所述装置之后,还包括:
目标数据确定模块,被配置为基于每个所述预测交易额以及每个所述预测交易额在对应时刻的所述修正预测交易额、所述计算预测交易额通过指数平滑法获得目标预测交易额。
14.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取店铺的第t时刻的历史交易额以及所述店铺的变量;
将所述历史交易额以及所述变量输入至预设的预测模型中,得到第t 1时刻到第t i时刻的时间区间内每个时刻的预测交易额,其中,所述i为正整数;
基于预设的时序预测算法对每个所述预测交易额进行修正,得到修正后的修正预测交易额。
15.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至10任意一项所述预测方法的步骤。
技术总结