贝叶斯推理是一种找出变量分布的方法(例如高度 h 的分布)。贝叶斯推理的有趣特征是,统计学家(或数据科学家)可以利用他们的先验知识作为改进我们对分布情况的猜测的手段。贝叶斯推理依赖于贝叶斯统计的主要公式:贝叶斯定理。贝叶斯定理接受我们对分布的假设,即新的数据,并输出更新后的分布。对于数据科学,贝叶斯定理通常表示如下:
现在,我们的先验并不完全是上面的表达式。相反,它是我们对每个参数 μ和 σ 如何分布的假设。请注意,这就是贝叶斯统计的定义特征的体现:我们如何找到这些参数的分布?有趣的是,我们根据先验知识“编造”它们。如果我们的先验知识很少,我们可以选择一个非常无信息的先验,以免使过程产生偏差。例如,我们可以定义平均高度 μ 介于 1.65 m 和 1.8 m 之间。如果我们想要一个无信息的先验,我们可以说μ 沿着该区间均匀分布。相反,如果我们认为平均高度在某种程度上偏向于更接近 1.65 m 而不是 1.8 m 的值,我们可以定义 μ 服从 beta 分布,由“超”参数 α 定义和β。我们可以看看下面这些选项:
import scipy.stats as stsimport numpy as npimport matplotlib.pyplot as plt mu = np.linspace(1.65, 1.8, num =50) test = np.linspace(0, 2) uniform_dist = sts.uniform.pdf(mu)+1 uniform_dist = uniform_dist/uniform_dist.sum() beta_dist = sts.beta.pdf(mu, 2, 5, loc =1.65, scale =0.2) beta_dist = beta_dist/beta_dist.sum() plt.plot(mu, beta_dist, label ='Beta Dist') plt.plot(mu, uniform_dist, label ='Uniform Dist') plt.xlabel("Value of $\mu$ in meters") plt.ylabel("Probability density") plt.legend()
请注意 y 轴如何为我们提供“概率密度”,即我们认为真正的 μ是 x 轴上的概率密度。另外,请注意,β 分布和均匀分布会导致我们对 μ的值可能得出的不同结论。如果我们选择均匀分布,我们就表示我们不倾向于判断 μ是否接近我们范围内的任何值,我们只是认为它位于其中的某个位置。如果我们选择 beta 分布,我们相当确定 μ的“真实”值介于 1.68 m 和 1.72 m 之间,如蓝线峰值所示。