一种基于时间序列模型的流量预测方法与流程

文档序号:23505624发布日期:2021-01-01 18:15阅读:385来源:国知局
一种基于时间序列模型的流量预测方法与流程

本发明涉及流量预测技术领域,尤其是一种基于时间序列模型的流量预测方法。



背景技术:

现有技术中,为实现对于未来一段时间的流量预测,通常采用自回归滑动平均模型(arma)。但是自回归滑动平均模型能够利用的信息较少,使用的信息就是过去一段时间的流量这一个维度,无法拓展挖掘流量序列的周期信息以及其他与时间相关的有用的特征,这样会导致预测的准确性不足。



技术实现要素:

为克服采用自回归滑动平均模型对流量预测存在的上述问题,本发明提供一种基于时间序列模型的流量预测方法。

为实现上述目的,本发明采用下述技术方案:

在本发明一实施例中,提出了一种基于时间序列模型的流量预测方法,该方法包括:

步骤一,获取pon口流量数据

获取到按小时记录的pon口流量数据,对于可能存在的异常数据进行部分处理;

步骤二,数据预处理

对于部分有缺失的流量数据,当缺失数据比例较小时,采用插值填充对缺失数据进行填充;对于同一时间点出现多条记录的数据,取该时间点的多条数据的平均值保留;

步骤三,数据特征工程

对于数据日期是否为节假日进行标注作为特征,对于数据日期是周x进行标注作为特征,对于数据时间是二十四小时中的n小时进行标注作为特征;根据数据日期是每周x(x=1~7)的流量数据进行统计,将统计的均值、方差和中位数作为特征保留,根据数据时间是每n小时(n=0~23)的流量数据进行统计,将统计的均值、方差和中位数作为特征保留;根据每天的流量数据进行均值统计并作为特征,并用多项式进行拟合,拟合得到的多项式用于对未来时间点该特征的特征值预测填充,根据每天每小时的流量数据作为特征,并用多项式进行拟合,拟合得到的多项式用于对未来时间点该特征的特征值预测填充;

步骤四,lightgbm建模

通过输入步骤三产生的所有特征进行lightgbm建模训练得到模型,预测时利用该模型输入对应参数进行预测;

步骤五,fbprophet建模

通过输入流量数据、流量对应的时间点以及节假日特征进行fbprophet建模并保存,模型训练时记录下训练数据的长度,预测时利用该模型进行预测;

步骤六,模型融合预测输出

将步骤四得到的模型预测出的结果和步骤五得到的模型预测出的结果进行融合,得到最终结果为final_result=0.5*prophet_result+0.5*lgbm_result。

进一步地,步骤三中拟合多项式的方法包括:

将当前数据分成训练集和测试集,测试集占总数比例的10%;

假设曲线符合高阶多项式的形式,构造高阶多项式函数形式,利用训练集从1阶遍历至最高阶数进行多项式拟合;

利用测试集计算拟合出各曲线的r2分值,r2分值范围在[-1,1]之间,分值越高的代表拟合程度越好,选用对应分值最高的阶数的多项式作为该趋势的拟合函数;

记录下该函数的阶数及对应的参数并保存。

更进一步地,高阶多项式函数形式为:

更进一步地,r2分值的计算方法包括:

若用yi表示真实观测值,表示真实观测值的平均值,表示预测值,则

回归平方和为:

残差平方和为:

r2分值公式为:

进一步地,步骤六中fbprophet预测时根据建模时采用的按小时(h)或者按天(d)的特征来进行计算,输入预测freq=’h’以及想要预测的时间长度periods,根据之前记录下来的训练数据长度,之后的数据即为预测出的结果。

进一步地,步骤六中lightgbm预测时所需要的特征通过以下方式计算:

根据未来预测日期得到相应特征,包括是否节假日,每周周x以及每天n小时。

进一步地,步骤六中lightgbm预测时所需要的特征通过以下方式计算:

根据统计值字典进行关联得到特征,包括每周周x及以及每天的n小时的统计均值、标准差和中位数。

进一步地,步骤六中lightgbm预测时所需要的特征通过以下方式计算:

根据多项式拟合得到的趋势函数对未来的值进行计算作为特征,包括每天流量趋势以及每小时流量趋势。

更进一步地,统计值字典为:步骤三的数据特征工程中将每n小时(n=0~23)或者每周x(x=1~7)的统计均值、标准差和中位数通过字典的形式保存下来,使用的时候再载入。

进一步地,步骤二的数据预处理中缺失数据比例为小于20%。

有益效果:

本发明的流量预测方法可以准确地预测未来流量的变化,多特征以及多模型的使用保证了预测的准确性和稳定性,与现有技术相比,该方法预测更加准确,表现稳定,并可复用在不同的pon口及其他流量预测场景。

附图说明

图1是本发明一实施例的基于时间序列模型的流量预测方法流程示意图;

图2是本发明一实施例的拟合曲线图;

图3是本发明一实施例的未来24小时的流量预测的结果与真实数据的对比图。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种基于时间序列模型的流量预测方法,通过采集到的过去一段时间的pon口流量数据,对每个pon口独立进行建模,通过模型对未来一段时间pon口的流量数据进行准确预测,从而提前发现或预知未来流量会超过使用限制的pon口。发现流量未来可能会超过阈值后可以提前采取扩容等相关措施避免该情况的发生,提升用户使用体验。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

