SARIMA模型的训练方法、装置、设备及存储介质与流程

文档序号:26512459发布日期:2021-09-04 09:40阅读:418来源:国知局
SARIMA模型的训练方法、装置、设备及存储介质与流程
sarima模型的训练方法、装置、设备及存储介质
技术领域
1.本发明涉及大数据技术领域,尤其涉及一种sarima模型的训练方法、装置、设备及存储介质。


背景技术:

2.传统的sarima模型训练方法大部分是用全部时间步的数据进行训练,这种方式没有有效的校验,模型的泛化能力存在问题;还有一小部分训练方法是用交叉验证(cross validation)的方式,这种方式需要进行网格搜索(grid search),先确定超参,再进行k折交叉验证(k

folds cross validation),网格搜索非常耗时,是通过枚举的方式尝试超参组合,由于过于耗时,尝试的组合往往是低阶的,(低阶的意思是比如三个超参p∈{0,1,2},q∈{0,1,2},d∈{0,1},只能尝试小数值);从而导致训练的模型误差较大。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种sarima模型的训练方法、装置、设备及存储介质。
4.一种sarima模型的训练方法,所述方法包括:获取初始数据集,并对所述初始数据集进行处理得到以单位时间为单元的训练数据集和验证集;根据所述训练数据集,建立sarima模型,所述sarima模型有系数及p、p、q、q、d、d和m共7个超参;根据所述初始数据集,设定超参m,所述超参m代表预设时间周期中单元的数量;基于预设的所述超参d、d的逻辑关系,对所述超参d、d进行网格搜索,得到四种所述超参d、d的组合;在已知四种所述超参d、d的组合时,通过auto arima进行自动拟合,确定每组中超参p、p、q、q的取值,得到四种sarima模型;通过所述四种sarima模型分别对所述验证集的单元进行预测,得到初始预测值;基于所述验证集,根据预设的评价指标,对所述初始预测值进行评价,选择评价误差最小的sarima模型为最优sarima模型;将所述验证集并入所述训练数据集中,得到目标训练数据集,并通过所述目标训练数据集通过所述验证集对所述最优sarima模型进行训练,更新所述最优sarima模型的系数,得到目标sarima模型。
5.在其中一个实施例中,所述超参p具体为:普通自回归项的项数;超参p具体为:季节性自回归项的项数;超参q具体为:普通移动平均项的项数;超参q具体为:季节性移动平均项的项数;超参d具体为:普通差分阶数;超参d具体为:季节性差分阶数。
6.一种sarima模型的训练装置,包括数据处理模块、模型建立模块、超参设定模块、模型预测模块、误差分析模块和模型训练模块,其中:所述数据处理模块用于,获取初始数据集,并对所述初始数据集进行处理得到以单位时间为单元的训练数据集和验证集;所述模型建立模块用于,根据所述训练数据集,建立sarima模型,所述sarima模型有系数及p、p、q、q、d、d和m共7个超参;所述超参设定模块用于,根据所述初始数据集,设定超参m,所述超参m代表预设时间周期中单元的数量;所述超参设定模块还用于,基于预设的所述超参d、d的逻辑关系,对所述超参d、d进行网格搜索,得到四种所述超参d、d的组合;所述超参设定模
块还用于,在已知四种所述超参d、d的组合时,通过auto arima进行自动拟合,确定每组中超参p、p、q、q的取值,得到四种sarima模型;所述模型预测模块用于,通过所述四种sarima模型分别对所述验证集的单元进行预测,得到初始预测值;所述误差分析模块用于,基于所述验证集,根据预设的评价指标,对所述初始预测值进行评价,选择评价误差最小的sarima模型为最优sarima模型;所述模型训练模块用于,将所述验证集并入所述训练数据集中,得到目标训练数据集,并通过所述目标训练数据集对所述最优sarima模型进行训练,更新所述最优sarima模型的系数,得到目标sarima模型。
7.一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各个实施例中所述的sarima模型的训练方法的步骤。
8.一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各个实施例中所述的sarima模型的训练方法的步骤。
9.本发明的有益效果是:上述sarima模型的训练方法、装置、设备及存储介质,通过将初始数据集分为训练数据集和验证集,基于训练数据集建立sarima模型,且建立sarima模型时,通过超参d、d的网格搜索,并用auto arima进行自动拟合,从而得到四种sarima模型,再用利用验证集验证sarima模型,从而选取最优sarima模型,最终将验证集并入训练数据集中,得到目标训练数据集,并通过目标训练数据集对最优sarima模型进行训练,更新最优sarima模型的系数,得到目标sarima模型;从而提高sarima模型的泛化预测精度,极大缩短了模型训练时间,且在一定程度上控制了过拟合。
附图说明
10.图1为一个实施例中sarima模型的训练方法的流程示意图;
11.图2为一个实施例中sarima模型的训练装置的结构框图;
12.图3是一个实施例中设备的内部结构图。
具体实施方式
13.为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明做进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
14.在一个实施例中,如图1所示,提供了一种sarima模型的训练方法,包括以下步骤:
15.s110获取初始数据集,并对初始数据集进行处理得到以单位时间为单元的训练数据集和验证集。
16.具体地,获取基本的初始数据集,将初始数据集进行清洗处理,并进行行转列,从而得到训练数据集和验证集。
17.s120根据训练数据集,建立sarima模型,sarima模型有系数及p、p、q、q、d、d和m共7个超参。
18.在一个实施例中,超参p具体为:普通自回归项的项数;超参p具体为:季节性自回归项的项数;超参q具体为:普通移动平均项的项数;超参q具体为:季节性移动平均项的项数;超参d具体为:普通差分阶数;超参d具体为:季节性差分阶数。
19.s130根据初始数据集,设定超参m,超参m代表预设时间周期中单元的数量。
20.具体地,sarima模型,即季节性差分自回归滑动平均模型。标准的sarima算法含有7个超参,p是普通自回归项的项数(阶数),p是季节性自回归项的项数(阶数),q是普通移动平均项的项数(阶数),q是季节性移动平均项的项数(阶数),d是普通差分阶数(做几次差分),d是季节性差分阶数(做几次季节性差分),超参m代表预设时间周期中单元的数量。
21.s140基于预设的超参d、d的逻辑关系,对超参d、d进行网格搜索,得到四种超参d、d的组合。
22.具体地,超参d与超参d之间根据经验,可以罗列出(0,0)/(0,1)/(1,0)/(1,1)共四种组合。
23.s150在已知四种超参d、d的组合时,通过auto arima进行自动拟合,确定每组中超参p、p、q、q的取值,得到四种sarima模型。
24.具体地,auto arima是hyndman

