网络节点资源要素的联合分布及风险重现期的估算∗

2019-07-31 09:54钱丹丹刘宇强
计算机与数字工程 2019年7期
关键词:网络流量参数估计使用率

李 军 钱丹丹 钮 焱 刘宇强 李 星

(湖北工业大学计算机学院 武汉 430068)

1 引言

随着互联网技术和应用的快速发展,网络风险的发生也大大增加。网络的安全需要更加完善的监控和管理措施,以保障网络节点的资源在合理稳定的范围内运行。网络流量的不稳定往往会阻碍正常需求的使用,占有其它活动必须的资源,破坏电脑服务器的CPU、内存、硬盘等硬件设备,为正常的使用带来了风险和安全隐患。本文主要是通过对内存使用率、网络流量和CPU利用率等指标的联合分布函数进行构造,使用风险重现期对网络节点资源提供风险预警。

Copula函数是一种运用范围广,认可度高的多维联合分析方法。Copula 函数[1]描述的是变量之间的相关性,实际上是一类将联合分布函数与它们各自的边缘分布函数连接在一起的函数。相比线性相关系数,Copula 函数有着两个重要的优点:首先,使用Copula函数可以将边缘分布和相关结构分开考虑,允许不同变量具有不同的边缘分布函数,然后选择合适的Copula 函数来反映变量间相关结构,进而构造准确的联合分布函数。而多数现有的联合分布函数的形式是其一元情形的推广,如多元正态分布的所有边缘分布均为一元正态分布。其次,线性相关系数只能描述对称的相关结构,而Copula函数可以度量非线性的相关结构,允许处于分布中间和分布尾部的相关结构有所不同。

风险重现期[2]和概率一样,都是用来表示随机变量统计规律的概念。重现期表示在长时间内,随机事件发生的平均周期,即在很长一段时间内,随机事件平均多长时间发生一次。比如说,设定阈值为0.7,内存多少秒的时间会出现大于或等于这一阈值的情况,这就是内存的风险重现期。网络节点资源的重现期的计算可以为网络安全防范措施提供设计和运行的依据。本文从网络节点资源的多维性出发,利用Copula 函数多维联合的灵活性,构建内存使用率、网络流量和CPU利用率的三维联合分布,探讨这三个要素之间的概率分布特征以及网络节点资源的联合风险重现期和同现风险重现期的变化情况,为网络节点资源的风险预警提供了一种新的风险预警机制。

2 Copula函数理论

Copula 理论是由 Sklar[3]提出,在他提出的定理中,用“Copula”表示一种函数,它可以描述变量间的相关性。Sklar 理论指出任何n 维联合分布函数可以被分解成n 个边缘分布函数和一个Copula 函数。边缘分布函数是用来描述变量的分布。Copula 函数[3~5]是多元函数,其中每个自变量取值范围为[0,1],显然对单变量的边缘分布进行采样和估计比联合分布简单的多,通过Copula函数连接各边缘分布可以获得所有变量的联合分布。

如果F 是一个拥有边缘分布函数Fi(i =1,2,…,n )的联合分布函数,那么就存在一个Copula函数 C ,满足

如果所有的边缘函数是连续的,那么C(F1( x1),F2( x2),…,Fn( xn))是存在的并且是唯一的。

2.1 三维阿基米德Copula

Copula 函数有3 种主要类型:椭圆型,阿基米德型和二次型。而阿基米德Copula函数结构简单,计算方便,实际应用比较多[6]。n维阿基米德Copula函数[5,7~8]定义如下:

当n=3 时,阿基米德Copula 函数的表现形式如下:

在式(2)、(3)、(4)中,C(u1,…,un)表示Copula函数,ui表示边缘分布函数,φ 表示阿基米德生成函数,φ 是连续的、严格递减的凸函数,满足φ( 0 )=∞ ,φ(1 ) =0 。 φ-1是 φ 的逆函数,并满足φ-1( ∞ )=0,φ-1( 0 )=1。

四种三维阿基米德Copula分布函数[7,9~11]如表1。

表1 三维阿基米德Copula分布函数

在表1 中,u1,u2和 u3为边缘分布函数,θ 为Copula 函数的参数,θ1,θ2和 θ3分别为边缘分布u1,u2和 u3的参数。

2.2 Copula参数估计

