量化项目管理案例:缺陷趋势预测利器(5)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介:

在上一篇里,已经介绍了如何选择曲线模型,这一篇里,将会介绍怎样预测出该模型下符合实际数据的曲线,选择合适的模型。(模型的拟合算法将单独介绍)

  给定一组实际数据,要让你预测出今后的一段时间,该数据的发展趋势,很多情况下,你并不能一下子就找到符合这组数据发展趋势的模型。而实际上,又有太多模型可以选择,每一个模型都会得到一个不同的发展趋势。好比买衣服,琳琅满目、各式各样,可是,到底哪一件适合你要出席的场合呢?所以,到底是指数合适,还是Gompertz合适,又或者是Logistic合适呢?

  这个时候,就迫切的需要一个评判的标准,这种标准称为拟合度。拟合度的评价也有几种方法,本文列出了几种常用的拟合度判断方法,并对这几种方法进行总结、对比。

  ◆ 利用相关系数R2来进行拟合度判断

  相关系数R2是一种常见的拟合度的判断方法,常用于判断线性曲线的拟合度,然而在许多非线性曲线的拟合度判定过程中使用的依然是判断R2的方法,这个判断标准在实践中也被证明是符合实际的。实际中,R2较大的曲线模型,往往也是拟合较好的模型。

  ● 计算残差平方和Q=∑(y-y*)^2,其中,y代表的是实测值,y*代表的是预测值

  ● 计算相关系数R2=1-Q/∑(y-ya)^2,其中,y代表的是实测值,ya代表的是实测值的平均数

  ● 判断方式:R2越大、越接近1,认为拟合度越好

  ◆ 利用变换的R2来进行拟合度判断——以Gompertz曲线和Logistic曲线为例

  Gompertz曲线和Logistic曲线的预测过程(无论是三点法还是三和法)首先都需将模型的函数进行变换(对Gompertz模型进行对数变换,对Logistic模型进行倒数变换),然后再运用三和法或者三点法的原理进行计算。所以这里提出一种运用变换的相关系数R2来进行拟合度判断。

  ● Gompertz曲线

  ◇ 分别将实测值和预测值进行对数变换

  ◇ 将对数变换后的实测值记作y,将对数变换后的预测值记作y*

  ◇ 根据相关系数的计算方法,计算变换后的残差平方和Q和相关系数R2

  ● Logistic曲线

  ◇ 分别将实测值和预测值进行求倒数变换

  ◇ 将求倒变换后的实测值记作y,将求倒变换后的预测值记作y*

  ◇ 根据相关系数的计算方法,计算变换后的残差平方和Q和相关系数R2

  ◆ 利用实测数据与拟合数据来进行拟合度判断

  由于R2是用于判断线性模型的拟合程度的,对于非线性曲线,似乎不具有什么理论上的支持,所以,出现了许多针对非线性曲线进行的拟合度判定。下面的方法是其中的一种。

  ● 同样,计算残差平方和Q=∑(y-y*)^2和∑y^2,其中,y代表的是实测值,y*代表的是预测值

  ● 计算新的拟合度指标RNew=1-(Q/∑y^2)^(1/2)

  ● 判断方式:RNew越接近1,认为拟合度越好

  ◆ 利用余弦函数进行辅助判断

  从上一种方法中可以看出,在参数个数相同的前提下,拟合值越接近实测值,则认为拟合得越好。由此出现了根据几何意义得到的方法:若把实测值和预测值视为N维空间中的向量,若它们之间的夹角Θ越小,则可以认为拟合得越好。这里,计算角余弦系数FR=cosΘ=∑(yy*)/((∑y^2)^(1/2)* (∑y*^2)^(1/2))。

  经实验证明,RNew的分辨率和灵敏度都较高,计算简单。实际中,可先用FR初选,再用RNew精选,可能会得到较好的结果。

◆ 平均绝对偏差、平均平方误差、平均预测误差和平均绝对百分误差

  下面将介绍平均绝对偏差、平均平方误差、平均预测误差和平均绝对百分误差这四个评价指标。下面各指标中,At表示时段t的实际值,Ft表示时段t的预测值,n是整个预测期内的时段个数(或预测次数)。

  ● 平均绝对偏差MAD:Mean Absolute Deviation

  平均绝对偏差就是整个预测期内每一次预测值与实际值的绝对偏差(不分正负,只考虑偏差量)的平均值。

  公式:MAD=(∑|At-Ft|)/n,t=1…n

  MAD与标准偏差类似,但更容易求得。MAD能较好地反映预测的精度,但它不容易衡量无偏性。

  ● 平均平方误差MSE:Mean Square Error

  公式:MSE=(∑At-Ft)^2/n,t=1…n

  MSE与MAD相似,可以较好的反映精度,但无法衡量无偏性。

  ● 平均预测误差MFE:Mean Forecast Error

  平均预测误差是指预测误差的和的平均值。

  公式:MFE=(∑(At-Ft))/n,t=1…n

  其中,∑(At-Ft),t=1…n被称作预测误差滚动和RSFE(Running Sum of Forecast Errors)。如果预测模型是无偏的,RSFE应该接近于0,即MFE应接近于0。因此MFE能很好的衡量预测模型的无偏性,但它不能反映预测值偏离实际的程度。

  ● 平均绝对百分误差MAPE(Mean Absolute Percentage Error)

  公式:MAPE=(∑|(At-Ft)/At|)/n,t=1…n

  一般认为MAPE小于10时,预测精度较高。

  MAD、MFE、MSE和MAPE是几种常用的衡量预测误差的指标,但单一的指标很难全面地评价一个预测模型,在实际中可以将它们结合起来使用,选择较为合适的模型。

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

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

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

