📑 查看全课大纲(第 20 / 41 节)
- 1.数理统计中的基本概念
- 2.统计量与抽样分布(一)
- 3.统计量与抽样分布(二)
- 4.次序统计量
- 5.充分统计量与完备统计量
- 6.统计中常用分布族(一)
- 7.统计中常用分布族(二)
- 8.矩估计
- 9.极大似然估计
- 10.无偏估计与一致最小方差无偏估计(一)
- 11.无偏估计与一致最小方差无偏估计(二)
- 12.完备统计量
- 13.CR不等式及有效估计
- 14.相合估计
- 15.置信区间
- 16.正态总体参数的置信区间
- 17.大样本置信区间
- 18.Fisher显著性检验
- 19.正态总体参数的假设检验(一)
- 20.正态总体参数的假设检验(二)
- 21.似然比检验
- 22.Neyman-Pearson基本引理
- 23.一致最优势检验
- 24.无偏检验与一致最优势无偏检验
- 25.正态概率纸检验
- 26.拟合优度检验
- 27.列联表的独立性检验
- 28.Kolmogorov检验
- 29.正态性检验
- 30.Bayes统计
- 31.先验分布的确定
- 32.Bayes统计推断
- 33.统计判决理论
- 34.Minimax准则
- 35.非参数统计
- 36.符号检验
- 37.Wilcoxon符号秩检验
- 38.抽样调查
- 39.简单随机抽样
- 40.分层随机抽样
- 41.整群随机抽样
正态总体参数的假设检验(二)
约 42 分钟
正态总体参数的假设检验(二):方差与两总体比较
小象实战讲义 · 数据科学的统计基础
在上一节学习了单正态总体均值的检验方法后,本节将深入探讨单正态总体方差的检验,并扩展到两个正态总体参数的比较。方差是衡量数据波动性的核心指标,而比较两个总体(如比较两种工艺的精度、男女某项指标的差异)则是数据分析中的常见任务。掌握这些检验方法,你将能够科学地判断一个过程的稳定性是否达标,或者两个群体在某个指标上是否存在显著差异。
💡 核心导读
本节你将掌握:
- 单正态总体方差的检验:学习在总体均值已知和未知两种情况下,如何利用卡方分布对方差进行双边和单边检验。
- 两正态总体均值的比较:掌握在方差已知、方差未知但相等、以及一般情况(大样本或小样本)下,比较两个总体均值的U检验、T检验及其应用。
- 两正态总体方差的比较:学习利用F分布检验两个总体方差是否相等(即方差齐性检验),这是进行两样本T检验的重要前提。
- 假设检验与区间估计的对偶关系:理解拒绝域与置信区间之间的内在联系,深化对统计推断统一性的认识。
- Python实战:使用
scipy.stats模块快速实现各类正态总体参数的假设检验。
单正态总体方差的假设检验
设 。我们关心总体方差 的假设检验问题。与均值检验类似,我们根据总体均值 是否已知,分为两种情况讨论。
情况一:总体均值 已知
当 已知时, 的一个良好点估计为 。根据抽样分布定理,在原假设 成立时,有: 其中 表示自由度为 的卡方分布。
基于此统计量,我们可以构造以下三类检验:
双边检验:
- 检验统计量:
- 拒绝域:
- 思想:当估计的方差与假设方差之比过小或过大时,拒绝原假设。由于卡方分布非对称,通常两侧各取 的面积。
左侧单边检验:
- 检验统计量:同上。
- 拒绝域:
- 思想:备择假设是方差变小,因此当统计量取值过小时拒绝 。
右侧单边检验:
- 检验统计量:同上。
- 拒绝域:
- 思想:备择假设是方差变大,因此当统计量取值过大时拒绝 。
注:与均值检验类似, 这类检验的拒绝域与右侧单边检验相同,且其第一类错误概率 ,因此在实际中常被归为同一类处理。
情况二:总体均值 未知
当 未知时,我们用样本均值 代替,并使用样本方差 来估计 。此时有: 检验的构造逻辑与 已知时完全一致,只需将自由度从 替换为 ,并用 替换公式中的 。
双边检验:
- 检验统计量:
- 拒绝域:
单边检验:拒绝域的构造原则同上,对应使用自由度为 的卡方分位数。
两正态总体参数的假设检验
在实际研究中,经常需要比较两个总体的差异。设两个相互独立的样本: 我们关心两个总体均值 和方差 的比较。
两正态总体均值的比较
核心问题是检验 。根据对方差信息的了解程度,分为以下几种情况:
情况一:两总体方差已知 ( 已知)
利用样本均值之差 的分布。在原假设 下,有:
- 双边检验 ():拒绝域为 。
- 右侧单边检验 ():拒绝域为 。
- 左侧单边检验 ():拒绝域为 。
情况二:两总体方差未知但相等 (,但 未知)
此时需要联合估计共同的方差 。定义合并样本方差: 其中 和 分别是两个样本的样本方差。在原假设 下,有:
- 双边检验:拒绝域为 。
- 单边检验:拒绝域方向与U检验类似,使用 分布的分位数。
情况三:一般情况 (两总体方差未知且不一定相等)
这是更符合实际的情形,称为 Behrens-Fisher 问题。
- 大样本情形 ( 都较大):由中心极限定理,仍可使用 U统计量,用样本方差 代替总体方差: 检验方法与情况一相同。
- 小样本情形:可采用 Welch’s t检验。其检验统计量与上述大样本U统计量形式相同,但将其分布近似为 分布,自由度 由以下公式估计(Satterthwaite 近似): 即 。然后按 检验确定拒绝域。
两正态总体方差的比较 (方差齐性检验)
在比较两个总体均值之前,通常需要先检验其方差是否相等 (),即方差齐性检验。这是选择正确均值检验方法(等方差T检验 vs. Welch’s t检验)的前提。
根据均值 是否已知,构造不同的统计量。最常见的是均值未知的情形。
情况:两总体均值未知
利用样本方差 和 。由抽样分布定理: 且两者独立。因此,可以构造 F统计量: 在原假设 下,,故: 其中 表示第一自由度为 ,第二自由度为 的F分布。
- 双边检验 ():拒绝域为 。
- 注:。
- 右侧单边检验 ():拒绝域为 。
- 左侧单边检验 ():拒绝域为 。
假设检验与区间估计的对偶关系
讲师在视频中多次强调,假设检验的拒绝域与区间估计的置信区间存在紧密的对偶关系。以单正态总体均值 的检验(方差已知)为例:
- 双边检验 的接受域为:。
- 的 置信区间为:。
可以发现, 落在 的置信区间内 等价于 假设检验接受 。这种关系在方差检验、两总体均值差检验中同样成立。这体现了Neyman统计思想的一致性:区间估计是在控制置信度下寻找最短区间,而假设检验是在控制第一类错误下寻找最有功效的检验。
📝 动手练一练
单总体方差检验:某精密仪器生产零件,要求直径的方差 。现从一批产品中抽取10个零件测量直径(单位:mm):
[10.01, 10.02, 9.99, 10.00, 10.01, 9.98, 10.02, 10.00, 9.99, 10.01]假设直径服从正态分布,在显著性水平 下,能否认为这批零件的方差符合要求?(即检验 )参考答案: 首先计算样本方差 。经计算,,。 检验统计量 。 右侧检验拒绝域为 。 由于 ,未落入拒绝域,故没有充分证据拒绝原假设,可以认为这批零件的方差符合要求。
两总体均值与方差检验:为比较两种教学方法(A和B)的效果,分别随机抽取两组学生进行测试。A组10人,得分样本均值为85,样本标准差为6;B组12人,得分样本均值为80,样本标准差为5。假设测试成绩均服从正态分布。
- (a) 首先,在 水平下,检验两种方法对应的成绩方差是否相等(方差齐性)。
- (b) 根据(a)的结论,在 水平下,检验两种教学方法的平均成绩是否有显著差异。
参考答案: (a) 方差齐性检验(双边)。 。 拒绝域为 或 。查表得 ,。 由于 ,未落入拒绝域,可以认为两总体方差无显著差异。 (b) 基于(a),采用等方差的两样本T检验。 。 。 双边检验拒绝域为 。 由于 ,落入拒绝域,故拒绝原假设,认为两种教学方法的平均成绩有显著差异。
import numpy as np
from scipy import stats
# 设置随机种子保证可复现
np.random.seed(321)
# 1. 模拟单总体方差检验
print("=== 单总体方差检验模拟 ===")
sigma0_sq = 0.0004
n = 10
# 假设真实方差为0.00035,小于标准0.0004
true_sigma = np.sqrt(0.00035)
sample = np.random.normal(loc=10.00, scale=true_sigma, size=n)
print(f"样本数据: {np.round(sample, 4)}")
sample_var = np.var(sample, ddof=1) # 样本方差,ddof=1
print(f"样本方差 S^2 = {sample_var:.6f}")
chi2_stat = (n-1) * sample_var / sigma0_sq
print(f"卡方检验统计量 = {chi2_stat:.4f}")
chi2_critical = stats.chi2.ppf(0.95, df=n-1) # 右侧检验临界值
print(f"卡方临界值 (alpha=0.05, df={n-1}) = {chi2_critical:.4f}")
if chi2_stat > chi2_critical:
print("结论: 拒绝H0,方差不符合要求。")
else:
print("结论: 不拒绝H0,方差符合要求。")
# 2. 模拟两总体均值与方差检验
print("\n=== 两总体均值与方差检验模拟 ===")
# 生成模拟数据:A组方差稍大,但均值更高
mu_a, sigma_a = 85, 6
mu_b, sigma_b = 80, 5
n_a, n_b = 10, 12
sample_a = np.random.normal(mu_a, sigma_a, n_a)
sample_b = np.random.normal(mu_b, sigma_b, n_b)
print(f"A组样本均值: {np.mean(sample_a):.2f}, 样本标准差: {np.std(sample_a, ddof=1):.2f}")
print(f"B组样本均值: {np.mean(sample_b):.2f}, 样本标准差: {np.std(sample_b, ddof=1):.2f}")
# (a) 方差齐性检验 (F检验)
var_a = np.var(sample_a, ddof=1)
var_b = np.var(sample_b, ddof=1)
f_stat = var_a / var_b if var_a >= var_b else var_b / var_a # 确保F>=1,方便查表
df1, df2 = (n_a-1, n_b-1) if var_a >= var_b else (n_b-1, n_a-1)
f_critical_upper = stats.f.ppf(0.95, df1, df2) # 双边检验上侧临界值
print(f"\n(a) 方差齐性检验 (F检验):")
print(f" F统计量 = {f_stat:.4f} (已调整使F>=1)")
print(f" 上侧临界值 F_0.05({df1},{df2}) = {f_critical_upper:.4f}")
if f_stat > f_critical_upper:
print(" 结论: 拒绝方差齐性假设 (方差不相等)")
var_equal = False
else:
print(" 结论: 不拒绝方差齐性假设 (可认为方差相等)")
var_equal = True
# (b) 两总体均值检验
print(f"\n(b) 两总体均值检验:")
# 使用scipy内置函数进行检验,它会自动根据var_equal选择方法
t_stat, p_val = stats.ttest_ind(sample_a, sample_b, equal_var=var_equal)
print(f" T检验统计量 = {t_stat:.4f}")
print(f" 双边检验p值 = {p_val:.4f}")
if p_val < 0.05:
print(" 结论: p值 < 0.05,拒绝原假设,认为两总体均值有显著差异。")
else:
print(" 结论: p值 >= 0.05,不拒绝原假设,认为两总体均值无显著差异。")
# 验证对偶关系:均值差的置信区间与假设检验
alpha = 0.05
if var_equal:
# 等方差,计算合并方差置信区间
sp_sq = ((n_a-1)*var_a + (n_b-1)*var_b) / (n_a+n_b-2)
se = np.sqrt(sp_sq * (1/n_a + 1/n_b))
df = n_a + n_b - 2
else:
# 异方差 (Welch's t)
se = np.sqrt(var_a/n_a + var_b/n_b)
df = (var_a/n_a + var_b/n_b)**2 / ((var_a/n_a)**2/(n_a-1) + (var_b/n_b)**2/(n_b-1))
t_critical = stats.t.ppf(1-alpha/2, df)
mean_diff = np.mean(sample_a) - np.mean(sample_b)
ci_lower = mean_diff - t_critical * se
ci_upper = mean_diff + t_critical * se
print(f"\n均值差 {mean_diff:.2f} 的 {100*(1-alpha)}% 置信区间: [{ci_lower:.2f}, {ci_upper:.2f}]")
print("若该区间包含0,则对应均值检验的p值将大于0.05(不拒绝H0)。")本章小结
本节系统学习了正态总体参数的假设检验中关于方差比较和两总体比较的核心内容。
要点回顾:
- 单正态总体方差检验:基于卡方分布,需区分总体均值是否已知,关键在自由度的选择( 或 )。
- 两正态总体均值比较:是数据分析的基石。根据方差信息,选择正确的检验方法:
- 方差已知 → U检验(Z检验)。
- 方差未知但相等 → 等方差T检验(Student’s t-test)。
- 方差未知且不等 → 大样本用U检验,小样本用Welch’s t检验。
- 两正态总体方差比较:基于F分布的方差齐性检验,是进行等方差T检验前的必要步骤。
- 内在联系:假设检验的接受域与参数的置信区间存在对偶关系,这统一了统计推断的区间估计与假设检验两大分支。
行动清单:
- 明确检验路径:面对两样本均值比较问题时,养成先做方差齐性检验,再根据结果选择相应均值检验方法的习惯。
- 善用工具验证:使用
scipy.stats模块中的ttest_ind、levene、bartlett、chi2等函数快速完成计算,并与手动推导结果相互验证。 - 理解输出内涵:不仅关注检验的“显著与否”,更要理解p值的含义、置信区间的宽度,并结合实际问题背景做出合理解释。
— 小象教研组
- 第4章课件:假设检验(PDF · 7.6MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问