这篇文章将会介绍到对S型曲线的渐近值K值的分析。在之前介绍S型曲线的文章中,已经对K值进行了介绍:S型曲线会趋近一条渐近线(K值),即“S”型增长曲线的大值会接近K,但不会超过K;增长率会不断下降直至为零。以软件缺陷预测为例,有了K值,我们能得到该软件系统终应当发现的缺陷数目。这样在发布软件之前,根据已经检测到的缺陷的数目,可以得到还有多少个缺陷未被发现。因此,为我们是否可以发布这个软件、或者说我们发布这个软件的原因提供了依据。
大家都明白渐近线的含义,K值相当于渐近线。那还有什么可讨论的呢?实践证明,在缺陷预测时,用9个实际数据预测得到的曲线,与用15个实际数据预测得到的曲线并不相同,它们的趋近值,即K值也不相同。那么,到底哪个模型更为拟合?已经有了9个数据时预测得到的模型,是否还需要用更多的数据去重新预测呢?那如果有了20个实际数据,是否还有必要用25个实际数据重新预测呢?
在曲线预测中,预测的结果使得我们能够得到曲线在每个时间的分布情况以及曲线终的逼近情况。所以,对渐近值K的预测是我们预测的目的之一。
从上述曲线模型的预测过程中可以看出,预测的结果是终会得到一个K值。如果使用不同数目的样本数据进行预测能够得到相同的K值,那么说明K值是稳定的。但在实际项目中,多次实验得到的结果却是K的值并不是不变的,它也是一个随时间趋势、遵循一定的规律不断发展变化的值。
那么,K值会如何变化呢?下面是我们针对这个问题,在实际项目中所作的实验。
◆ 将预测出的数值用同样的预测方法重新预测,比较将预测值用作样本值进行预测得到的结果与之前的预测值之间的差别
◇ 结果:两次结果并不相同,但差别很小,K值的接近度近似于
◆ 针对三点法进行实验。普通三点法所取三点分别为起点、中点和“终点”,三点之间相距分别为M;通过比较所取的三点若稍有差别时得到的结果来分析K值,所以取三点分别为第二点、中点的后一点和“终点”(或者是类似的取法),它们之间同样相距分别为M(这里是对Gompertz曲线和Logistic曲线做的实验)
◇ 结果:两次结果也并不完全相同,但差别同样很小,K值的接近度近似于99%
上面这两个实验虽然得到了相近的结果,看起来几次实验K值也是接近的,但并不能得到K值是稳定的这一结论,要想对K值稳定度进行分析,还需要继续针对K值进行不同的实验来分析研究,或利用大量数据进行验证。
● 预测监控
预测的一个十分重要的理论基础是:一定形式的需求模式过去、现在和将来都起着基本相同的作用,即过去起作用的模型现在依然是有效的,那么如何来判断实际情况呢,这需要进行预测监控。
检验预测模型是否仍然有效的一个简单方法是将近的实际值与预测值进行比较,看偏差是否在可以接受的范围之内,另一种方法是应用跟踪信号(Tracking Signal,TS)。
所谓跟踪信号,是指预测误差滚动和与平均误差的比值,公式为:
TS=RSFE/MAD=∑(At-Ft)/MAD
各符号的含义见上篇文章。每当有实际需求发生时,应当计算TS。如果预测模型仍然有效,TS应该比较接近于0。只有TS在一定范围内(设定上下限),才认为预测模型可以继续使用,否则,应该重新选择模型,如图1。
图1 TS范围
图1中,两条红色的线代表的是TS的上下限范围,黑色曲线代表的是TS,TS不断变化,但只有在上下限的范围之内的TS才可以看作是有效的,可以继续使用,否则,TS不再有效,不应继续使用。