拟合度指标

使用场景

R2

对线性曲线,R2能反映出拟合的好坏,对非线性曲线,实际也能得到较符合的结果,简便计算时可使用

变形R2

R2更有理论说服力,拟合趋势与R2相近。但对某些情况可能无法进行计算,比如实测数据中出现0时,无法计算对数值和倒数值

RNL

判断非线性曲线拟合度时更有理论基础,试验证明其分辨率和灵敏度都较高,可在细选模型时使用

FR

实践应用时,先用FR(放大镜)初选,再用分辨率和灵敏度高的RNL(显微镜)精选,会得到较好的结果

MAD

能较好地反映预测的精度,但不容易衡量无偏性。MAD容易求得,要求计算简单时可使用,可配合MFEMAPE使用

MFE

能很好的衡量预测模型的无偏性,但它不能反映预测值偏离实际的程度,可配合MAPE使用

MSE

MAD相似,可以较好的反映精度,但无法衡量无偏性,可配合MFEMAPE使用

MAPE

能很好的衡量预测模型的无偏性,可配合MADMSE使用

MAD+ MFE+ MSE+ MAPE

MADMFEMSEMAPE是几种常用的衡量预测误差的指标,但任何单一的一种指标都很难全面地评价一个预测模型,在实际中可以将它们结合使用,根据选择的要求,需要精度较高的或偏离较低的模型,以此选择较为合适的模型。




本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/
相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
打赏
0
0
0
0
176
分享
相关文章
|
6月前
|
蒙特卡罗分析应用 | 项目管理中的优势
蒙特卡罗分析是一种通过随机抽样预测结果的统计方法,广泛应用于项目管理和工程领域,特别是在大型复杂项目中。它能帮助项目经理更准确地预测项目时间和成本,提供战略支持,但不取代直觉和经验。
108 1
告别盲目试错!Scikit-learn助你科学评估模型,精准定位性能瓶颈!
【7月更文挑战第27天】在机器学习项目中, Scikit-learn提供了一套强大的工具来优化模型性能。首先, 利用`StandardScaler`等工具进行数据预处理确保一致性。接着, 选择合适的模型进行训练, 如`RandomForestClassifier`。之后, 采用交叉验证评估模型性能, 减少过拟合风险。最后, 使用`GridSearchCV`等工具精确定位性能瓶颈并优化模型参数。这种方法科学高效, 大幅提升了模型性能, 推动项目成功实施。
82 0
探索软件测试的多维视角:从自动化到性能评估
在数字化时代的浪潮中,软件测试作为保障产品质量的重要环节,其方法和工具正经历着前所未有的变革。本文将深入探讨现代软件测试领域的两大趋势——自动化测试与性能测试,揭示它们如何相辅相成,共同提升软件开发的效率和质量。我们将通过具体的案例分析,展示自动化测试在不同开发阶段的应用,以及性能测试在确保用户体验方面的关键作用。同时,文章还将对比传统测试方法,阐述这些新兴技术带来的改进和挑战,为读者呈现一个全面而立体的软件测试新图景。
软件成本度量进阶系列之增强开发、中间系统评估
上篇我们讲到《基础软件&基础评估》,第一层的心法是熟知标准和度量模型、掌握并运用方法、熟悉评估流程、熟悉公司业务,最后说了系统架构不断优化,软件系统跟着业务变化多端,今天就为朋友们带来软件成本度量的第二层心法《增强开发、中间系统评估》。
1144 0
软件成本度量进阶系列之增强开发、中间系统评估(转载)
上篇我们讲到《基础软件&基础评估》,第一层的心法是熟知标准和度量模型、掌握并运用方法、熟悉评估流程、熟悉公司业务,最后说了系统架构不断优化,软件系统跟着业务变化多端,今天就为朋友们带来软件成本度量的第二层心法《增强开发、中间系统评估》。
1250 0
《程序员度量:改善软件团队的分析学》一案例分享:度量和怀疑论者
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1408 0
《程序员度量:改善软件团队的分析学》一案例分享:意料之外的成功因素
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1077 0
《程序员度量:改善软件团队的分析学》一案例分享:双队记
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第3章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1362 0
《程序员度量:改善软件团队的分析学》一假设检验
本节书摘来华章计算机《程序员度量:改善软件团队的分析学》一书中的第2章 ,Jonathan Alexander 著 张燎原 周峰 张刚 宋励奋 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1246 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等