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

在之前的文章里,已经介绍了几种不同的成长曲线的形式,知道了几种曲线的趋势情况。比如,指数曲线就是呈指数的不断增长;S型曲线就是先增后趋于平稳。然而,再进一步,怎么拟合出适合给定样本数据的模型曲线呢?这回,我们介绍曲线的几种拟合算法。

  曲线拟合主要有3种算法:三点法、三和法和高斯-牛顿法。下面简单介绍3种算法的原理。

  1、三和法:

  三和法是利用三个和值来进行计算。将数据平均分成三段,分别求这三段数据的和;随后将三个和值依次做减法;通过求减法得出要预测的参数。也就是求解三元一次方程组,得到最终参数的值。

  2、三点法:

  三点法亦如它的名字,是利用三个点的值来进行计算。选择数据的起点、中点和终点,得到三元一次方程组;解出方程组,得到参数值。

  3、高斯-牛顿法:

  高斯-牛顿法是用逐次逼近的方式来得到最佳参数值。高斯-牛顿法的计算过程是一个不断迭代的过程。由于高斯-牛顿法的计算原理为寻找最优值,因此得到的结果应该最接近实际情况,拟合度最高。然而,高斯-牛顿法对数据要求较高,会出现由于数据原因无法计算的情况。

  由于算法公式较为复杂,暂时没有发表在网站上,但我们会尽快整理。


 三和法


三点法


高斯-牛顿法

原理 将大量数据分为3段 3点确定一条曲线 迭代寻找最优值
对数据个数的要求 最少9个 3个 无要求
易用性 较为易用  易用 对数据要求严格,易用性较低
准确度 较为准确 准确性较差 准确
可能不适用的情况 样本连续出现多个0 样本连续出现多个0 无法简单判断,只能通过计算得出
使用场景 已有一定数据量,可用于评断一个模型合适与否,或用于跟踪、更新模型 数据量不够,用于策划得到初始模型 数据量要求无太大限制,可用于评价模型的使用情况
注意事项 时间从0开始和从1开始计算公式不同 选取的三点距离应相等 
最优值的选取标准是R2

 

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-25 15:10:22

量化项目管理案例:缺陷趋势预测利器(7)的相关文章

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

量化项目管理案例:缺陷趋势预测利器(1) 不知身为软件工程师的你,在写代码时是不是有过这样的经历:一方面对自己写的代码信心满满,一方面又非常希望知道自己开发的代码的质量到底多高.如果代码真的没被测出bug来或者测出的bug较少时,反而有点担心--会不会还有隐藏的更深的bug没被发现?或者身为测试工程师的你,可能比开发人员担心的会更多:这些代码该不该再继续测试了?怎么就能断定当前的版本算是通过验收标准了,继而可以被客户和用户认可?是不是就可以把这个版本交付使用了呢? ---------------

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

理论知识终于告一段落啦.接下来要和大家分享的是S型曲线模型中的重要模型--Gompertz模型和Logistic模型在公司内部实际项目中的应用.下面的数据都是来自于公司内部实际项目,应用主要分4个场景:进入测试阶段前.测试阶段过程中.测试退出时.以及其它的应用.下面将依据场景,从测试阶段开始一直到结束,分阶段介绍S型曲线的应用. ● 进入测试阶段前的缺陷发现目标的预测 进入测试阶段前的缺陷预测过程可以说是一个静态的预估过程.简单来说,即根据经验.历史数据.预测开始时的缺陷数.release时的缺

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

这篇文章将会介绍到对S型曲线的渐近值K值的分析.在之前介绍S型曲线的文章中,已经对K值进行了介绍:S型曲线会趋近一条渐近线(K值),即"S"型增长曲线的最大值会接近K,但不会超过K:增长率会不断下降直至为零.以软件缺陷预测为例,有了K值,我们就能得到该软件系统最终应当发现的缺陷数目.这样在发布软件之前,根据已经检测到的缺陷的数目,就可以得到还有多少个缺陷未被发现.因此,为我们是否可以发布这个软件.或者说我们发布这个软件的原因提供了依据. 大家都明白渐近线的含义,K值就相当于渐近线.那还

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

在上一篇里,已经介绍了如何选择曲线模型,这一篇里,将会介绍怎样预测出该模型下符合实际数据的曲线,选择合适的模型.(模型的拟合算法将单独介绍) 给定一组实际数据,要让你预测出今后的一段时间,该数据的发展趋势,很多情况下,你并不能一下子就找到符合这组数据发展趋势的模型.而实际上,又有太多模型可以选择,每一个模型都会得到一个不同的发展趋势.好比买衣服,琳琅满目.各式各样,可是,到底哪一件适合你要出席的场合呢?所以,到底是指数合适,还是Gompertz合适,又或者是Logistic合适呢? 这个时候,就

5个免费项目管理工具

  本文介绍5个项目管理工具,老面孔多了点,具体列表如下 1. Collabtive Collabtive是一个基于Web的项目管理系统,非常知名的项目管理软件.提供的功能包括:项目管理,即时聊天工具,任务.文件管理,时间跟踪,多语言支持. 2. Freedcamp 这是另外一个免费项目管理领域的重量级的工具,功能全面,易于使用,有漂亮的UI.号称客户遍布全球超3万,大学30所以上,是不是应该瞧瞧? 3. Project Pier ProjectPier 是一款开源的项目管理程序,基于 PHP+

BitNami Redmine Stack 1.2.1-2发布 Redmine项目管理工具

BitNami Redmine Stack是一个易于安装的Redmine分布和项目管理的Web应用程序.它支持预配置,随时可以运行http://www.aliyun.com/zixun/aggregation/14417.html">Apache.MySQL.Ruby on Rails和Subversion的版本,因此用户可以得到一个Redmine安装程序,并回答几个问题后,就可以在几分钟内运行.目前支持Linux,Windows和Mac OS X操作系统. 关于Redmine Redmi

盘点那些评分最高的项目管理工具,不服来战!

作为一名开发者,总会接触到项目,而一个好的项目管理工具能让项目管理变得更简单,达到事半功倍的效果.下面是评分最高且收藏量超过 100 的几款项目管理工具,来看看你用过的工具多少分: 1.项目管理和缺陷跟踪工具 Redmine 收藏:744,评分:7.4 Redmine 是一个开源的.基于Web的项目管理和缺陷跟踪工具.它用日历和甘特图辅助项目及进度可视化显示.同时它又支持多项目管理.Redmine是一个自由开放 源码软件解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制选项的支持.

项目管理工具Redmine各功能测试

Redmine各功能测试 Redmine 是一个开源的.基于Web的项目管理和缺陷跟踪工具.它用日历和甘特图辅助项目及进度可视化显示.同时它又支持多项目管理.Redmine是一个自由开放 源码软件解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制选项的支持. 虽说像IBM Rational Team Concert的商业项目调查工具已经很强大了,但想坚持一个自由和开放源码的解决方案,可能会发现Redmine是一个有用的Scrum和敏捷的选择. 由于Redmine的设计受到Rrac的较

BitNami Redmine Stack 2.0.1-0发布 Redmine项目管理工具

BitNami Redmine Stack是一个易于安装的Redmine分布和项目管理的Web应用程序.它支持预配置,随时可以运行http://www.aliyun.com/zixun/aggregation/14417.html">Apache.MySQL.Ruby on Rails和Subversion的版本,因此用户可以得到一个Redmine安装程序,并回答几个问题后,就可以在几分钟内运行.目前支持Linux,Windows和Mac OS X操作系统. 关于Redmine Redmi