查看原文
其他

贝叶斯公式及其应用

王海华 模型视角 2023-08-15

贝叶斯方法是一种统计推断方法,基于贝叶斯定理,它提供了一种更新已知数据的概率估计的方法。当新数据出现时,贝叶斯方法可以修正或更新先前的概率估计。

贝叶斯定理

贝叶斯定理的数学表示为:

其中:

  • 是在给定 发生的条件下 发生的条件概率 (后验概率)。
  • 是在给定 发生的条件下 发生的条件概率。
  • 发生的先验概率。
  • 发生的边际概率。

历史例子

第二次世界大战期间,贝叶斯方法被用于破解德军的 Enigma 机密码。通过利用先验知识和新 收集的数据,盟军能够估计密码的可能性,并随着更多的数据被收集,逐步改进他们的估计。

生活中的例子

  1. 医污检测:当医生使用某种检测方法(例如 HIV 测试)时,贝叶斯方法可以用来计算在给定 测试结果为正时,病人实际上患有该病的概率。
  2. 垃圾邮件过滤:电子邮件过滤系统使用贝叶斯方法来确定某封电子邮件是否为垃圾邮件,基 于该邮件中出现的词汇和已知的垃圾邮件特征。
  3. 推蒋系统: 例如,Netflix 的电影推葆系统使用贝叶斯方法来推测你可能喜欢的电影,基于你 以前的观看记录和其他用户的喜好。

数学模型

考虑一个简单的医疗检测例子。假设有一种疾病,其在总体中的发病率 (先验概率) 为 。现有一种检测方法,如果一个人患有这种疾病,该检测为阳性的概率是 ; 如果一个人没有这种疾病,该检测为阳性的概率是 。 那么,给定一个阳性检测结果,这个人实际上患有该疾病的概率 (后验概率) 为:

上述公式是贝叶斯方法在医疗检测中的应用,其中 是该人没有患病的先验概率,等于

假设:

  1. 该疾病在总体中的发病率为 (即,1%的人患有此疾病)。
  2. 如果一个人患有这种疾病,检测为阳性的概率是
  3. 如果一个人没有这种疾病,检测误判为阳性的概率是

我们要计算的是,给定一个阳性检测结果,这个人实际上患有该疾病的概率 。 使用上面的贝叶斯公式:

现在,我们用 Python 来计算这个概率。

# Given values
P_D = 0.01  # Probability of having the disease
P_T_given_D = 0.95  # Probability of a positive test if you have the disease
P_T_given_not_D = 0.05  # Probability of a positive test if you don't have the disease
P_not_D = 1 - P_D  # Probability of not having the disease

# Calculate the posterior probability using Bayes' Theorem
P_D_given_T = (P_T_given_D * P_D) / (P_T_given_D * P_D + P_T_given_not_D * P_not_D)
P_D_given_T

结果为:0.16101694915254236

给定一个阳性检测结果,这个人实际上患有该疾病的概率 为约 。 这个结果可能会让很多人感到惊讶,因为尽管测试的准确性很高(95%的阳性真实反映了疾 病,只有 的阳性是误报),但给定阳性结果,一个人真正患有该疾病的概率只有 。这 主要是因为该疾病在总体中的发病率很低(只有1%)。这也强调了贝叶斯方法的价值:它考虑了先验信息(如疾病的总体发病率)来提供更准确的后验概率估计。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存