使用贝叶斯定理更新可能性的算法

机器算法验证 贝叶斯
2022-03-16 18:11:45

这可能是一个基本问题,这就是为什么我无法在 Stackexchange 或 Mathoverflow 上找到它的原因,但是对于我正在处理的问题,我在使用贝叶斯定理更新可能性时所涉及的算法存在问题。

背景:

我试图对没有或很少有先例的未来事件进行可能性预测。与大多数关于贝叶斯的文献和文本使用先前已知的分布来给出类似参数内未来事件的可能性不同——我的情况是建立在专家意见的基础上的,只有很少或没有合理的分布可供参考。

例子:

通用汽车宣布他们正在开发一款新车,但没有说明何时发布。起亚的生产经理需要知道他们什么时候准备好发布它,以便他们可以在大约同一时间发布他们的新车。

起亚知道新车需要以下部件才能准备好发布 (1) 发动机、(2) 变速箱、(3) 车身、(4) 车轮和悬架。起亚经验丰富的工程师表示,对于像这样的新项目,他们有 90% 的信心可以在两年内完成。起亚还发现,通用汽车在另一款 SUV 上对新变速箱进行了测试,并按设计工作,成功率为 95%。同一位工程师表示,通过这项变速箱测试,一辆汽车可以在 70% 的时间内完成。

按照我的方式,此时 KIA 可以使用初始样本开始贝叶斯计算,如下所示:

   A = GM will release the new car in two years
   B1 = GM will successfully test a new transmission
   P(A) = Prior Probability that GM will release the new car in two years
   P(B1) = Probability that GM will successfully test a new transmission
   P(B1|A) = Likelihood that given a successful transmission test, the car will be released within 2 years

赋值如下

   P(A) = .9
   P(B1) = .95
   P(B1|A) = .7

P(A|B1)=P(A)P(B1|A)P(A)P(B1|A)+P(A¯)P(B1|A¯)

.9545=.9.7(.9.7)+(.1.3)

在起亚统计部门发布此更新后不久,通用汽车宣布他们已经测试了他们的新引擎,并且在所有测试中成功率达到了 98%。起亚工程师表示,通常如果发动机测试成功,那么汽车将有 80% 的可能性按时完成 - 但他们不知道发动机和发动机在整体完成时间上的可能性有多大。传输测试了。

现在我们的第二点证据的值,应该注意的是对于这种情况是独立的 - 但并非在所有情况下,例如身体必须在暂停后继续:

   P(B2) = .98
   P(B2|A) = .8

所以这就是我遇到麻烦的地方:考虑到先验应该保持不变,将后验 P(A|B1) 算术积分到 P(A|B1,B2) 的计算中。正如我所提到的,{B1...Bn} 是独立的,其他是有条件的。

我看过描述三个事件贝叶斯扩展的维基百科条目:

P(A|B1,B2)=P(B2|A,B1)P(B1|A)P(A)P(B2|B1)P(B1)

但是第四次和第五次延期呢?

我拥有的大多数书籍和在线资源都没有显示以我可以区分的任何方式更新先验的步骤。可能是因为我离本科微积分时代太远了,无法解释它,但我担心我需要在集合论和研究生水平的数学方面有丰富的经验,才能进行看似简单的计算。这个交流是我能找到的最接近的,甚至它也没有通过它。事实上,经过一周的搜索,我还没有找到关于更新机制的基本教程贝叶斯定理(不要介意贝叶斯定理是什么以及它是如何工作的——这些已经足够多了)除了第一个实现之外,让我认为这不是一个微不足道的计算。没有研究生水平的数学,有没有一种直接的方法来进行这种更新?

注意:我知道与“更新问题”WRT Bayes 的内在困难相关的讽刺,因为 Yudkowski 已经讨论了一段时间。我假设,也许是错误的,那些从事它的人正在引用更复杂的迭代,但是我知道我可能会遇到这个问题。

2个回答

我将首先回答您有关使用“第四和第五个扩展”更新事件的问题。正如您所怀疑的那样,算术确实很简单。

首先,回想一下贝叶斯定理是如何从条件概率的定义中推导出来的:

在此处输入图像描述

通过以分子中的 A 为条件,我们可以得到更熟悉的形式:

在此处输入图像描述

现在考虑我们是否只有 B,而是 2 个或更多事件 B_1、B_2...为此,我们可以使用概率的链式规则推导出您引用的三个事件贝叶斯扩展,即(来自维基百科):

在此处输入图像描述

对于B_1和B_2,我们从条件概率的定义开始

