贝叶斯统计入门

贝叶斯统计入门

贝叶斯统计是一种以系统和数学严密的方式来推理不确定性的方法。它以18世纪的数学家和哲学家托马斯·贝叶斯命名,他开发了一个定理,提供了一种在收集新数据时更新我们对假设的信念的方式。

在贝叶斯统计中,我们从一个先验概率分布开始,它代表了我们在看到任何数据之前对假设的信念。随着我们收集新数据,我们使用贝叶斯定理来更新这个先验分布,得到一个后验概率分布,它代表了在考虑我们观察到的数据后对假设的信念。

例子

为了举例说明,假设我们想要估计在即将举行的选举中将投票给某位候选人的选民比例。

我们首先有一个先验信念,即将投票给该候选人的选民比例在0到1之间是均匀分布的。随着我们收集新数据,比如一次民意调查的结果,我们可以使用贝叶斯定理来更新这个先验分布,得到一个考虑到我们获得的新信息的后验分布。

在贝叶斯统计中,后验分布通常用于进行预测或决策。例如,我们可以使用后验分布来估计某一事件发生的概率,或者决定是否接受或拒绝一个假设。

贝塔分布

在贝叶斯统计中常用的一个概率分布是贝塔分布。它是一个定义在区间[0,1]上的连续概率分布,因此特别适合建模比例或概率。

贝塔分布有两个参数,通常用alpha和beta表示,它们控制了分布的形状。

贝塔分布是二项分布的共轭先验,这意味着如果我们假设我们的数据是由一个具有固定试验次数和未知成功概率的二项分布生成的,并且我们选择贝塔分布作为我们的先验分布,那么后验分布也将是一个贝塔分布。

示例代码

让我们使用贝塔分布来更新我们对硬币抛掷实验的信念,其概率分布是二项分布。

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import binom, beta

# 定义真实的成功概率
p_true = 0.7

# 从已知 p_true 的二项分布中生成一些数据
n_trials = 100
data = binom.rvs(n_trials, p_true)

# 定义先验贝塔分布的参数
alpha_prior = 10
beta_prior = 10

# 定义后验贝塔分布的参数
alpha_post = alpha_prior + data
beta_post = beta_prior + n_trials - data

# 创建先验和后验贝塔分布
x = np.linspace(01100)
prior = beta(alpha_prior, beta_prior)
posterior = beta(alpha_post, beta_post)

# 绘制先验和后验分布
plt.plot(x, prior.pdf(x), label='先验')
plt.plot(x, posterior.pdf(x), label='后验')
plt.axvline(x=p_true, color='red', linestyle='--', label='真实 p')
plt.legend()
plt.show()

这段代码从一个具有真实成功概率为0.7的二项分布中生成了100次试验。

然后,我们使用alpha=10和beta=10的贝塔分布作为成功概率的先验分布。

我们使用贝叶斯定理将这个先验分布与数据进行了更新,得到的后验分布也是一个贝塔分布。结果图显示了成功概率的先验和后验分布,以及表示真实成功概率的红色垂直线。

从图中可以看出,后验分布向右移动,表示我们现在更有信心硬币偏向正面。

正如图中所示,后验分布向真实的成功概率0.7方向偏移,表明我们已经根据观察到的数据更新了对成功概率的信念。

本文由 mdnice 多平台发布

你可能感兴趣的:(后端)