【问题标题】:Why we multiply 'most likely estimate' by 4 in three point estimation?为什么我们在三点估计中将“最有可能的估计”乘以 4?
【发布时间】:2014-04-09 00:14:23
【问题描述】:

我在我的一个项目中使用了三点估计。 公式是

   Three Point Estimate = (O + 4M + L ) / 6

也就是说,

  Best Estimate + 4 x Most Likely Estimate + Worst Case Estimate divided by 6

这里

divided by 6 means, average 6

并且发生最坏情况或最好情况的可能性较小。真诚地,最有可能的估计 (M) 是完成工作所需要的。

但我不知道他们为什么使用4(M)。为什么他们乘以 4 ???.不使用 5,6,7 等... 为什么最有可能的估计值与其他两个值一样加权four times

【问题讨论】:

    标签: estimation software-estimation


    【解决方案1】:

    我研究过一次。我巧妙地忽略了写下踪迹,所以这是凭记忆。

    据我所知,标准文件是从教科书中得到的。教科书是从 1950 年代最初的统计期刊中获得的。期刊中的文章基于兰德公司完成的内部报告,该报告是为北极星计划开发 PERT 的整体工作的一部分。

    这就是路径变冷的地方。似乎没有人清楚他们为什么选择这个公式。最好的猜测似乎是它基于正态分布的粗略近似——严格来说,它是一个三角形分布。基本上,一个凹凸不平的钟形曲线假设“可能的情况”落在真实平均估计的 1 个标准差内。

    4/6ths 约等于 66.7%,也就是约 68%,这在均值的一个标准差内接近正态分布下的面积。

    说了这么多,有两个问题:

    1. 基本上是编造的。选择它似乎没有坚实的基础。有一些运筹学文献支持替代分布。在哪个宇宙中,估计值通常围绕真实结果分布?我非常想搬到那里。
    2. 3 点/PERT 估计方法的准确性提高效果可能更多是关于将任务分解为子任务,而不是任何特定公式。研究他们所谓的“计划谬误”的心理学家发现,分解任务——用他们的术语来说是“拆包”——通过提高估计值来不断提高估计值,从而减少不准确性。所以也许 PERT/3 点的神奇之处在于拆包,而不是公式。

    【讨论】:

    • 你是对的。为什么他们乘以 4 ??? 4M 的意思是,我认为很可能是这样……所以他们使用的是两个标准差?为什么正好是 4 ?
    • 就像我说的那样,权重似乎没有明确的理由,但 4/6 大约类似于 2/3,这类似于位于其中的正态曲线下的面积量平均值的一个标准差。
    【解决方案2】:

    理想情况下,O、M 和 L 的这些因素是使用同一公司在同一环境中的其他项目的历史数据得出的。换句话说,公司应该在 M 估计内完成 4 个项目,在 O 内完成 1 个,在 L 内完成 1 个。如果我的公司/团队在原始 O 估计内完成 1 个项目,在 M 内完成 2 个项目,在 L 内完成 2 个项目,我会使用另一个公式 - (O + 2M + 2L) / 5。有意义吗?

    【讨论】:

      【解决方案3】:

      这不是一个很好用的拇指号码吗?

      cone of uncertainty 在项目的开始阶段使用因子 4。

      Steve McConnell 所著的《"Software Estimation"》一书基于“不确定性锥体”模型,并给出了许多“拇指规则”。然而,每个近似数字或拇指规则均基于来自COCOMO 或类似可靠研究、模型或研究的统计数据。

      【讨论】:

        【解决方案4】:

        这里有一个推导:

        http://www.deepfriedbrainproject.com/2010/07/magical-formula-of-pert.html

        如果链接失效,我会在这里提供一个摘要。

        所以,暂时从这个问题退后一步,这里的目标是想出一个mean(平均)数字,我们可以说是任何给定的 3 点估计的预期数字。也就是说,如果我要尝试该项目 X 次,并将该项目尝试的所有成本加起来总共 $Y,那么我预计一次尝试的成本是 $是/X。请注意,此数字可能与 模式(最有可能)结果相同,也可能不同,具体取决于概率分布。

        预期结果很有用,因为我们可以做一些事情,例如将整个预期结果列表相加来为项目创建预期结果,即使我们以不同方式计算每个单独的预期结果。 p>

        另一方面,模式甚至不一定是每个估计唯一的,因此这是它可能不如预期结果有用的一个原因。例如,从 1 到 6 的每个数字都是掷骰子“最有可能”的结果,但 3.5 是(唯一的)预期平均结果。

        3 点估计背后的基本原理/研究是,在许多(大多数?)现实世界场景中,人们可以比单个预期值更准确/直观地估计这些数字:

        • 悲观的结果 (P)
        • 乐观的结果 (O)
        • 最可能的结果 (M)

        但是,要将这三个数字转换为期望值,我们需要一个概率分布,它可以插入除我们生成的 3 个之外的所有其他(可能是无限的)可能结果。

        我们甚至进行 3 点估计的事实假定我们没有足够的历史数据来简单地查找/计算我们将要做的事情的预期值,所以 我们可能不'不知道我们估计的实际概率分布是什么

        PERT 估计背后的想法是,如果我们不知道实际曲线,我们可以将一些合理的默认值插入 Beta 分布(基本上只是一条我们可以自定义为许多不同形状的曲线)并使用这些默认值对于我们可能面临的每一个问题。 当然,如果我们知道真实的分布,或者有理由相信 PERT 规定的默认 Beta 分布对于当前的问题是错误的,我们不应该在我们的项目中使用 PERT 方程。。 p>

        Beta 分布有两个参数AB 分别设置曲线左侧和右侧的形状。方便的是,我们可以简单地通过知道曲线的最小值/最大值以及AB 来计算 Beta 分布的众数、均值和标准差。

        PERT 为每个项目/估算将 AB 设置为以下:

        如果M > (O + P) / 2,则A = 3 + √2B = 3 - √2,否则交换AB 的值。

        现在,碰巧的是,如果您对 Beta 分布的形状做出特定假设,则以下公式完全正确:

        平均值(预期值)=(O + 4M + P) / 6

        标准差 = (O - P) / 6

        总结一下

        • PERT 公式不是基于正态分布,而是基于具有非常特殊形状的 Beta 分布
        • 如果您的项目的概率分布与 PERT Beta 分布相匹配,则 PERT 公式完全正确,它们不是近似值
        • 为 PERT 选择的特定曲线不太可能与任何给定的任意项目相匹配,因此 PERT 公式将是实践中的近似值
        • 如果您对估计的概率分布一无所知,您不妨利用 PERT,因为它已被记录、被许多人理解且相对易于使用
        • 如果您对估计的概率分布有所了解,表明 PERT 的某些内容不合适(例如对众数的 4 倍加权),请不要使用它,而是使用您认为合适的任何内容
        • 你乘以 4 得到平均值(而不是 5、6、7 等)的原因是数字 4 与基本概率曲线的形状相关李>
        • 当然,PERT 可能基于 Beta 分布,在计算平均值时产生 5、6、7 或任何其他数字,甚至是正态分布,或均匀分布,或几乎任何其他概率曲线,但我建议他们为什么选择他们所做的曲线的问题超出了这个答案的范围,而且可能是非常开放/主观的

        【讨论】:

          【解决方案5】:

          上面提到了不确定性锥体......它是敏捷估算实践中使用的众所周知的基础元素。

          但它有什么问题?是不是看起来太对称了——好像不是很自然,不是真的基于真实数据?

          如果你曾经这样认为,那么你是对的。上图中显示的不确定性锥体是基于概率构成的……不是来自真实项目的实际原始数据(但大多数时候它是这样使用的)。

          Laurent Bossavit 写了一本书,还做了一次演讲,他介绍了他对锥体是如何形成的研究(以及我们在软件工程中经常相信的其他“事实”):

          软件工程的妖精

          https://www.amazon.com/Leprechauns-Software-Engineering-Laurent-Bossavit/dp/2954745509/

          https://www.youtube.com/watch?v=0AkoddPeuxw

          是否有一些真实数据可以支持不确定性?他能找到的最接近的是一个在 Y 轴正方向上最多可达 10 倍的圆锥体(因此,就项目最终花费 10 倍的时间而言,我们的估计最多可以减少 10 倍)。

          几乎没有人估计一个项目最终会提前 4 倍......或者......喘不过气......提前 10 倍。

          【讨论】:

            猜你喜欢
            • 2020-01-23
            • 1970-01-01
            • 2021-06-22
            • 2012-03-05
            • 2017-03-18
            • 2011-09-16
            • 1970-01-01
            • 2019-10-24
            • 1970-01-01
            相关资源
            最近更新 更多