《贝叶斯思维:统计建模的Python学习法》一2.2 曲奇饼问题

    xiaoxiao2024-02-19  143

    本节书摘来自异步社区《贝叶斯思维:统计建模的Python学习法》一书中的第2章,第2.2节,作者【美】Allen B. Downey,更多章节内容可以访问云栖社区“异步社区”公众号查看

    2.2 曲奇饼问题

    在贝叶斯定理的语境下,可以很自然地使用一个Pmf映射每个假设和对应的概率。

    在曲奇饼问题里面,该假设是B1和B2。在Python中可以使用字符串来表示它们:

    pmf = Pmf() pmf.Set('Bowl1',0.5) pmf.Set('Bowl2',0.5)

    这一分布包含了对每个假设的先验概率,称为先验分布。

    要更新基于新数据(拿到一块香草曲奇饼)后的分布,我们将先验分别乘以对应的似然度。

    从碗1拿到香草曲奇饼的可能性是3/4,碗2的可能性是1/2。

    pmf.Mult('Bowl1',0.75) pmf.Mult('Bowl2',0.5)

    如你所愿,Mult将给定假设的概率乘以已知的似然度。

    更新后的分布还没有归一化,但由于这些假设互斥且构成了完全集合(意味着完全包含了所有可能假设),我们可以进行重新归一化如下:

    pmf.Normalize()

    其结果是一个包含每个假设的后验概率分布,这就是所说的后验分布。

    最后,我们可以得到假设碗1的后验概率如下:

    print pmf.Prob('Bowl 1')

    答案是0.6。你可以从http://thinkbayes.com/cookie.py下载这个例子。欲了解更多信息,请参见前言的“代码指南”。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)