大多数传统时间序列建模数据会限制数据集中观测的时间序列的个数,因而很多方法根据观测的时间序列规定分布假设[11]。例如, 阶-向量自回归模型就是一个相当典型的例子。把向量自回归过程拟合到一组数据,标准的统计学方法通常包括两块:阶的选择和参数估计。阶的选择通常由建立在度量标准上的信息理论执行,赤池信息量准则(AIC)就是一种典型的度量标准。在度量中,必须满足 。 表示允许的时间序列最短长度, 表示建模的参数数量, 即向量自回归模型的阶。例如,对于有100个变量的时间序列,考虑最大为3阶的向量自回归模型,为了找到最合适的阶, 就至少是302。当用含噪声的故障数目或者短的、稀疏的、不完全的故障数目作为时间序列建模时,这种限制就明显无法接受。因此,为了揭示检测故障数目的动态关系,我们就需要去寻找一种可替代的方法,能够处理噪声数据、稀疏数据以及不完全数据。
3 使用EM算法进行软件可靠性建模
软件可靠性建模包含两个连续的任务,首先明确模型结构,接着找到一种方式来同时估计模型参数和错误数。因此本章先介绍实验采用的模型,然后阐述怎样通过EM算法结合卡尔曼滤波来建立时间序列模型以及求解模型参数。
3.1 随机动态模型
理论上讲,错误检测的过程可以称为随机动态模型,它包括噪声测算和一阶自回归随机动态过程。考虑到时间序列建模是动态的。我们不妨把模型的运行分为 个状态。比如,如果 ,错误导致故障属于第一个状态,错误被不完全纠正属于第二个状态,错误被完全纠正属于第三个状态。则可用以下模型评估软件可靠性:
(3-1)
式中, 表示在第 状态 时刻实际的错误数, 表示在第 状态 时刻预测的错误数, 表示测量噪声, 表示状态数, 表示测量时间点。不失一般性,我们假设 是一个零均值高斯白噪声序列,在 非负情况下,它的协方差 。 基于时间序列的软件可靠性建模技术研究(4):http://www.youerw.com/jisuanji/lunwen_21062.html