由表 1 中 Copula 函数形式可知,Copula 函数中含有未知参数θ ,而边缘分布函数可能含有参数θ1,θ2和θ3,为了求出节点资源变量序列的联合分布,需要对这些参数进行参数估计,常用的参数估计方法有最大似然估计、分布估计和半参数估计[12]。

2.2.1 三维Copula函数的最大似然估计过程(ML)

最大似然估计是一种概率论在统计学上的应用,它用来求一个样本集的相关概率密度函数的参数。最大似然估计可以对任何样本集使用,并且得到的估计量具有一致性和有效性,而且未知参数的最大似然估计量与其真实值之差可以任意小。因此在Copula函数参数估计过程中,常用最大似然估计来对参数进行估计。假设连续变量 X ,Y 和Z的边缘分布函数为F(x ;θ1) ,G(y ;θ2)和 R(z ;θ3),边 缘 密 度 函 数 分 别 为 f(x ;θ1) ,g(y ;θ2)和r(z ;θ3),其中 θ1,θ2和 θ3为边缘分布函数中的未知参数。 选取的 Copula 分布函数为C(u1,u2,u3;θ ),Copula 的 密 度 函 数 为,其中 θ 为 Copula函数的未知参数,u1=F(x ;θ1) ,u2=G(y ;θ2),u3=R(z ;θ3)。则 (X ,Y,Z )的联合分布函数为

(X ,Y,Z )的联合密度函数为

所以样本(Xi,Yi,Zi),i=1,2,…,n 的似然函数为

可得到对数似然函数为

求解对数似然函数的最大值点,即可得到边缘分布函数和Copula函数中的未知数 θ1,θ2,θ3和 θ的最大似然估计(ML估计)[13]:

2.2.2 多参数的分步估计(IFM估计)

由式(8)不难看出,边缘分布中参数 θ1、θ2、θ3和Copula 函数中的未知参数θ 可以分开进行估计,先由边缘分布利用最大似然估计法求出θ1、θ2、θ3的估计

上述的参数估计方法称为分布估计,简称为IFM估计。

2.2.3 半参数估计(CML估计)

经偏度系数、峰度系数以及Kolmogorov-Smirnov检验,节点资源序列的分布函数不符合常见的正态分布、T 分布、F 分布等,所以不能够用常见的分布函数来刻画,于是我们采用了样本经验分布函数Fn( x ),Gn( y ),Rn( z )分别来代替边缘分布函数F(x ;θ1) ,G(y ;θ2)和 R(z ;θ3),通过多项式拟合出各个序列的经验分布,则可以不需要估计边缘分布中的参数,只需估计Copula函数中的参数θ。

其中,ui=Fn( xi),vi=Gn( yi),wi=Rn( zi),i=1,2,…,n,称这种参数估计方法为半参数估计,简称为CML估计。

2.3 Copula函数的拟合优度检验

联合概率分布的优劣需要进行拟合优度检验,三维Copula 函数的优度检验,可采用均方根误差(RMSE)和赤池信息量准则(AIC)对Copula 拟合效果进行优度检验。优度检验公式如下[10,14]:

式(15)中,Pei为联合经验概率,Pi为Copula函数的联合分布值,l 为模型中所含的参数个数。RMSE 和 AIC 的值越小,则表示 Copula 分布经验值Pi越靠近联合经验概率Pei,则拟合精度越高。

3 网络节点资源的风险重现期

网络节点资源的可用程度可通过网络资源指标来体现,网络资源指标之间存在一定的内在相关性。本文选取节点设备的内存使用率、网络流量和CPU 利用率的时间序列为主要研究对象。网络节点资源的风险重现期是指在一定数据记录统计时间内,大于或等于阈值的某要素在较长时间内重复出现的平均时间间隔。风险重现期的计算公式如下[10]:

在式(16)中,T 表示单个网络节点资源变量X 的重现期,F( X )表示单变量 X 的边缘分布函数,N 表示观测样本的长度,n 表示在某段时间内超越某一给定样本值出现的次数,u1、u2、u3表示内存使用率、网络流量和CPU的利用率的边缘分布函数,u1=P{D < d },u2=P{S < s} ,u3=P{M <m} ,P(D < d ∩ S < s )=C(u1,u2) , P(D < d ∩ M < m )=C(u1,u3),P(S < s ∩ M < m )=C(u2,u3) ,P(D < d ∩S < s ∩ M < m)=C(u1,u2,u3)。网络节点资源的三维Copula联合重现期为[15]

