一种基于鲸鱼优化算法的网络流量组合预测模型
作者: 李诗雅 田中大
摘要:现代网络流量的自相似性、周期性、混沌性、多尺度性和其他特性使得预测网络流量具有挑战性。因此,该文提出了一种基于鲸鱼优化算法(WOA)的变分模态分解(VMD),结合了随机配置网络(SCNs)对网络流量进行预测。首先,该文对网络流量数据集进行VMD分解,同时引入WOA对VMD分解中分解个数K和惩罚参数α进行优化。其次,利用SCNs模型对分解后得到的分量进行预测,最后,累加每个分量的预测结果,得出最终网络流量预测值。该组合预测模型(WOA-VMD-SCNs)旨在提高网络流量预测的准确性,对实际收集的网络流量数据进行预测,验证本文提出模型的有效性。
关键词:网络流量预测;鲸鱼优化算法;变分模态分解;随机配置网络;组合预测模型
中图分类号:TP273 文献标识码:A
文章编号:1009-3044(2023)36-0066-04
开放科学(资源服务)标识码(OSID)
0 引言
中国互联网信息中心于2023年3月发布《第51次中国互联网络发展状况统计报告》中提到,截至2022年12月,全国网民数量为10.67亿,比2021年12月增加了3 549万,达到75.6%的网络普及率[1]。此外,全年移动互联网接入流量达2 618亿GB。网民数量的增长带来网络流量的激增,随着智能手机的普及和大多数人使用流量数据的计划以及视频、游戏等各种大流量网络应用的快速发展,数据流量呈指数型增长,网络流量负荷急剧增加,网络拥塞时有发生,网络流量可以反映整个网络的运行状态和资源状况[2]。为了管理这种爆炸性增长,需要准确的网络流量预测来规划网络容量。在分配网络资源的过程中,传统的基于业务运行状况的资源配置方式由于缺少对未来业务运行状况的预测,极易造成网络拥塞和资源浪费。对网络流量进行精确的预测有助于运营商尽早对可能发生的拥塞做出反应,并在此之前对网络进行扩容、调整和优化[3]。在缺乏快速准确的网络流量预测模型的情况下,网络运营商将面临风险。因此,网络流量的建模和预测对于有效的网络流量管理是必要的。
成功预测网络流量的关键在于模型的选择和设计,目前有三种预测模型:线性、非线性和组合模型。大多数传统的线性时间序列预测模型由自回归模型、自回归移动平均模型和自回归综合移动平均模型组成,虽然这些方法的模型简单,计算复杂度低,处理速度快,但预测模型不可避免地会产生明显的预测误差。它们不能反映准确的网络服务的突发性和长期性的相关性,并且其参数的设置需要人工经验获得,仅限于短期流量数据。线性模型对实现精确预测具有挑战性。相比之下,非线性系列预测模型能有效地跟踪复杂的系统。非线性预测模型正在变得越来越广泛,如支持向量机(SVM)、灰色模型(GM)、神经网络和深度学习。SVM的预测精度在很大程度上取决于核参数,适合于小样本;GM的高预测精度只适合于具有稳固规律性的流量数据。神经网络具有良好的自组织和自学习能力,能够很好地描述网络流量数据的非线性特征。然而,神经网络训练过程中的输入节点数量、输出节点数量、网络层数量、每个层中的节点数量以及其他设置方法没有明确的理论基础,通常是基于经验来设置这些超参数。基于深度学习的回归预测模型的训练成本很高,这需要大量的训练样本和时间来达到令人满意的程度。上述线性或非线性模型均为单一预测模型,传统的线性和非线性模型不足以描述流量的多尺度特征,从而影响了预测的准确性。因此,当前的研究倾向于关注组合模型,而不是传统的线性和非线性模型。一般来说,组合预测模型包括两个以上的预测模型,并且可以组合一些分解算法或优化算法。总体而言,网络流量组合预测模型是一个值得深入研究的方向,具有一定的竞争力。
本文使用了VMD算法对网络流量数据进行分解,VMD算法可以降低复杂度高和非线性强的时间序列非平稳性,分解获得包含多个不同频率尺度且相对平稳的分量,适用于非平稳性的序列。首先,本文采用WOA优化VMD参数的方法,降低分解个数K和惩罚参数α对分解效果的影响。其次,利用SCNs模型对分解后的分量进行预测,SCNs具有良好的学习和泛化性能,对非线性映射具有良好的逼近能力,最后,累加每个分量的预测结果,得出最终网络流量预测值。
1 相关理论概述
1.1 VMD分解
VMD是一种新的自适应信号处理算法,该算法假设信号是由具有不同中心频率的调幅和调频信号的多个模态函数叠加而成。使用变分法最小化每个本征模态函数的估计带宽之和。将本征模态函数解调到相应的基带,最后提取本征模态函数和相应的中心频率[4]。对于原始信号[ft],带约束的变分问题模型可以描述为
[minuK,ωKK∂tδ(t)+jπt*uK(t)e-jωKt22 s.t. KuK=f] (1)
式中[uK=u1,u2,…,uK]为各模态函数的K阶函数,[ωK=ω1,ω2,…,ωK]为各模态函数的中心频率;[δt]是脉冲函数。
为了找到上述约束问题的最优解,利用拉格朗日乘法算子λ将约束变分问题转化为无约束变分问题,如式(2)所示:
[LuK,ωK,λ=αK∂tδ(t)+jπt*uK(t)e-jωKt22+f(t)-KuK(t)22+λ(t),f(t)-KuK(t)] (2)
其中,[α]是次要惩罚因子。
利用乘子交替方向法求解方程(2),得到最优解。
VMD分解的主要步骤如下:
步骤1:初始化各模态函数和中心频率,给出[u1K]、[ω1K]和[λ1]。将各模态函数从时域变换到频域并设[n=0]。
步骤2:[uK]的更新公式为
[un+1K(ω)←f(ω)-i≠Kui(ω)+λ(ω)21+2αω-ωK2] (3)
其中,[uK(ω)],[f(ω)]和[λ(ω)]分别是[uK]、[ft]和[λ]的傅里叶变换。
步骤3:[ωK]的更新公式为
[ωn+1K←0∞ωuK(ω)2dω0∞uK(ω)2dω] (4)
步骤4:[λ]的更新公式为
[λn+1(ω)←λn(ω)+τf(ω)-Kun+1K(ω)] (5)
其中,τ为迭代因子。
步骤5:收敛精度[ε>0],迭代终止条件如下:
[Kun+1K-unK22unK22<ε] (6)
如果满足式(6)的条件,终止迭代,输出最终结果;否则,返回到步骤2继续迭代。
从VMD分解步骤可以看出,在分解信号之前需要确定分解次数K和惩罚参数α,因为K的数值直接影响信号序列的分解效果,K值偏大会造成信号过分解,K值偏小会造成欠分解,α的数值高会导致信息的损失,相反又会导致信息的冗余。因此,确定K和α的最佳参数是必要的。目前,确定K值的最常用方法是在不同的K值下观测中心频率。然而,这种方法存在一定的随机性,且不能确定惩罚参数α。因此,本文提出以包络熵的极小值为适应度函数的WOA算法优化VMD参数。包络熵反映了原始信号的稀疏特征,因此当IMF包含较多的噪声和较少的特征信息时,包络熵的值较高,反之,包络熵的值较低。
信号[α(i)(i=1,2,…,N)]的包络熵Ep由式(7)表达,其中,[φ(i)]为VMD分解的模态分量经过希尔伯特解调后的包络信号,[μ(i)]是[φ(i)]的归一化得到的概率分布序列,N为样本数,对[μ(i)]的熵值进行运算,就是包络熵Ep。
1.2 WOA算法
WOA是一种基于鲸鱼捕猎猎物行为提出的算法。在鲸鱼算法中,每只鲸鱼的位置代表一个可行的解决方案。该算法主要包括三个阶段:包围猎物、螺旋泡网觅食、搜索猎物。在一群鲸鱼的狩猎过程中,每只鲸鱼都有两种行为:一种是包围猎物,所有鲸鱼都向其他鲸鱼移动;另一个是气泡网,即鲸鱼以圆周运动,并喷出气泡驱赶猎物。在每一代中,鲸鱼都会随机选择这两种行为来捕猎。在鲸鱼围绕猎物的行为中,鲸鱼会随机选择这两种行为来完成狩猎。
1)包围猎物
在鲸鱼正式捕食前,需要估计猎物的位置,而鲸鱼的位置可以被视为要优化的问题的解决方案。当领头的鲸鱼确定猎物的位置时,通过鲸鱼与鲸鱼之间的信息传递,其他鲸鱼也会游到目标位置,然后不断更新位置。
[D=C⋅X∗(t)-X(t)] (8)
[X(t+1)=X∗(t)-A⋅D] (9)
其中,t表示当前迭代,[X∗(t)]表示t代鲸鱼确定的猎物的最佳位置矢量,[X(t)]表示其他鲸鱼种群的个体位置向量,D表示头鲸和猎物之间的关系,A和C是控制参数向量。
2)螺旋泡网摄食策略
鲸鱼捕食的另一种方式是首先估计猎物与自己的距离,然后慢慢接近猎物的位置。当到达猎物的位置时,会吐出螺旋状的气泡来诱捕猎物。
[D=X∗(t)-X(t)] (10)
[X(t+1)=D⋅ebl⋅cos(2πl)+X∗(t)] (11)
其中,[D']表示猎物到第[i]头鲸鱼的距离矢量参数,[b]表示螺旋常数,l是[-1,-2]的随机数。
由于鲸鱼正在捕食,围绕猎物和螺旋泡捕食这两种行为可以同时进行,两者发生的概率都为0.5,可以得到
[X(t+1)=X(t)∗-A⋅D, p<0.5D⋅ebl⋅cos(2πl)+X∗(t),p≥0.5](12)
其中,p是[0,1]的随机数。
除了气泡网方法,座头鲸还随机搜索猎物,扩大搜索范围,跳出局部最优状态。
3)搜索猎物
在WOA算法,每个参与捕猎的鲸是一个可行解X。在猎物搜寻阶段,依据鲸类捕食过程中的随机性,每只鲸类通过相互间的位置信息来更新下一代位置。通过随机搜索,可以获得较好的全局最优性。
[D=C⋅Xrand-X] (13)
[X(t+1)=Xrand-A⋅D] (14)
其中,[Xrand]是当前种群中随机鲸鱼的位置。
使用收敛因子A的绝对值选择更新位置的方式。当|A|<1时,鲸鱼进入环绕气泡模式以找到局部最优位置参数;当|A|≥1时,进入全局搜索以避免陷入局部最优。
WOA算法从一组随机解开始,在每次迭代中,鲸鱼根据它们选择的方式更新自己的位置。WOA具有全局优化的特点,并且可以自适应地改变灵敏度因子,使得WOA算法可以在包围猎物和捕食螺旋气泡网的两种状态之间轻松切换[5]。此外,WOA只有两个需要调整的内部参数,在实践中使用相对简单。同时,WOA算法可以在迭代过程中提供较高的收敛速度,避免陷入局部最优。