经公司内部项目数据的实验证明,这几种拟合度的判断方法得到的结果是相互印证的,某一个模型计算得到的几种拟合度的趋势往往是相同的,这样可以辅助我们去判断选择较为合适的模型。但记住这样一句话:“所有的模型都是错的”。任何一个模型都有自己的局限性和假设要求,没有一个模型能够被证明是现实数据的真实反映。模型只是用来帮助我们解决问题的一种工具,可靠性增长模型也不例外。选择模型前,考虑实际使用中可能出现的现象,多问自己几个问题,多去寻找一些答案,而不是仅仅依靠拟合度的计算,以此来有效的构建合适的模型。

下表是几种拟合度指标的使用场景。

后要说的还是那句话:所有的模型都是错的。依靠拟合度并不是目的,更不是真理,在选择模型前,多问自己几个问题,您的经验和知识,同样是选择时的重要手段哦。

拟合度指标
  使用场景
 
R2
  对线性曲线,R2能反映出拟合的好坏,对非线性曲线,实际也能得到较符合的结果,简便计算时可使用
 
变形R2
  比R2更有理论说服力,拟合趋势与R2相近。但对某些情况可能无法进行计算,比如实测数据中出现0时,无法计算对数值和倒数值
 
RNL
  判断非线性曲线拟合度时更有理论基础,试验证明其分辨率和灵敏度都较高,可在细选模型时使用
 
FR
  实践应用时,先用FR(放大镜)初选,再用分辨率和灵敏度高的RNL(显微镜)精选,会得到较好的结果
 
MAD
  能较好地反映预测的精度,但不容易衡量无偏性。MAD容易求得,要求计算简单时可使用,可配合MFE、MAPE使用
 
MFE
  能很好的衡量预测模型的无偏性,但它不能反映预测值偏离实际的程度,可配合MAPE使用
 
MSE
  与MAD相似,可以较好的反映精度,但无法衡量无偏性,可配合MFE、MAPE使用
 
MAPE
  能很好的衡量预测模型的无偏性,可配合MAD或MSE使用
 
MAD+ MFE+ MSE+ MAPE
  MAD、MFE、MSE和MAPE是几种常用的衡量预测误差的指标,但任何单一的一种指标都很难全面地评价一个预测模型,在实际中可以将它们结合使用,根据选择的要求,需要精度较高的或偏离较低的模型,以此选择较为合适的模型。

S型曲线K值的分析
这篇文章将会介绍到对S型曲线的渐近值K值的分析。在之前介绍S型曲线的文章中(地址为:http://fispi.blog.ccidnet.com/blog-htm-do-showone-uid-354725-type-blog-itemid-5313963.html),已经对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不再有效,不应继续使用。