📑 查看全课大纲(第 25 / 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.整群随机抽样
正态概率纸检验
约 20 分钟
正态概率纸检验法
小象实战讲义 · 数据科学的统计基础
在之前的学习中,无论是参数估计还是假设检验,我们通常都默认总体的分布形式是已知的(例如正态分布)。然而,在实际数据分析中,我们往往需要先确认数据是否真的来自某个假定的分布。本节将介绍一种直观的图形化检验方法——正态概率纸检验法,它通过将数据点绘制在特制的坐标纸上,帮助我们判断数据是否服从正态分布。学完本节,你将掌握这种经典检验方法的核心思想,并能理解其与现代QQ图检验的内在联系。
💡 核心导读
- 问题引入:为什么需要检验分布?回顾参数估计与假设检验的前提假设,引出“分布的检验”这一非参数统计问题。
- 核心思想:如何“拉直”正态分布的累积分布函数曲线?通过坐标变换,将非线性的CDF曲线变为直线,从而构造出“正态概率纸”。
- 实践应用:如何利用样本数据在正态概率纸上绘图?使用次序统计量及其期望值来近似未知的累积分布函数值。
- 现代演变:从手工绘制的概率纸到计算机生成的QQ图。介绍QQ图检验的原理,并展示其与正态概率纸检验在思想上的传承与操作上的便捷性。
分布的检验:从参数到非参数
在前四章中,无论是参数估计还是假设检验,我们都基于一个重要的前提:总体的分布形式是已知的。例如,我们常说测量误差服从正态分布,并在此基础上进行区间估计或假设检验。
然而,我们很少去追问:这个样本真的服从我们假定的分布吗? 例如,测量误差是否真的服从正态分布?这个问题本身就可以表述为一个假设检验问题:
- 原假设 :总体分布 等于某个特定的分布 ,即 。
- 备择假设 :总体分布 不等于 ,即 。
这类检验问题被称为分布的检验,它是非参数检验的一种典型方法。本章我们将学习多种分布的检验方法,而本节首先介绍一种在计算机普及前广泛使用的图形化方法——正态概率纸检验法。
正态概率纸的构造思想
正态概率纸检验法的核心在于,通过一种巧妙的坐标变换,将正态分布的累积分布函数(CDF)曲线“拉直”成一条直线,从而便于我们通过图形进行直观判断。
累积分布函数的图形特点
设随机变量 ,其累积分布函数为: 其中 是标准正态分布的CDF。我们知道,任何随机变量的CDF 都是一条在 区间内单调递增的曲线。当 时,;当 时,。
不同分布的CDF曲线形状各异,但仅凭肉眼在普通直角坐标系中很难区分它们是否为正态分布。因此,我们需要一种方法,能将正态分布的CDF曲线变换成一条直线。
“拉直”曲线的坐标变换
考虑标准正态分布 ,其CDF为 。在普通的 坐标系中,这是一条S形曲线。
现在,我们引入一个与原始观测值 线性相关的变量 : 显然, 关于 是线性的。而 与 是一一对应的(因为 是严格单调函数)。
我们的目标是得到 与某个量之间的直线关系。既然 与 是线性关系,而 与 一一对应,那么我们可以尝试构建一个坐标系:横坐标仍然是 ,但纵坐标的刻度不再是均匀的 值,而是与 对应的 值。
具体做法是:
- 保持横坐标 为均匀刻度。
- 在纵轴上,不标 的值,而是标出与之对应的 值。例如,在纵轴上找到 的位置,标上 ;找到 的位置,标上 ,以此类推。
经过这样的变换后,对于正态分布 ,点 在坐标系中满足: 这正是一条直线!这条直线的斜率是 ,截距是 。
这种纵坐标刻度不均匀(对应于 值)、但能将正态CDF表现为直线的特殊坐标纸,就叫做正态概率纸。由于 在 时趋近于0或1,实际使用的概率纸纵坐标刻度通常只显示从0.01到0.99(或0.001到0.999)对应的 值范围。
正态概率纸的应用步骤
理论上,如果我们有一组来自分布 的样本 ,并且知道 ,那么我们将点 画在正态概率纸上。如果这些点近似在一条直线上,就说明 是正态分布。
但问题在于, 是未知的。我们无法计算 。解决方法依赖于以下概率论结论和次序统计量的性质:
关键结论:若随机变量 的CDF是连续的 ,则随机变量 服从区间 上的均匀分布,即 。
次序统计量的期望:将样本 按从小到大排序,得到次序统计量 。可以证明,随机变量 的期望满足: 这个期望值 可以作为 的一个估计值。
因此,应用正态概率纸检验的具体步骤如下:
- 排序:将观测样本 按从小到大排列,得到次序统计量 。
- 绘图:在正态概率纸上描出 个点,第 个点的坐标为:
- 横坐标:
- 纵坐标:(或将其转换为百分数 )
- 判断:观察这 个点的趋势。
- 如果它们近似分布在一条直线附近,则接受数据来自正态总体的假设。
- 如果它们明显偏离一条直线(如呈曲线形、S形或有明显的拐点),则拒绝正态性假设。
这种方法直观、操作简单,在计算机和统计软件不普及的时代是一种非常实用的工具。
从正态概率纸到QQ图
随着计算机的普及,手工绘制和判断正态概率纸的方法已较少使用,但其核心思想被继承并发展成了更强大的图形工具——分位数-分位数图,简称 QQ图。
QQ图的思想是:比较样本经验分位数与理论分布分位数。如果数据来自该理论分布,那么这两个分位数应该大致相等,在图中就表现为点沿着一条基准线(通常是 直线)分布。
正态QQ图的构造
对于正态性检验,我们使用正态QQ图。其绘制步骤如下:
- 对样本数据排序,得到次序统计量 。
- 计算每个次序统计量对应的理论分位数 。理论分位数是标准正态分布 的值,其中 是一个与序号 有关的概率值。常用的 计算公式有多种,一种稳健的估计是: 对应的理论分位数为 。
- 以理论分位数 为横坐标,以样本次序统计量 为纵坐标,绘制散点图。
- 在图中添加一条参考线,通常是通过第一和第三四分位数点的直线,或者 线(如果数据是标准化的)。
- 判断:如果数据点大致沿着参考线分布,则表明数据服从正态分布;如果点系统地偏离参考线(如上翘、下弯、分散等),则表明数据不服从正态分布。
QQ图比正态概率纸更灵活,可以轻松检验任何分布(只需更换理论分位数的计算方式),并且由计算机自动完成,精度和效率都更高。
下面的Python示例演示了如何生成来自正态分布的数据并绘制其QQ图。
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
# 设置随机种子以确保结果可复现
np.random.seed(321)
# 1. 模拟生成100个来自标准正态分布 N(0,1) 的随机样本
sample_size = 100
normal_sample = np.random.randn(sample_size)
# 2. 使用scipy的probplot函数绘制正态QQ图
# probplot函数会自动计算理论分位数和样本分位数,并绘图
fig, ax = plt.subplots(figsize=(8, 6))
# dist='norm' 指定检验的分布为正态分布, plot=ax 指定绘图轴
res = stats.probplot(normal_sample, dist='norm', plot=ax)
# 3. 为图形添加标题和网格,使其更美观
ax.set_title('正态QQ图检验示例 (n=100)', fontsize=14, pad=15)
ax.set_xlabel('理论分位数 (Standard Normal)', fontsize=12)
ax.set_ylabel('样本分位数', fontsize=12)
ax.grid(True, linestyle='--', alpha=0.6)
# 显示图形
plt.tight_layout()
plt.show()
# 4. (可选)进行简单的统计检验作为对比
# 使用Shapiro-Wilk检验(一种常用的正态性检验)
shapiro_stat, shapiro_p = stats.shapiro(normal_sample)
print(f"Shapiro-Wilk检验结果:")
print(f" 统计量 W = {shapiro_stat:.4f}")
print(f" P值 = {shapiro_p:.4f}")
if shapiro_p > 0.05:
print(" 结论:在0.05显著性水平下,不能拒绝正态性原假设。")
else:
print(" 结论:在0.05显著性水平下,拒绝正态性原假设。")📝 动手练一练
理解纵坐标:在正态概率纸检验中,为什么我们使用 作为纵坐标值 的估计,而不是直接使用 或 ?尝试从均匀分布次序统计量的角度解释。 参考答案:根据概率积分变换,若 且 连续,则 。对于来自 的样本 ,其第 个次序统计量 服从 Beta 分布,即 。该分布的期望为 。因此,用 估计 是无偏的。而 的期望是 ,存在偏差; 则是一种近似,但并非无偏估计。
模拟与判断:使用Python生成两组数据:一组来自正态分布 ,另一组来自自由度为5的 分布。分别绘制它们的正态QQ图,观察并描述两者在图形上的主要区别。
import numpy as np import scipy.stats as stats import matplotlib.pyplot as plt np.random.seed(123) n = 50 # 生成数据 data_normal = np.random.randn(n) data_t = np.random.standard_t(df=5, size=n) # 绘制QQ图 fig, axes = plt.subplots(1, 2, figsize=(12, 5)) stats.probplot(data_normal, dist='norm', plot=axes[0]) axes[0].set_title('来自 N(0,1) 的数据QQ图') axes[0].grid(True, linestyle='--', alpha=0.6) stats.probplot(data_t, dist='norm', plot=axes[1]) axes[1].set_title('来自 t(5) 的数据QQ图') axes[1].grid(True, linestyle='--', alpha=0.6) plt.tight_layout() plt.show()参考答案:正态分布数据的QQ图点基本围绕参考线随机分布,两端略有轻微波动属正常。而 分布(重尾分布)数据的QQ图会呈现明显的“S”形或“两端翘起”的形状:样本分位数在两端(尤其是右端)的理论分位数更大,意味着实际数据的极端值比正态分布预测的更多、更“重”,这是重尾分布的典型特征。
本章小结
本节我们开启了非参数统计中“分布的检验”这一重要篇章,并重点学习了其历史上一项重要的图形化工具——正态概率纸检验法。
要点回顾:
- 问题本质:分布的检验旨在判断样本数据是否来自某个预设的分布(如正态分布),这是一个典型的非参数假设检验问题。
- 核心创新:正态概率纸通过非均匀的纵坐标刻度变换,巧妙地将正态累积分布函数的S形曲线“拉直”为一条直线,极大方便了视觉判断。
- 实践方法:利用次序统计量及其期望 来估计未知的CDF值,从而在概率纸上描点判断。
- 现代发展:QQ图继承了概率纸“比较分位数”的核心思想,通过计算机自动计算和绘图,成为当今更常用、更强大的分布检验图形工具。
行动清单:
- 思想溯源:理解“将曲线拉直以方便比较”这一思想,它不仅用于正态性检验,也是许多数据变换和模型诊断的基础。
- 工具迁移:在下次需要检查数据正态性时,不要只依赖数值型检验(如Shapiro-Wilk),尝试绘制一张QQ图,它能更直观地揭示偏离正态的具体模式(如偏态、重尾等)。
- 动手验证:使用编程语言(如Python的
statsmodels.graphics.gofplots.qqplot或scipy.stats.probplot)对你手头或模拟的数据集进行QQ图分析,并尝试解释图形的含义。
— 小象教研组
- 第5章课件:分布的检验(PDF · 3.8MB)下载
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问