图1 网络节点资源的三维Copula同现重现期

图1 (a)二维同现重现期中 P(S ≥ s ∩ D ≥ d )=1-P(S <s )-P(D <d )=1-u1-u2+C(u1,u2),所以在图1(b)三维同现重现期中:

所以

在式(17)和式(18)中,Ta表示网络节点资源的三维Copula 联合风险重现期;T0表示网络节点资源的三维Copula 同现风险重现期;C(u1,u2,u3)表示网络节点资源的三维Copula 联合分布函数;u1,u2,u3表示内存使用率、网络流量和CPU 的利用率的边缘分布函数,C(u1,u2),C(u1,u3),C(u2,u3)分别表示内存使用率和网络流量、内存使用率和CPU 利用率、网络流量和CPU 利用率之间的二维Copula联合分布函数。

4 实证研究

我们在实验室采集了网络视频播放、网页浏览、两者混合以及网络攻击时等典型环境下节点设备内存使用率、网络流量和CPU利用率的时间序列样本,并对它们进行归一化。得到表2所示的数据集。

表2 时间序列数据集

Step1:用多项式拟合上述数据,图2 所示的是多项式拟合网络节点资源的边缘分布。

图2 网络节点资源的边缘分布

在图2 中,选取了较为常见的累积经验分布(ecdf)作为多项式分布拟合函数,可以看出用多项式分布拟合内存使用率、网络流量和CPU利用率的时间序列数据较好。

Step2:本文选用三维Clayton Copula 函数对网络节点资源的时间序列样本进行联合分布函数构造,分别用 X ,Y 和Z 表示内存使用率、网路流量和CPU利用率的时间序列样本,具体形式如下式:

在式(19)中 u1,u2,u3分别表示 X ,Y 和 Z的边缘分布,θ 表示Copula函数的未知参数。由图2 可知,我们用多项式分布拟合网络节点资源,多项式分布拟合中没有未知参数,所以本文选用半参数估计(CML)对Copula函数的未知参数进行估计,得到θ 值为39.35。并采用均方根误差(RMSE)和赤池信息量准则(AIC)对Copula 函数进行优度拟合检验,得到 RMSE 值为 0.0775,AIC 值为-205.63,可见Clayton Copula 函数对网络节点资源拟合精度是很高的。网络节点资源的三维Clayton Copula 联合分布函数如图3。

图3 网络节点资源三维Clayton Copula联合分布函数图

Step3:本文选取样本长度N 为500,将求出的θ 值带入式(17)和(18),n 取200(网络节点资源指标任一超过0.6 的个数),求出网络节点资源的Clayton Copula 三维联合重现期 Ta为 13.6271s,即内存、流量和CPU某一指标在平均间隔13.6271s的时间内可能超标,导致系统崩溃;n 取78(网络节点资源指标同时超过0.6 的个数)时,Clayton Copula三维同现重现期T0为2.8562×107s,即内存、流量、CPU 在平均间隔2.8562×107s 的时间内可能同时超标而导致系统崩溃。

5 结语

本文选用多项式分布对网络节点资源经验分布进行拟合,用三维Clayton Copula 函数对内存使用率、网络流量和CPU利用率的时间序列的联合分布函数进行构造,并引进风险重现期为网络节点资源的网络风险提供一种新的风险预警机制。实证表明Copula 函数可以有效地对网络节点资源进行三维联合分布函数的构造,网络节点资源的重现期可以很好地对网络节点资源进行风险预警,为网络安全防范措施提供依据。

猜你喜欢
网络流量参数估计使用率
大数据驱动和分析的舰船通信网络流量智能估计
基于双向长短期记忆循环神经网络的网络流量预测
基于参数组合估计的多元控制图的优化研究
基于大数据分析的非线性网络流量组合预测模型*
一种GTD模型参数估计的改进2D-TLS-ESPRIT算法
内蒙古自治区病床使用率预测及其影响因素分析
2018年中国网络直播用户规模为3.97亿
外辐射源雷达直升机旋翼参数估计方法
浅谈死亡力函数的非参数估计方法
浅谈死亡力函数的非参数估计方法