法律状态公告日
法律状态信息
法律状态
2016-06-15
授权
授权
2013-06-12
实质审查的生效 IPC(主分类):G06F11/36 申请日:20130114
实质审查的生效
2013-05-15
公开
公开
【技术领域】
本发明涉及软件可靠性测试以及评估过程中下一次或未来较长时间内软件失效时间数据预测方法。
【背景技术】
软件可靠性指在规定条件下,在规定时间内,软件不发生失效的概率。在解决可靠性预测问题是,传统解决方法反映了大样本统计学的哲学,容易出现过学习以及适用性差等问题。
统计学习理论是建立在一套较坚实的理论基础之上的,为解决有限样本学习问题提供了一个统一的框架。它能将很多现有方法纳入其中,有望帮助解决许多原来难以解决的问题,如神经网络结构选择问题、局部极小点问题等。相关向量机(relevance vector machine,RVM)是Tipping于2001年所提出的一种稀疏贝叶斯学习模型,在很多方面取得了非常不错的应用,如物体的跟踪,3D姿态估计,3D模型恢复等,电力负荷预测,信道均衡预测等。
【发明内容】
本发明所要解决的技术问题是提供一种基于相关向量回归估计的软件失效时间预测方法,能实现软件可靠性的自适应预测。为此,本发明采用以下技术方案,它包含如下步骤:
(1)、首先观测并记录顺序软件失效数据集,并把所有的输入输出数据归一化;
(2)、通过合理抽象与假设,把软件失效时间预测问题转化为一个函数回归问题;
(3)、选择用于预测的核函数,并给定参数的初始化值;
(4)、选择用于学习的失效数据数目;
(5)、采用相关向量回归估计算法针对不同失效数据集进行学习优化;
(6)、最后选用优化后的参数对新的失效时间进行预测。
进一步地,步骤(2)所述的把软件失效时间预测问题转化为一个函数回归问题,采用如下方法:
假设已发生的软件失效时间为t1,t2,L,tn,令tl=f(tl-m,tl-m+1,L,tl-1),则tl服从固定但未知的条件分布函数F(tl|tl-m,tl-m+1,L,tl-1),在t1,t2,L,tk已知条件下对tk+1进行预测变为:已知k-m个观测(T1,tm+1),(T2,tm+2),L,(Tk-m,tk)和第k-m+1个输入Tk-m+1的情况下,估计第k-m+1个输出值其中,Ti表示m维向量[ti,ti+1,L,tm-i];
步骤(3)中用到的核函数为高斯核函数,其参数初始值g=1。
步骤(4)中的失效数据数目为5-8之间的整数。
进一步地,步骤(5)所述的采用相关向量回归估计算法针对不同失效数据集进行学习优化,包括如下过程:
(5.1)、给定一群向量与对应的目标值作为输入,假设x与t的对应关系符合以下的函数:
p(ti)=N(ti|y(xi;w),σ2)
(5.2)、令t的概率分布为:
式中,Φ=[φ(x1),φ(x2),Lφ(xN)]T,φ(xn)=[1,k(xn,x1),k(xn,x2),L,k(xn,xN)]T;
w=[w0,w1,LwN]T,
(5.3)、对每个权值ωi定义先验概率分布:
式中,αi是决定wi先验分布的超参数,
α=(α1,αi,LαN)。
(5.4)、计算未知量的后验分布:
(5.5)、积分后化简得到:
μ=σ-2∑ΦTt,∑=(A+σ-2ΦTΦ)-1,A=diag(α0,α1,LαN),Ω=σ2I+ΦA-1ΦT,
(5.6)、计算p(t*|t)的近似解:
(5.7)、使用下式迭代求解αMP,
由于采用本发明的技术方案,本发明使用RVM对软件失效时刻与在它之前的m个失效时刻数据进行学习从而捕捉失效时刻之间的内在依赖关系,由此构建基于相关向量机软件可靠性预测方法。通过核函数技术的应用,把软件可靠性预测问题转化为一个回归估计问题,并应用相关向量回归估计算法来解决这一问题。在新预测方法中,随着软件失效不断发生,模型参数将不断自动调整以适应失效过程的动态变化,从而实现软件可靠性的自适应预测。
【附图说明】
图1为本发明软件失效时间预测方法的流程图,即基于相关向量回归估计算法的软件可靠性预测流程图。
【具体实施方式】
1)数据归一化
在使用回归估计算法进行学习预测时,首先需要把所有的输入输出数据归一 化到区间[0.1,0.9],具体转化式子为:其中,y是归一化后的值,x是实际值,xmax是数据集中的最大值,xmin是最小值,Δ=xmax-xmin,预测结束后,采用以下映射把数据映射回到实际值:
2)问题转化
假设已发生的软件失效时间为t1,t2,L,tn,令tl=f(tl-m,tl-m+1,L,tl-1),则tl服从固定但未知的条件分布函数F(tl|tl-m,tl-m+1,L,tl-1),使用RVM对软件失效时刻数据进行学习,可以捕捉失效时间内在的依赖关系。RVM的输入为m维向量[tl-m,tl-m+1,L,tl-1],输出为tl,则RVM总的输入序列为t1,t2,L,tn,L;
输出序列为:tm+1,tm+2,L,tn,tn+1,L。
若用于RVM进行学习的失效时刻序列为t1,t2,L,tk(k>m),则在t1,t2,L,tk已知条件下对tk+1进行预测变为:已知k-m个观测(T1,tm+1),(T2,tm+2),L,(Tk-m,tk)和第k-m+1个输入Tk-m+1的情况下,估计第k-m+1个输出值其中,Ti表示m维向量[ti,ti+1,L,tm+i]。把作为输入,则可以预测同理可以得到
预测值的均值函数由下式给出:
概率预测分布函数为:
3)选择用于预测的核函数,并给定参数的初始化值
4)确定核函数参数的值
核函数参数选择问题,其实质就是一个优化问题,采用网格搜索法进行核函数参数选择,比如在用SVM预测时,采用高斯核函数,需要确定两个参数即惩罚因子C与核函数参数g,基于网格法将C∈[C1,C2],变化步长为Cs,而g∈[g1,g2],变化步长为gt,针对每对参数(C,g)进行训练,选取效果最好的一对参数作为模型参数
5)相关向量机回归估计算法
用RVM解决回归问题可以描述为:给定一群向量与对应的目标值 作为输入,想要找出xi与ti之间的对应关系,使得在遇到一个新的向量x*时,能够预测出它所对应的目标值t*,ti是任意实数。x与t的对应关系符合以下的函数:
p(ti)=N(ti|y(xi;w),σ2)
可以合理地假设是彼此独立的随机变数,
在已知与σ2条件下,t的概率分布为
式中,Φ=[φ(x1),φ(x2),Lφ(xN)]T,φ(xn)=[1,k(xn,x1),k(xn,x2),L,k(xn,xN)]T;
w=[w0,w1,LwN]T,对每个权值ωi定义先验概率分布:
式中,αi是决定wi先验分布的超参数,α=(α1,αi,LαN)。
根据权值的先验分布和样本集似然函数,未知量的后验分布可由贝叶斯公式计算得到:
因此,给定一个新的向量x*时,t*的概率分布预测为:
p(t*|t)=∫p(t*|w,α,σ2)p(w,α,σ2|t)dwdαdσ2,
p(w,α,σ2|t)=p(w|t,α,σ2)p(α,σ2|t)
从而,有
上式中的p(t|w,σ2)与p(w|α)都是高斯函数的乘积,积分后化简得到:
其中,μ=σ-2∑ΦTt,∑=(A+σ-2ΦTΦ)-1,A=diag(α0,α1,LαN),Ω=σ2I+ΦA-1ΦT,从而可以找到p(t*|t)的近似解:
积分式中的两项皆为高斯函数的乘积。这样,定积分后结果为:
φ(x*)=[1,k(x*,x1),k(x*,x2),L,k(x*,xN)]T
最后,剩下的问题是求解αMP,
为了对所建立的模型提供合理的比较与分析,采用10个来自不同类型软件的真实失效数据集对所提出的模型进行了实验分析,如表2所示。这些数据集描述了各个软件系统的失效过程,每个数据点包含两种观测统计集合:累计执行时间和累计失效次数。在实验中,训练集包括从测试开始后完整的系统失效过程,为了让核函数进行充分的学习,在实验过程中,取所有数据集的前三分之一作为学习数据,对后面三分之二数据进行预测后与真实数据进行比较。
表中列出了在十个数据集上各个模型的AE值,其中模型1-6分别代表SRGM With Logistic TEF、SRGM With Rayleigh TEF、Delayed S-Shaped Model With Logistic TEF、Delayed S-Shaped Model With Rayleigh TEF,G-O model、Yamada Delayed S-Shaped;模型7代表本发明采用的方法,a、b、c、d代表采用的核函数分别为Gaussian Function、Linear Function、Polynomial Function、Symmetric Triangle Function。
表1:10个数据集上各个模型预测的AE值
结论:在不同数据集上,采用不同的核函数以及采用不同的回归估计方法 时,模型预测性能均有差异,采用基于相关向量回归估计算法的软件可靠性预测模型能有效提高模型的预测性能和适用性。
机译: 基于特征向量和层次聚类的铸型脱模预测方法
机译: 基于经验奇异向量的集合气候预测方法
机译: 基于神经网络和支持向量机的红潮预测方法