在此处输入图像描述

并在分子和分母上使用链式法则:

在此处输入图像描述

就像这样,我们重新推导了您从维基百科引用的方程式。让我们尝试添加另一个事件:

在此处输入图像描述

在此处输入图像描述

添加第五个事件同样简单(读者练习)。但是你肯定会注意到一种模式,即三事件版本的答案包含在四事件版本的答案中,因此我们可以将其重写为:

在此处输入图像描述

在此处输入图像描述

或者更一般地说,在第 n 个证据之后更新后验的规则:

在此处输入图像描述

那部分就是您感兴趣的部分。现在,您要说的是,这可能不容易计算-不是因为任何算术困难,而是因为B内部的依赖性。如果我们说每个 B 都是独立分布的,那么更新就变得非常简单:

在此处输入图像描述

(事实上​​,您会注意到这是贝叶斯定理的一个简单应用!)该分数的复杂性取决于您的新证据依赖于先前的证据中的哪一条。变量和证据之间的条件依赖的重要性正是开发贝叶斯网络的原因(实际上,上面描述了贝叶斯网络的分解)。

现在,让我们谈谈你的例子。首先,您对单词问题的解释有问题。您对 70% 和 80% 的解释分别是,

P(B1|A) = .7
P(B2|A) = .8

但是(根据您的定义)A 表示汽车将按时完成,B_1 表示 GM 成功测试了变速箱,B_2 表示发动机测试成功,这意味着您将它们倒退——它们应该是

P(A|B1) = .7
P(A|B2) = .8

然而,现在,单词问题并没有真正的意义。以下是三个问题:

1)他们有效地给了你你想要的东西:说“给定这个传输测试,一辆汽车可以在 70% 的时间内完成”,然后问“一辆汽车完成的概率是多少在这段时间”。

2) 证据将你推向常识预期的相反方向。在你知道传输之前,概率是 90%,知道测试成功怎么能把它降低到 70%?

3) “95% 的成功率”和 95% 的测试成功率之间存在差异。成功率可能意味着很多事情(例如,零件没有损坏的比例),这使其成为关于零件质量的工程问题,而不是对“我们测试成功的把握有多大”的主观评估。作为一个说明性示例,假设我们正在谈论火箭飞船的关键部件,它在飞行过程中需要至少 99.999% 的工作机会。说“这件作品有 20% 的时间断裂”并不意味着有 80% 的机会测试成功,因此你有 80% 的机会可以在下周发射火箭。也许这部分需要 20 年的时间来开发和修复——根据您提供的信息无法得知。

由于这些原因,这个问题的措辞非常糟糕。但是,正如我上面指出的,基于多个事件的更新所涉及的算法非常简单。从这个意义上说,我希望我回答了你的问题。

ETA:根据您的评论,我认为您应该从头开始重新处理这个问题。您当然应该摆脱 95%/98%“成功率”的想法,在这种情况下,这是一个工程问题,而不是贝叶斯统计问题。其次,“我们有 70% 的信心,鉴于这部分工作,汽车将在两年内准备就绪”的估计是后验概率,而不是证据;你不能用它来更新你已经拥有的东西。

在您描述的情况下,您需要所有四个部分在截止日期前工作。因此,最聪明的做法就是简单地说“每个部分在两年内工作的概率是多少?” 然后你取这些概率的乘积(假设独立),你就有可能整个事情将在两年内工作。

退后一步,听起来您实际上是在尝试将多个主观预测合并为一个。在这种情况下,我的建议是解雇你的工程师。为什么?因为他们告诉您,他们有 90% 的信心认为它会在两年内准备就绪,但是在得知变速箱测试成功后,他们将估计值下调至 70%。如果这就是我们正在合作的人才,那么没有贝叶斯统计数据会帮助我们:-)

更严重的是——也许如果你更具体地了解问题的类型(这可能类似于结合 P(A|B1) 和 P(A|B2)),我可以给你更多建议。

有很多方法可以扩展这个结果。一般的形式是

(一个|,C,D...)=(一个,,C,D...)(,C,D,...)
分子和分母的写法有很多种。你的公式给出了两个例子(假设2C是一样的东西)。当然,对于一个给定的问题,你必须通过用你实际知道的数量写出 RHS 来制定 LHS;是否可以针对您的特定问题完成此操作可能值得在此站点上提出更具体的问题。

当变量 (一个,,C,D) 等是连续的,计算后验确实变得更加复杂,在大多数问题中,并且需要研究生水平的数学/统计技术。