[发明专利]一种基于组合模型的网络短时流量预测方法有效
申请号: | 201910188754.7 | 申请日: | 2019-03-13 |
公开(公告)号: | CN109889391B | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 李千目;张晗睿 | 申请(专利权)人: | 南京理工大学 |
主分类号: | H04L41/147 | 分类号: | H04L41/147;H04L41/14;H04L47/10 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 薛云燕 |
地址: | 210094 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 组合 模型 网络 流量 预测 方法 | ||
1.一种基于组合模型的网络短时流量预测方法,其特征在于,包括以下步骤:
步骤1、使用灰色Verhulst-马尔科夫模型进行网络短时流量预测;
步骤2、将灰色Verhulst-马尔科夫模型的预测结果和实际流量的误差组成一个新的时间序列;
步骤3、将误差的时间序列放入GRU中进行训练;
步骤4、将灰色Verhulst-马尔科夫模型的结果和GRU神经网络的结果相加,获得最终流量预测值;
步骤1所述的使用灰色Verhulst-马尔科夫模型进行网络短时流量预测,具体如下:
步骤1.1、计算网络短时流量状态:
以一个时间序列X(t)表示网络短时流量,使用一阶马尔科夫链构造预测模型,设定集合s(t)为网络短时流量的状态,网络短时流量X(t),(t∈{1,2,...,n})为t时刻的流量值,首先把网络流量值归属于不同的状态,这些不同的状态构成了状态序列s(t),(t∈{1,2,...,n});s(t)是网络短时流量的状态集合,即t时刻流量值所处的状态;
网络短时流量状态系统介绍如下,
Xmin(t)和Xmax(t)为网络短时流量中的最小值和最大值,θi为相邻两个状态之间的阈值,间隔I为每一个状态所包含的范围;
网络短时流量中的最小值Xmin(t)和最大值Xmax(t)为:
Xmin(t)=mint∈{1,2,...,n}(X(t)) (1)
Xmax(t)=maxt∈{1,2,...,n}(X(t)) (2)
参数μ1为阈值,通过有限个阈值把网络流量分为多个状态;参数μ2为阈值的集合,参数μ1和μ2的推导公式为:
μ1=Xmin:I:Xmax (3)
μ2={θ1,θ2,...,θk} (4)
由式(4)知,当某一时刻的网络短时流量值X(t)处于阈值θi-1和阈值θi之间时,则此时的流量状态为si状态;阈值θi与状态si之间的关系为:
si={X(t)∈(θi-1,θi)},i∈{1,2,...,k} (5)
S为所有状态的集合,公式如下:
S={s1,s2,...,sk} (6)
状态的个数k通过Xmax(t)、Xmin(t)和间隔I进行计算,公式为:
当时间序列X(t)的最大值不是间隔I的整数倍时,添加一个状态sk+1:
sk+1=Xmax (8)
则当Xmax不能被I整除时,状态集合S的定义如下:
S={s1,s2,...,sk,sk+1} (9)
计算不同值的状态如下:
X(t)∈si|θi-1≤X(t)≤θi (10)
步骤1.2、计算转移概率矩阵:
设定mi是状态si在历史流量中发生的次数,mij是状态si转移至状态sj事件发生的次数,则状态之间的变化概率pij如下:
转移概率矩阵为:
转移概率矩阵P的向量表示形式为:[pi1,pi2,...,pin];
步骤1.3、预测未来网络短时流量:
Y(t)为测试数据集,为根据马尔科夫模型得到的预测值,Y(i)为当前时刻的流量值,si为Y(i)所处的状态,根据当前时刻的流量值Y(i)所处的状态si使用转移概率矩阵P计算出下一时刻可能的状态;
状态si可能转移的状态的集合为{sk1,sk1,...,skn},这些状态对应的阈值的集合为{θk1,θk2,...,θkn},每个状态出现的频数的集合为{tk1,tk1,...,tkn},则下一时刻的预测值为:
步骤1.4、使用灰色Verhulst-马尔科夫模型进行网络短时流量预测:
在灰色Verhulst-马尔科夫预测模型中,时刻T处的历史网络短时流量序列为{x1,x2,...,xn},使用灰色Verhulat模型求得预测值然后使用马尔科夫链的状态转移矩阵确定权重,并将转移概率矩阵随时间更新;
在时刻T+t,从状态i到状态j的马尔可夫链的新的概率P'ij(n)为:
P'ij(n)=p{X'n+1=j|X'n=i} (14)
设定根据历史网络流量数据求得的状态概率转移矩阵为:
在经过t后,新的状态转移概率矩阵如式(15)所示:
使用新的状态转移概率矩阵预测下一时刻的网络短时流量;为了使预测值尽可能接近实际值,时刻T的实际值为xij,并且从时刻T到预测状态的状态概率为pij,将该概率作为的权重,将从T时刻的状态到其他状态及实际值对应的概率结果作为波动数据的处理,则最终的预测值为:
其中,φ为修正值,即灰色Verhulst预测模型的预测增量;
步骤2所述的将灰色Verhulst-马尔科夫模型的预测结果和实际流量的误差组成一个新的时间序列,具体如下:
步骤2.1、建立灰色Verhulst-马尔科夫-GRU神经网络模型;
使用TensorFlow中的GRU模块来实现GRU模型,使用具有8个隐藏单元的GRU神经网络,隐藏单元的输出信息为:
y=W·x+b (17)
在式(17)中,y为输出值,x为输入值,W为权重值,b为偏置值;
神经网络训练中损失函数定义公式为:
公式(18)中,loss为损失值,yi为每次神经元的输出值,yreal为真实值;
将神经元的输出值yi减去真实值yreal,再进行平方,最后对其进行平均得到方差,所得到的方差即为损失函数的损失值;
最后使用梯度下降的方法优化目标函数,定义梯度下降的学习率learning_rate,作为每次优化训练模型的下降梯度,学习率取值为0.003,选用AdamOptimizer优化器作为损失函数的优化器,将经过GRU神经网络训练出的模型进行保存;
步骤2.2、将灰色Verhulst-马尔科夫模型取得的预测值与真实流量值Y的差值ΔF组成一个误差的相对时间序列:
根据式(19)求出的误差相对序列为V(t),t∈{1,2,...,n},V(t)中的每一个元素均为马尔科夫模型预测到的数据与真实数据Y之间的差值,即V={ΔF1,ΔF2,...,ΔFn}。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910188754.7/1.html,转载请声明来源钻瓜专利网。