基于Prophet模型的销量预测方法及装置与流程
未命名
10-17
阅读:134
评论:0
基于prophet模型的销量预测方法及装置
技术领域
1.本发明涉及人工智能领域,具体而言,涉及一种基于prophet模型的销量预测方法及装置。
背景技术:
2.相关技术中,根据历史的商品销量或营收金额,预测未来的趋势情况,对于商家提前做好商品储备和营收目标制定有一定参考价值。
3.相关技术中,限定单序列特征预测方法有移动自回归模型、同比法以及prophet模型等。其中,移动自回归模型使用条件较苛刻,同比法方法简单,但二者预测效果一般,prophet模型效果好,但对回归系数的要求较高,如果能配置准确的回归系数,则能达到准确度较高的预测结果,相关技术中的prophet模型一般采用的是固定的回归系数,prophet模型一旦训练完成,则会在使用阶段一直使用,但随着时间推移,不同时段的输入数据的数据特征如果变化较大,则会导致后期prophet模型与回归系数不匹配,最终导致prophet模型的预测准确率差。
4.针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
技术实现要素:
5.本发明实施例提供了一种基于prophet模型的销量预测方法及装置。
6.根据本技术实施例的一个方面,提供了一种基于prophet模型的销量预测方法,包括:确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,其中,所述历史时间序列的每个周期时间对应所述历史销量数据的一个销量值;采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数,其中,所述prophet模型用于预测目标商品在目标时间序列的销量数据,所述第一回归系数包括多个历史回归值,每个回归值对应所述历史时间序列的一个周期时间;提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成prophet模型在所述未来时间序列的第二回归系数;采用所述第二回归系数配置所述prophet模型,并采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据。
7.进一步,采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数包括:将所述历史销量数据按照时间切分为验证数据和第一训练数据;采用prophet模型对所述第一训练数据进行梯度下降拟合,求解得到prophet模型在所述历史时间序列的第一回归系数。
8.进一步,采用prophet模型对所述第一训练数据进行梯度下降拟合,求解得到prophet模型在所述历史时间序列的第一回归系数包括:确定所述历史时间序列的时间单位,按照所述时间单位将所述第一训练数据切分为多份子数据;采用初始回归系数预测每个时间周期的预测销量值;
9.采用以下公式进行梯度下降拟合,直到符合预设停止条件:
[0010][0011]
其中,wj为当前时间周期的回归系数,wj:为所述当前时间周期的同周期历史时间的回归系数,α为动态调整步长,所述预设停止条件包括:步长调整次数达到预设次数,或,当前时间周期的预测销量值与当前时间周期的真实销量值的差值小于预设阈值。
[0012]
进一步,采用初始回归系数预测每个时间周期的预测销量值包括:对所述多份子数据中首份子数据的回归系数初始化为1;将当前时间周期的子数据除以上一时间周期的子数据的比值确定为当前时间周期的初始回归系数;将所有子数据的初始回归系数进行归一化处理,并采用归一化处理之后的回归系数在prophet模型中预测每个时间周期的预测销量值。
[0013]
进一步,提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成所述prophet模型在所述未来时间序列的第二回归系数包括:对所述多个历史回归值进行一阶散点拟合,生成拟合直线;提取所述拟合直线的斜率和截距,并将所述斜率和截距确定为所述多个历史回归值的散点拟合特征;采用所述散点拟合特征计算prophet模型在所述未来时间序列的第二回归系数。
[0014]
进一步,采用所述散点拟合特征计算prophet模型在所述未来时间序列的第二回归系数包括:确定所述未来时间序列与所述历史时间序列的每个同周期时间;从所述第一回归系数中选择所述同周期时间的历史同周期回归值;针对每个同周期时间的未来回归值,采用所述历史同周期回归值乘以所述斜率后再偏移所述截距,得到对应同周期时间的未来回归值;按照序列时间组合所有的未来回归值,得到第二回归系数。
[0015]
进一步,采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据包括:采用配置后的prophet模型运行模型验证数据,其中,所述历史销量数据包括所述模型验证数据;若所述配置后的prophet模型的验证结果满足预设条件,将所述未来时间序列作为所述配置后的prophet模型的输入数据,输出所述目标商品在所述未来时间序列的未来销量数据。
[0016]
根据本技术实施例的另一个方面,还提供了一种基于prophet模型的销量预测装置,包括:获取模块,用于确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,其中,所述历史时间序列的每个周期时间对应所述历史销量数据的一个销量值;计算模块,用于采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数,其中,所述prophet模型用于预测目标商品在目标时间序列的销量数据,所述第一回归系数包括多个历史回归值,每个回归值对应所述历史时间序列的一个周期时间;生成模块,用于提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成prophet模型在所述未来时间序列的第二回归系数;预测模块,用于采用所述第二回归系数配置所述prophet模型,并采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据。
[0017]
进一步,计算模块包括:切分单元,用于将所述历史销量数据按照时间切分为验证
数据和第一训练数据;计算单元,用于采用prophet模型对所述第一训练数据进行梯度下降拟合,求解得到prophet模型在所述历史时间序列的第一回归系数。
[0018]
进一步,所述计算单元包括:切分子单元,用于确定所述历史时间序列的时间单位,按照所述时间单位将所述第一训练数据切分为多份子数据;预测子单元,用于采用初始回归系数预测每个时间周期的预测销量值;拟合子单元,用于采用以下公式进行梯度下降拟合,直到符合预设停止条件:
[0019][0020]
其中,wj为当前时间周期的回归系数,wj:为所述当前时间周期的同周期历史时间的回归系数,α为动态调整步长,所述预设停止条件包括:步长调整次数达到预设次数,或,当前时间周期的预测销量值与当前时间周期的真实销量值的差值小于预设阈值。
[0021]
进一步,预测单元包括:初始化子单元,用于对所述多份子数据中首份子数据的回归系数初始化为1;计算子单元,用于将当前时间周期的子数据除以上一时间周期的子数据的比值确定为当前时间周期的初始回归系数;归一化子单元,用于将所有子数据的初始回归系数进行归一化处理,并采用归一化处理之后的回归系数在prophet模型中预测每个时间周期的预测销量值。
[0022]
进一步,所述生成模块包括:拟合单元,用于对所述多个历史回归值进行一阶散点拟合,生成拟合直线;提取单元,用于提取所述拟合直线的斜率和截距,并将所述斜率和截距确定为所述多个历史回归值的散点拟合特征;计算单元,用于采用所述散点拟合特征计算prophet模型在所述未来时间序列的第二回归系数。
[0023]
进一步,所述计算单元包括:确定单元,用于确定所述未来时间序列与所述历史时间序列的每个同周期时间;选择单元,用于从所述第一回归系数中选择所述同周期时间的历史同周期回归值;计算单元,用于针对每个同周期时间的未来回归值,采用所述历史同周期回归值乘以所述斜率后再偏移所述截距,得到对应同周期时间的未来回归值;组合单元,用于按照序列时间组合所有的未来回归值,得到第二回归系数。
[0024]
进一步,所述预测模块包括:验证单元,用于采用配置后的prophet模型运行模型验证数据,其中,所述历史销量数据包括所述模型验证数据;预测单元,用于若所述配置后的prophet模型的验证结果满足预设条件,将所述未来时间序列作为所述配置后的prophet模型的输入数据,输出所述目标商品在所述未来时间序列的未来销量数据。
[0025]
根据本技术实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
[0026]
根据本技术实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
[0027]
本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
[0028]
通过本发明,通过本实施例,确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,采用历史销量数据计算prophet模型在历史时间序列的第一回归系数,提取多个历史回归值的散点拟合特征,并采用散点拟合特征生成prophet模型在未来时间序列的第二回归系数,采用第二回归系数配置prophet模型,并采用配置后的prophet模型预测目标商品在未来时间序列的未来销量数据,通过采用历史销量数据计算prophet模型在对应历史时间序列的第一回归系数,并根据第一回归系数的散点拟合特征生成prophet模型在未来时间序列的第二回归系数,提高了prophet模型与回归系数的匹配度,解决了相关技术中prophet模型预测商品销量不准确的技术问题,提高了prophet模型的预测准确度。
附图说明
[0029]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0030]
图1是本发明实施例的一种计算机的硬件结构框图;
[0031]
图2是根据本发明实施例的一种基于prophet模型的销量预测方法的流程图;
[0032]
图3是本发明实施例中目标时序趋势预测的流程图;
[0033]
图4是根据本发明实施例的一种基于prophet模型的销量预测装置的结构框图。
具体实施方式
[0034]
为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0035]
需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0036]
实施例1
[0037]
本技术实施例一所提供的方法实施例可以在服务器、计算机、手机、或者类似的运算装置中执行。以运行在计算机上为例,图1是本发明实施例的一种计算机的硬件结构框图。如图1所示,计算机可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构
建成限定。例如,计算机还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0038]
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种基于prophet模型的销量预测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0039]
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
[0040]
在本实施例中提供了一种基于prophet模型的销量预测方法,图2是根据本发明实施例的一种基于prophet模型的销量预测方法的流程图,如图2所示,该流程包括如下步骤:
[0041]
s202,确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,其中,历史时间序列的每个周期时间对应历史销量数据的一个销量值;
[0042]
本实施例的历史销量数据是单序列数据,其中,单序列表示只有一种次序,本示例中,历史销量数据按时间序列进行排序,可以是与时间序列对应的销量或者营收金额等,例如,历史时间序列为[1月、2月、3月],历史销量数据为[325、500、425],每月对应一个销量值。
[0043]
s204,采用历史销量数据计算prophet模型在历史时间序列的第一回归系数,其中,prophet模型用于预测目标商品在目标时间序列的销量数据,第一回归系数包括多个历史回归值,每个回归值对应历史时间序列的一个周期时间;
[0044]
本实施例的prophet模型是一种开源的时间序列预测模型,基于时间和变量值结合时间序列分解和机器学习的拟合实现。将历史时间序列产生的历史销量数据作为输入数据,并向prophet模型配置待预测的未来时间序列,可输出得到待预测的未来时间序列对应的数据走势,即未来销量数据,还可以进一步基于未来销量数据分析得到拟合曲线、上界值、下界值等。
[0045]
本示例采用历史销量数据计算prophet模型在历史时间序列的第一回归系数,其中,每个回归系数对应一个周期时间,如,周期时间为月时,回归系数表现为各月份的加法或乘法因子。
[0046]
s206,提取多个历史回归值的散点拟合特征,并采用散点拟合特征生成prophet模型在未来时间序列的第二回归系数;
[0047]
本实施例根据得到的历史时间序列的第一回归系数计算未来时间序列的第二回归系数,可以是建立第一回归系数与第二回归系数之间的回归方程,通过对回归方程拟合求解,采用回归方程求解prophet模型未来的第二回归系数。
[0048]
s208,采用第二回归系数配置prophet模型,并采用配置后的prophet模型预测目
标商品在未来时间序列的未来销量数据。
[0049]
通过本实施例,确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,采用历史销量数据计算prophet模型在历史时间序列的第一回归系数,提取多个历史回归值的散点拟合特征,并采用散点拟合特征生成prophet模型在未来时间序列的第二回归系数,采用第二回归系数配置prophet模型,并采用配置后的prophet模型预测目标商品在未来时间序列的未来销量数据,通过采用历史销量数据计算prophet模型在对应历史时间序列的第一回归系数,并根据第一回归系数的散点拟合特征生成prophet模型在未来时间序列的第二回归系数,提高了prophet模型与回归系数的匹配度,解决了相关技术中prophet模型预测商品销量不准确的技术问题,提高了prophet模型的预测准确度。
[0050]
在本发明一示例中,采用历史销量数据计算prophet模型在历史时间序列的第一回归系数,包括:
[0051]
s21,将历史销量数据按照时间切分为验证数据和第一训练数据;
[0052]
本示例按照时间将历史销量数据切分为用于构建模型的训练数据以及用于测试模型误差的验证数据。如,按时间切分历史1年的销量数据,后六个月的销量为验证数据,前六个月的销量为训练数据。
[0053]
s22,采用prophet模型对第一训练数据进行梯度下降拟合,求解得到prophet模型在历史时间序列的第一回归系数。
[0054]
本实施例的梯度下降是一种迭代法算法,在求解损失函数的最小值时,可以通过梯度下降法一步步的迭代求解,得到最小化的损失函数和模型参数值。本示例采用prophet模型对第一训练数据进行梯度下降拟合,得到prophet模型在历史时间序列的第一回归系数。本示例通过将历史销量数据按照时间切分为验证数据和第一训练数据,之后对第一训练数据进行梯度下降拟合求解第一回归系数,实现了用历史数据计算历史时间序列的第一回归系数。
[0055]
在一示例中,采用prophet模型对第一训练数据进行梯度下降拟合,求解得到prophet模型在历史时间序列的第一回归系数包括:采用prophet模型对第一训练数据进行梯度下降拟合,求解得到prophet模型在历史时间序列的第一回归系数包括:确定历史时间序列的时间单位,按照时间单位将第一训练数据切分为多份子数据;采用初始回归系数预测每个时间周期的预测销量值;采用以下公式进行梯度下降拟合,直到符合预设停止条件:
[0056]
其中,wj为当前时间周期的回归系数,wj:为当前时间周期的同周期历史时间的回归系数,α为动态调整步长,预设停止条件包括:步长调整次数达到预设次数,或,当前时间周期的预测销量值与当前时间周期的真实销量值的差值小于预设阈值。
[0057]
用户输入prophet模型的输入数据中包括时间单位,其可以为日、月、季度、年等,用于确定预测数据的时间单位,如,以月为时间单位表示预测未来每月的数据,以年为时间单位表示预测未来每年的数据等。
[0058]
按照时间单位将第一训练数据切分为多份子数据,如,历史1年前六个月的销量为训练数据,按照月的时间单位将训练数据划分为6份子数据,其中,每份子数据对应各月的
销量。
[0059]
初始回归系数为在对模型训练前初始化赋值的回归系数,其可以根据经验或者多次实验确定,根据设置的初始回归系数预测每个时间周期的预测销量值。
[0060]
本示例根据训练数据采用梯度下降法求解回归系数,直到梯度下降步长调整次数达到预设次数,或,当前时间周期的预测销量值与当前时间周期的真实销量值的差值小于预设阈值。通过梯度下降拟合方法对初始回归系数进行调整,实现了对历史时间序列的第一回归系数的求解。
[0061]
在本发明实施例一示例中,采用初始回归系数预测每个时间周期的预测销量值包括:对多份子数据中首份子数据的回归系数初始化为1;将当前时间周期的子数据除以上一时间周期的子数据的比值确定为当前时间周期的初始回归系数;将所有子数据的初始回归系数进行归一化处理,并采用归一化处理之后的回归系数在prophet模型中预测每个时间周期的预测销量值。
[0062]
本示例中初始回归系数根据当前时间周期子数据除以上一时间周期子数据的比值进行归一化处理确定。以月份为时间单位的销量数据为例,将第一训练数据中的第一月系数初始化为1,第二月系数则为第二月销量除以第一月销量的比值,第三月系数则为第三月除以第二月销量的比值,依此类推,用每月销量除以其上一月销量的比值得到该月系数,之后对求得的每月月系数进行归一化处理,使所有月的月系数相加为一,得到训练数据中各时间周期归一化后的初始回归系数,之后采用归一化后的初始回归系数在prophet模型中预测每个时间周期的预测销量值,通过预测销量值和真实销量值的误差对模型进行训练,拟合调整回归系数,使预测销量值和真实销量值之间达到最优。
[0063]
本示例中将首份子数据的回归系数初始化为1,将当前周期子数据与前一周期子数据的比值确定为当前周期的初始回归系数,之后再对所有子数据的初始回归系数进行归一化处理,从而实现了对训练数据各时间周期的初始回归系数的确定。
[0064]
在本发明实施例一示例中,提取多个历史回归值的散点拟合特征,并采用散点拟合特征生成prophet模型在未来时间序列的第二回归系数包括:
[0065]
s31,对多个历史回归值进行一阶散点拟合,生成拟合直线;
[0066]
s32,提取拟合直线的斜率和截距,并将斜率和截距确定为多个历史回归值的散点拟合特征;
[0067]
本示例中将第一回归系数作为第二训练数据,拟合一阶回归得到斜率和截距,其中,对第二训练数据进行一阶散点拟合的方式可以是采用最小二乘法、梯度下降法或者其它拟合方法实现,在一具体实施方式中,也可以通过直接调用python的numpy包中ployfit功能实现,本发明实施例不做具体限制。
[0068]
s33,采用散点拟合特征计算prophet模型在未来时间序列的第二回归系数。
[0069]
采用一阶散点拟合得到的斜率和截距来计算prophet模型在未来时间序列的第二回归系数。在本发明一示例中,采用散点拟合特征计算prophet模型在未来时间序列的第二回归系数包括:确定未来时间序列与历史时间序列的每个同周期时间;从第一回归系数中选择同周期时间的历史同周期回归值;针对每个同周期时间的未来回归值,采用历史同周期回归值乘以斜率后再偏移截距,得到对应同周期时间的未来回归值;按照序列时间组合所有的未来回归值,得到第二回归系数。
[0070]
本示例中,第二回归值=历史同周期回归值*斜率+截距,如,已知当前年度月的回归值w和拟合的斜率k和截距b,则下年度月的回归值w=当前年度月回归系数w*斜率k+截距b,通过该公式可以依次求得预测下年度月的各个回归值。
[0071]
本发明实施例采用对第一回归系数拟合得到的斜率和截距计算prophet模型在未来时间序列的第二回归系数,实现了第二回归系数的预测计算。
[0072]
一示例中,采用配置后的prophet模型预测目标商品在未来时间序列的未来销量数据包括:采用配置后的prophet模型运行模型验证数据,其中,历史销量数据包括模型验证数据;若配置后的prophet模型的验证结果满足预设条件,将未来时间序列作为配置后的prophet模型的输入数据,输出目标商品在未来时间序列的未来销量数据。
[0073]
本示例中用已知的历史序列数据验证第二回归系数,若第二回归系数的验证结果满足预设条件,则采用该第二回归系数配置prophet模型,预测未来时间序列的预测数据。如果采用第二回归系数运行prophet模型得到的验证结果满足预设条件,如,采用第二回归系数运行prophet模型得到的预测值与验证数据中的真实值之间的mape(mean absolute percentage error,平均绝对百分比误差)小于或等于预设阈值,则认为第二回归系数的验证结果满足预设条件。其中,mape表示如下:
[0074][0075]
m为平均绝对百分比误差,n为样本个数,a
t
为真实值,f
t
为预测值。
[0076]
本发明实施例通过验证数据对第二回归系数进行验证,当采用第二回归系数的验证结果满足预设条件时,则采用该第二回归系数配置prophet模型,保证了模型的准确性。
[0077]
图3是本发明实施例中目标时序趋势预测的流程图,包括:
[0078]
步骤一:用户输入时间单位、预测时间长度和历史序列数据;
[0079]
时间单位可以是时、日、月、年等;历史序列数据可以为历史销量或营收金额。
[0080]
步骤二:模型读取历史销量数据,划分训练集和验证集;
[0081]
其中划分训练集和验证集的方式可以是将历史销量数据中后六个单位时间划分为验证数据集,其它作为训练数据集。
[0082]
步骤三:模型训练拟合回归系数;
[0083]
模型根据训练数据进行梯度下降求解回归系数。
[0084]
步骤四:回归系数一阶拟合得到斜率和截距,根据斜率和截距得到未来预测时间单位的回归系数;
[0085]
根据求解的回归系数作为训练数据,拟合一阶回归得到斜率和截距,根据历史同周期单位的回归系数*斜率+截距,求得未来预测时间单位的回归系数。
[0086]
步骤五:模型预测评估;
[0087]
根据未来预测时间单位的回归系数,运行prophet模型验证历史销量数据中划分的验证集数据,输出mape评估模型预测结果。
[0088]
步骤六:输出预测结果的数据文件csv和趋势图png。
[0089]
输出预测时间长度的预测目标数据csv文件和png趋势图。
[0090]
通过本发明实施例,可以改进prophet模型,采用梯度下降拟合训练求解历史时间序列的历史回归系数,并根据历史回归系数的多个历史回归值的散点拟合特征生成
prophet模型在未来时间序列的第二回归系数,提高了prophet模型的预测准确度。
[0091]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0092]
实施例2
[0093]
在本实施例中还提供了一种基于prophet模型的销量预测装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0094]
图4是根据本发明实施例的一种基于prophet模型的销量预测装置的结构框图,如图4所示,该装置包括:获取模块40,计算模块42,生成模块44,预测模块46,其中,
[0095]
获取模块40,用于确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,其中,所述历史时间序列的每个周期时间对应所述历史销量数据的一个销量值;
[0096]
计算模块42,用于采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数,其中,所述prophet模型用于预测目标商品在目标时间序列的销量数据,所述第一回归系数包括多个历史回归值,每个回归值对应所述历史时间序列的一个周期时间;
[0097]
生成模块44,用于提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成prophet模型在所述未来时间序列的第二回归系数;
[0098]
预测模块46,用于采用所述第二回归系数配置所述prophet模型,并采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据。
[0099]
可选的,计算模块包括:切分单元,用于将所述历史销量数据按照时间切分为验证数据和第一训练数据;计算单元,用于采用prophet模型对所述第一训练数据进行梯度下降拟合,求解得到prophet模型在所述历史时间序列的第一回归系数。
[0100]
可选的,所述计算单元包括:切分子单元,用于确定所述历史时间序列的时间单位,按照所述时间单位将所述第一训练数据切分为多份子数据;预测子单元,用于采用初始回归系数预测每个时间周期的预测销量值;拟合子单元,用于采用以下公式进行梯度下降拟合,直到符合预设停止条件:
[0101][0102]
其中,wj为当前时间周期的回归系数,wj:为所述当前时间周期的同周期历史时间的回归系数,α为动态调整步长,所述预设停止条件包括:步长调整次数达到预设次数,或,当前时间周期的预测销量值与当前时间周期的真实销量值的差值小于预设阈值。
[0103]
可选的,预测单元包括:初始化子单元,用于对所述多份子数据中首份子数据的回归系数初始化为1;计算子单元,用于将当前时间周期的子数据除以上一时间周期的子数据的比值确定为当前时间周期的初始回归系数;归一化子单元,用于将所有子数据的初始回归系数进行归一化处理,并采用归一化处理之后的回归系数在prophet模型中预测每个时间周期的预测销量值。
[0104]
可选的,所述生成模块包括:拟合单元,用于对所述多个历史回归值进行一阶散点拟合,生成拟合直线;提取单元,用于提取所述拟合直线的斜率和截距,并将所述斜率和截距确定为所述多个历史回归值的散点拟合特征;计算单元,用于采用所述散点拟合特征计算prophet模型在所述未来时间序列的第二回归系数。
[0105]
可选的,所述计算单元包括:确定单元,用于确定所述未来时间序列与所述历史时间序列的每个同周期时间;选择单元,用于从所述第一回归系数中选择所述同周期时间的历史同周期回归值;计算单元,用于针对每个同周期时间的未来回归值,采用所述历史同周期回归值乘以所述斜率后再偏移所述截距,得到对应同周期时间的未来回归值;组合单元,用于按照序列时间组合所有的未来回归值,得到第二回归系数。
[0106]
可选的,所述预测模块包括:验证单元,用于采用配置后的prophet模型运行模型验证数据,其中,所述历史销量数据包括所述模型验证数据;预测单元,用于若所述配置后的prophet模型的验证结果满足预设条件,将所述未来时间序列作为所述配置后的prophet模型的输入数据,输出所述目标商品在所述未来时间序列的未来销量数据。
[0107]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0108]
实施例3
[0109]
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0110]
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0111]
s1,确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,其中,所述历史时间序列的每个周期时间对应所述历史销量数据的一个销量值;
[0112]
s2,采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数,其中,所述prophet模型用于预测目标商品在目标时间序列的销量数据,所述第一回归系数包括多个历史回归值,每个回归值对应所述历史时间序列的一个周期时间;
[0113]
s3,提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成prophet模型在所述未来时间序列的第二回归系数;
[0114]
s4,采用所述第二回归系数配置所述prophet模型,并采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据。
[0115]
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0116]
本发明的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储
有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0117]
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0118]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0119]
s1,确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,其中,所述历史时间序列的每个周期时间对应所述历史销量数据的一个销量值;
[0120]
s2,采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数,其中,所述prophet模型用于预测目标商品在目标时间序列的销量数据,所述第一回归系数包括多个历史回归值,每个回归值对应所述历史时间序列的一个周期时间;
[0121]
s3,提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成prophet模型在所述未来时间序列的第二回归系数;
[0122]
s4,采用所述第二回归系数配置所述prophet模型,并采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据。
[0123]
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0124]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0125]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0126]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0127]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0128]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0129]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的
介质。
[0130]
以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
技术特征:
1.一种基于prophet模型的销量预测方法,其特征在于,包括:确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,其中,所述历史时间序列的每个周期时间对应所述历史销量数据的一个销量值;采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数,其中,所述prophet模型用于预测目标商品在目标时间序列的销量数据,所述第一回归系数包括多个历史回归值,每个回归值对应所述历史时间序列的一个周期时间;提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成prophet模型在所述未来时间序列的第二回归系数;采用所述第二回归系数配置所述prophet模型,并采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据。2.根据权利要求1所述的方法,其特征在于,采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数包括:将所述历史销量数据按照时间切分为验证数据和第一训练数据;采用prophet模型对所述第一训练数据进行梯度下降拟合,求解得到prophet模型在所述历史时间序列的第一回归系数。3.根据权利要求2所述的方法,其特征在于,采用prophet模型对所述第一训练数据进行梯度下降拟合,求解得到prophet模型在所述历史时间序列的第一回归系数包括:确定所述历史时间序列的时间单位,按照所述时间单位将所述第一训练数据切分为多份子数据;采用初始回归系数预测每个时间周期的预测销量值;采用以下公式进行梯度下降拟合,直到符合预设停止条件:其中,w
j
为当前时间周期的回归系数,w
j
:为所述当前时间周期的同周期历史时间的回归系数,α为动态调整步长,所述预设停止条件包括:步长调整次数达到预设次数,或,当前时间周期的预测销量值与当前时间周期的真实销量值的差值小于预设阈值。4.根据权利要求3所述的方法,其特征在于,采用初始回归系数预测每个时间周期的预测销量值包括:对所述多份子数据中首份子数据的回归系数初始化为1;将当前时间周期的子数据除以上一时间周期的子数据的比值确定为当前时间周期的初始回归系数;将所有子数据的初始回归系数进行归一化处理,并采用归一化处理之后的回归系数在prophet模型中预测每个时间周期的预测销量值。5.根据权利要求1所述的方法,其特征在于,提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成所述prophet模型在所述未来时间序列的第二回归系数包括:
对所述多个历史回归值进行一阶散点拟合,生成拟合直线;提取所述拟合直线的斜率和截距,并将所述斜率和截距确定为所述多个历史回归值的散点拟合特征;采用所述散点拟合特征计算prophet模型在所述未来时间序列的第二回归系数。6.根据权利要求5所述的方法,其特征在于,采用所述散点拟合特征计算prophet模型在所述未来时间序列的第二回归系数包括:确定所述未来时间序列与所述历史时间序列的每个同周期时间;从所述第一回归系数中选择所述同周期时间的历史同周期回归值;针对每个同周期时间的未来回归值,采用所述历史同周期回归值乘以所述斜率后再偏移所述截距,得到对应同周期时间的未来回归值;按照序列时间组合所有的未来回归值,得到第二回归系数。7.根据权利要求1所述的方法,其特征在于,采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据包括:采用配置后的prophet模型运行模型验证数据,其中,所述历史销量数据包括所述模型验证数据;若所述配置后的prophet模型的验证结果满足预设条件,将所述未来时间序列作为所述配置后的prophet模型的输入数据,输出所述目标商品在所述未来时间序列的未来销量数据。8.一种基于prophet模型的销量预测装置,其特征在于,包括:获取模块,用于确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据,其中,所述历史时间序列的每个周期时间对应所述历史销量数据的一个销量值;计算模块,用于采用所述历史销量数据计算prophet模型在所述历史时间序列的第一回归系数,其中,所述prophet模型用于预测目标商品在目标时间序列的销量数据,所述第一回归系数包括多个历史回归值,每个回归值对应所述历史时间序列的一个周期时间;生成模块,用于提取所述多个历史回归值的散点拟合特征,并采用所述散点拟合特征生成prophet模型在所述未来时间序列的第二回归系数;预测模块,用于采用所述第二回归系数配置所述prophet模型,并采用配置后的prophet模型预测所述目标商品在所述未来时间序列的未来销量数据。9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法的步骤。10.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法的步骤。
技术总结
本发明公开了一种基于Prophet模型的销量预测方法及装置,其中,该方法包括:确定待预测的未来时间序列,获取目标商品在历史时间序列的历史销量数据;采用历史销量数据计算Prophet模型在历史时间序列的第一回归系数;提取多个历史回归值的散点拟合特征,并采用散点拟合特征生成Prophet模型在未来时间序列的第二回归系数;采用第二回归系数配置Prophet模型,并采用配置后的Prophet模型预测目标商品在未来时间序列的未来销量数据。通过本发明,解决了相关技术中Prophet模型预测商品销量不准确的技术问题。量不准确的技术问题。量不准确的技术问题。
技术研发人员:许先才 肖荣昌 吴建龙 熊磊
受保护的技术使用者:深圳市云积分科技有限公司
技术研发日:2023.07.28
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种环保防霉纸及其制造设备的制作方法 下一篇:模型构建方法及装置与流程