图1是本发明一实施例的基于时间序列模型的流量预测方法流程示意图。如图1所示,该方法包括:

步骤一,获取pon口流量数据

获取到按小时记录的pon口流量数据,对于可能存在的异常数据进行部分处理;

步骤二,数据预处理

对于部分有缺失的流量数据,当缺失数据比例较小时(小于20%),采用插值填充对缺失数据进行填充;

对于同一时间点出现多条记录的数据,取该时间点的多条数据的平均值保留;

步骤三,数据特征工程

对于数据日期是否为节假日进行标注作为特征;

对于数据日期是周x进行标注作为特征;

对于数据时间是二十四小时中的n小时进行标注作为特征;

根据数据日期是每周x(x=1~7)的流量数据进行统计,将统计的均值、方差和中位数作为特征保留;

根据数据时间是每n小时(n=0~23)的流量数据进行统计,将统计的均值、方差和中位数作为特征保留;

根据每天的流量数据进行均值统计并作为特征,并用多项式进行拟合,拟合得到的多项式用于对未来时间点该特征的特征值预测填充;

根据每天每小时的流量数据作为特征,并用多项式进行拟合,拟合得到的多项式用于对未来时间点该特征的特征值预测填充;

图2是本发明一实施例的拟合曲线图。如图2所示,上述拟合多项式的方法包括:

将当前数据分成训练集和测试集,测试集占总数比例的10%;

假设曲线符合高阶多项式的形式,构造高阶多项式函数形式利用训练集从1阶遍历至最高阶数(这里默认最高3阶,可进行设置)进行多项式拟合;

利用测试集计算拟合出各曲线的r2分值,r2分值范围在[-1,1]之间,分值越高的代表拟合程度越好,选用对应分值最高的阶数的多项式作为该趋势的拟合函数;

记录下该函数的阶数及对应的参数并保存;

上述r2分值的计算方法包括:

若用yi表示真实观测值,表示真实观测值的平均值,表示预测值,则

回归平方和为:

残差平方和为:

r2分值公式为:

步骤四,lightgbm建模

lightgbm作为梯度提升树模型,通常使用在分类任务或是回归任务中,在一个时间序列预测的任务中,通过步骤三完善的数据特征工程的处理,可以利用lightgbm建模来进行时间序列的预测;

通过输入步骤三产生的所有特征进行lightgbm建模训练得到模型,预测时利用该模型输入对应参数进行预测;

步骤五,fbprophet建模

fbprophet是一种用于时间序列预测的模型,通过分别计算趋势、周期性和节假日以及误差四部分的值,将四部分相加求和得到计算值;

建立模型时需要输入的数据是流量数据、流量对应的时间点以及节假日特征进行fbprophet建模并保存,模型训练时记录下训练数据的长度,预测时利用该模型进行预测;

步骤六,模型融合预测输出

fbprophet预测时根据建模时采用的按小时(h)或者按天(d)的特征来进行计算,输入预测freq=’h’以及想要预测的时间长度periods,根据之前记录下来的训练数据长度,之后的数据即为预测出的结果;

lightgbm预测时所需要的特征通过以下几种方式计算:

根据未来预测日期得到相应特征,包括是否节假日,每周周x以及每天n小时;

根据统计值字典进行关联得到特征,包括每周周x及以及每天的n小时的统计均值、标准差和中位数;

其中,统计值字典为:步骤三的数据特征工程中将每n小时(n=0~23)或者每周x(x=1~7)的统计均值、标准差和中位数通过字典的形式保存下来,使用的时候再载入,例如{'week_mean':{0:183427.86321643842,1:172660.54815416672,2:263416.00274861115,3:332425.2802124999,4:345292.8543361111,5:342761.7310555554,6:284586.737453125}}这部分字典记录了按周x统计的均值;

根据多项式拟合得到的趋势函数对未来的值进行计算作为特征,包括每天流量趋势以及每小时流量趋势;

特征补充完成后可以完成使用lightgbm模型对数据的预测;

将两个模型预测出的结果进行融合,得到最终结果为final_result=0.5*prophet_result+0.5*lgbm_result。

需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

为了对上述基于时间序列模型的流量预测方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。

下面举例来展示本发明的方法预测流量的结果,具体如下:

图3是本发明一实施例的未来24小时的流量预测的结果与真实数据的对比图。如图3所示,我们获取到一个pon口的接收流量数据,数据是按小时间隔给出的流量数据,长度在1个月左右,我们通过建模预测未来24小时的流量变化,图中展示了流量预测的结果与真实数据的对比,其中一条曲线为预测值,另一条曲线为真实值,可以看出预测值与真实值相当接近。

本发明提出的基于时间序列模型的流量预测方法可以准确地预测未来流量的变化,多特征以及多模型的使用保证了预测的准确性和稳定性,与现有技术相比,该方法预测更加准确,表现稳定,并可复用在不同的pon口及其他流量预测场景。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。

对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1