khandakar算法(hyndman&khandakar,2008)的一个变种。在已知超参d、d的四种组合时,可以根据auto arima进行自动拟合出每组中超参p、p、q、q的取值,从而得到四种sarima模型。
25.s160通过四种sarima模型分别对验证集的单元进行预测,得到初始预测值。
26.具体地,验证集中存在多少个单元,那么则需要通过四种sarima模型各自进行多少个单元预测,并且得到各自的单元预测值。
27.s170基于验证集,根据预设的评价指标,对初始预测值进行评价,选择评价误差最小的sarima模型为最优sarima模型。
28.具体地,根据预设的评价指标,对初始预测值进行评价,具体是与验证集中的真实值进行比较,判断预测误差的大小,最终选择误差最小的模型作为最优sarima模型。
29.s180将验证集并入训练数据集中,得到目标训练数据集,并通过目标训练数据集对最优sarima模型进行训练,更新最优sarima模型的系数,得到目标sarima模型。
30.具体地,将验证集的数据纳入训练数据集中,对最优sarima模型进行训练,此时的训练不改变超参,只改变sarima模型的系数,最终得到训练好的目标sarima模型。
31.上述实施例中,通过将初始数据集分为训练数据集和验证集,基于训练数据集建立sarima模型,且建立sarima模型时,通过超参d、d的网格搜索,并用auto arima进行自动拟合,从而得到四种sarima模型,再用利用验证集验证sarima模型,从而选取最优sarima模型,最终将验证集并入训练数据集中,得到目标训练数据集,并通过目标训练数据集对最优sarima模型进行训练,更新最优sarima模型的系数,得到目标sarima模型;从而提高sarima模型的泛化预测精度,极大缩短了模型训练时间,且在一定程度上控制了过拟合。
32.在一个实施例中,以预测764个供应商未来6个月销量为例,首先读取数据后,将数据清洗处理,得到训练数据集和验证集,由于模型最终需要预测未来6个月的销量,故验证集取6个月的数据,单位时间即为月:每个供应商的最后6个月预留为测试集,这里最后6个月是2020

