3 统计推断的基本概念
在上一篇中,我们探讨了贝叶斯学习的背景,强调了在实际应用中,如何将不确定性纳入我们的决策过程。接下来,我们将进入统计推断的基本概念,这是贝叶斯学习的重要组成部分,尤其在我们应用贝叶斯定理时需要深入理解的部分。
统计推断的核心目标
统计推断的核心目标是基于样本数据来推断关于总体(母体)的一些特征或参数。我们通常希望从有限的观测数据中推断出更为普遍的规律。因此,统计推断可以分为两类:点估计和区间估计。
-
点估计:使用样本数据计算出总体参数的单一值来作为估计。例如,我们可以使用样本均值来估计总体均值。设样本为 ,则样本均值 为:
-
区间估计:给出一个区间范围,该范围内可能包含总体参数的值。例如,我们使用信赖区间来提供总体均值的可能范围,通常以样本均值和标准误差构造。对于95%的置信区间,我们可以表示为:
其中, 是标准正态分布的临界值, 是样本标准差, 是样本大小。
例子:均值的点估计与区间估计
假设我们对一所大学的学生的考试成绩感兴趣,我们随机抽取了10名学生的成绩如下:
68, 72, 75, 70, 64, 80, 82, 77, 60, 74
-
首先,计算样本均值:
-
然后,计算样本标准差 ,如下:
若计算得到 ,则95%的置信区间为:
这表明我们有95%的信心认为总体均值会落在68.30到75.70之间。
贝叶斯统计与经典统计的对比
传统的统计推断方法通常采用频率派(frequentist)观点,而贝叶斯统计则采用主观概率的观点。经典统计推断关注的是通过重复取样来获得参数的分布,而贝叶斯统计则关注于更新先验知识与观察数据整合后的后验分布。
- 在经典统计中,对于总体均值的点估计,我们仅仅得到一个值,而忽略了我们的不确定性。
- 但在贝叶斯框架下,我们会结合先验分布来推断,使得每一个估计值都有相应的后验分布。这种方式让我们能够更好地刻画不确定性。
案例代码:贝叶斯更新
以下是一个简单的Python代码示例,展示了如何使用贝叶斯方法进行均值的推断:
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
# 先验分布参数
mu_prior = 70
sigma_prior = 10
# 观察数据
data = [68, 72, 75, 70, 64, 80, 82, 77, 60, 74]
n = len(data)
mu_sample = np.mean(data)
sigma_sample = np.std(data, ddof=1)
# 后验分布的均值与方差
mu_posterior = (sigma_prior**2 * mu_sample + sigma_sample**2 * mu_prior) / (sigma_prior**2 + sigma_sample**2)
sigma_posterior = np.sqrt(1 / (1/sigma_prior**2 + 1/sigma_sample**2))
# 绘制先验和后验分布
x = np.linspace(50, 90, 100)
prior = stats.norm(mu_prior, sigma_prior).pdf(x)
posterior = stats.norm(mu_posterior, sigma_posterior).pdf(x)
plt.plot(x, prior, label='Prior Distribution', color='blue')
plt.plot(x, posterior, label='Posterior Distribution', color='red')
plt.legend()
plt.title('Prior vs Posterior Distribution')
plt.xlabel('Test Scores')
plt.ylabel('Density')
plt.show()
上述代码首先定义先验分布的均值和标准差,然后通过观测数据计算后验分布,并绘制出先验分布与后验分布的对比图。这种可视化可以直观地看到贝叶斯推断如何通过数据更新我们的信念。
小结
在本篇中,我们讨论了统计推断的基本概念,包括点估计与区间估计的定义及其计算方式,以及经典统计与贝叶斯统计之间的主要差异。这些基础知识为我们后续深入学习贝叶斯定理的推导奠定了基础。接下来,我们将详细推导贝叶斯定理,并讨论其在统计推断中的核心作用。