📜  统计-概率贝叶斯定理(1)

📅  最后修改于: 2023-12-03 15:11:41.460000             🧑  作者: Mango

统计-概率贝叶斯定理

简介

统计-概率贝叶斯定理(Bayesian Inference)是基于贝叶斯定理推断未知参数的一种方法。它要求我们先确定一个先验分布(Prior Distribution),并结合观测数据进行推断,得出新的后验分布(Posterior Distribution)。它在数学、统计学、人工智能等领域有广泛应用。

具体步骤
  1. 确定先验分布(先验概率)

    先验分布是指在观测数据之前,已经对参数进行分布的假设。这里的分布是指概率分布。具体的,可以是高斯分布、均匀分布等等。

    先验分布的确定需要具体问题的具体分析,依据实际情况进行选择。

  2. 收集观测数据

    观测数据是指从实验、数据等真实情境中收集到的数据。数据可以是定量的、定性的,也可以是离散的、连续的。

  3. 确定似然函数

    似然函数是指已知观测数据,针对不同的参数值计算得出的数据概率值。不同的数据情况下,其概率密度函数不同。

  4. 确定后验分布(后验概率)

    根据贝叶斯公式计算求解后验分布。后验分布是指在观测数据给定的情况下,参数分布的概率分布。后验分布是先验分布与似然函数的乘积再归一化。

    公式: P(参数|观测数据) = P(观测数据|参数) * P(参数) / P(观测数据)

    上式中,P(参数|观测数据) 为后验分布, P(观测数据|参数) 为似然函数,P(参数) 为先验分布, P(观测数据)为边缘分布。

代码实现

以下是在 Python 中实现一个简单的统计-概率贝叶斯定理的代码示例:

import numpy as np
import matplotlib.pyplot as plt

# 生成数据
np.random.seed(1)
n = 1000
p = 0.7
data = np.random.binomial(1, p, n)

# 先验分布(伯努利分布)
prior_p = np.linspace(0, 1, 100)
prior = np.ones_like(prior_p)
prior[0] = 0
prior[-1] = 0

# 似然函数(二项分布)
like_p = np.linspace(0, 1, 100)
like = like_p ** sum(data) * (1 - like_p) ** (n - sum(data))

# 后验分布(归一化的伯努利-二项分布)
post = like * prior
post /= post.sum() * (prior_p[1] - prior_p[0])

# 画图展示
plt.figure(figsize=(12, 6))
plt.plot(prior_p, prior, label="Prior")
plt.plot(like_p, like, label="Likehood")
plt.plot(prior_p, post, label="Posterior")
plt.axvline(x=p, color="r", linestyle="--", label="True Value")
plt.legend()
plt.show()

上述代码演示了一个简单的例子:假设有 1000 次试验,成功的概率为 0.7。我们通过数据进行统计,来估计真实成功概率。在这个例子中,我们使用了伯努利分布作为先验分布,二项分布作为似然函数。通过计算和归一化,我们得到了后验分布,并与真实值进行对比。可以看到,后验分布在真实值周围高峰出现,说明我们的推断是有一定参考价值的。

结论

通过统计-概率贝叶斯定理,我们可以在有限的数据条件下对未知参数进行推断。我们可以根据实际问题,选取恰当的先验分布和似然函数,并结合观测数据,得到新的后验分布。这种方法在很多领域都有广泛的应用,如图像处理、自然语言处理、模式识别等等。