07至2020

12,前面的数据为训练数据集,训练数据集从2015

01到2020

06,训练数据集供建模。
33.每一个供应商是一组时间序列数据,所以每个供应商要拟合一个模型,一共764个模型,针对每1个供应商训练过程如下:
34.1.1、设定阶段:
35.(1)因为数据是月度销量数据,根据领域经验和数据观测,设定超参m=12(因为预设时间周期即为1年,而1年中共12个月,超参m=12);
36.(2)因为模型最终是预测未来6个月的销量,所以设定验证集长度为6,即含6个时间步(即为验证集中存在6个单元);
37.(3)设定评价指标=6个点的mape
×
0.6+第1个点的ape
×
0.4,(ape全称absolute percentage error,绝对百分比误差,绝对百分比误差是相对于一个时间步而言的,多个时间步的ape求平均,即mape),该指标相当于加强了第1个点的误差权重,这是因为本应用更看重第一个点的误差,指标是可以根据具体应用进行设计的,本质在于将预测值与验证集中的真值相比,求其误差。
38.1.2、执行阶段:
39.(1)对于超参普通差分d和季节差分d进行网格搜索,一共取4种组合(0,0)/(0,1)/(1,0)/(1,1);
40.(2)在4种(d,d)组合下,进行auto arima(auto arima会用stepwise search的策略确定超参p/p/q/q);
41.(3)通过auto arima,4种(d,d)组合下,分别得到一个最优子模型,4个最优子模型分别去对验证集做预测;
42.(4)计算4个子模型在验证集上预测结果的评价指标,保留评价指标最小的模型;
43.(5)用验证集中6个数据点去更新上一步骤得到的模型(更新只改变模型系数,不改变模型超参),至此,训练出了最终模型。
44.1.3、采取1.1和1.2流程训练得到全部764个模型,即为最终的模型。
45.在一个实施例中,如图2所示,提供了一种sarima模型的训练装置200,该装置包括数据处理模块210、模型建立模块220、超参设定模块230、模型预测模块240、误差分析模块250和模型训练模块260,其中:
46.数据处理模块210用于,获取初始数据集,并对初始数据集进行处理得到以单位时间为单元的训练数据集和验证集;
47.模型建立模块220用于,根据训练数据集,建立sarima模型,sarima模型有系数及p、p、q、q、d、d和m共7个超参;
48.超参设定模块230用于,根据初始数据集,设定超参m,超参m代表预设时间周期中单元的数量;
49.超参设定模块230还用于,基于预设的超参d、d的逻辑关系,对超参d、d进行网格搜索,得到四种超参d、d的组合;
50.超参设定模块230还用于,在已知四种超参d、d的组合时,通过auto arima进行自动拟合,确定每组中超参p、p、q、q的取值,得到四种sarima模型;
51.模型预测模块240用于,通过四种sarima模型分别对验证集的单元进行预测,得到初始预测值;
52.误差分析模块250用于,基于验证集,根据预设的评价指标,对初始预测值进行评价,选择评价误差最小的sarima模型为最优sarima模型;
53.模型训练模块260用于,将验证集并入训练数据集中,得到目标训练数据集,并通过目标训练数据集对最优sarima模型进行训练,更新最优sarima模型的系数,得到目标
sarima模型。
54.在一个实施例中,提供了一种设备,该设备可以是服务器,其内部结构图可以如图3所示。该设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该设备的数据库用于存储配置模板,还可用于存储目标网页数据。该设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种sarima模型的训练方法。
55.本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
56.在一个实施例中,还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如前述实施例所述的方法,所述计算机可以为上述提到的sarima模型的训练装置的一部分。
57.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)或随机存储记忆体(random access memory,ram)等。
58.显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(rom/ram、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
59.以上内容是结合具体的实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1