Q-Q Plot
看一条线,就知道分布
分位数-分位数图(Quantile-Quantile Plot)把样本的分位数 和理论分布的分位数画在同一张图上—— 直线 = 吻合,弯曲 = 偏离。
什么是 Q-Q plot?
Q-Q plot 把两个分布的分位数一一配对画在散点图上,
通过点的形态判断样本分布与理论分布的差异。
实务中最常用的是 Normal Q-Q plot:
用标准正态分布作为参考,判断样本是否服从正态。
排序样本
把样本值从小到大排序:x(1) ≤ x(2) ≤ ... ≤ x(n)
算理论分位
对每个排名 i,计算 pi = (i − 0.375) / (n + 0.25),再求 Φ⁻¹(pi)
标准化样本
把样本 z-score 化:(x − x̄) / s,使其与标准正态可比
画散点
X 轴 = 理论分位,Y 轴 = 样本分位,每个点对应一个观测
读图形
直线 → 服从理论分布;弯曲 → 偏离(具体形状对应特定偏离)
拆解一张 Q-Q plot
把鼠标悬停在右侧任一部件上,左侧图会高亮对应区域。
四大核心部件
简洁,但每一部分都不可少。
六种典型形态,一图一故事
Q-Q plot 的核心技能是从点的形状反推分布特征。 下表 + 下图帮你建立视觉直觉。
① 正态分布 ✓
点沿直线排列 → 数据服从正态
② 右偏 (Lognormal)
右上凸起 → 长右尾
③ 左偏
左下凸起 → 长左尾
④ 重尾 (T 分布)
S 形 → 两端尾部偏厚
⑤ 均匀分布
点呈轻微 S 形 → 尾部偏薄
⑥ 双峰分布
阶梯型 → 存在两个峰
📖 形态解读速查表
| 形状 | 数据特征 | 典型分布 | 建议处理 |
|---|---|---|---|
| 直线 | 完全吻合理论分布 | 正态 / 选定的参考分布 | 放心使用参数检验 |
| 凸形(上凸) | 右偏,长右尾 | Lognormal, Exponential, χ² | log 变换或 Box-Cox |
| 凹形 | 左偏,长左尾 | Beta (反向), 负偏分布 | 镜像或幂变换 |
| S 形 | 重尾,两端都比正态厚 | T 分布, Cauchy | 用稳健统计量 |
| 反 S 形 | 轻尾,集中在中间 | Uniform, Beta(2,2) | 通常无需变换 |
| 阶梯型 | 存在多峰或聚类 | Bimodal, Mixture | 分段建模 |
| 尾部偏离 | 有极端离群值 | Contaminated normal | 剔除 / winsorize |
这些数字怎么算的?
理解 Q-Q plot 的数学基础,能帮你更准确地判断图形。
① 样本分位数
对排序后的样本 x(1) ≤ x(2) ≤ ... ≤ x(n),第 i 个样本点对应的累计概率为:
p_i = (i − 0.375) / (n + 0.25) // 这个公式叫 Blom 近似,比朴素的 i/n 更稳健,避免 ±∞ 边界
② 理论分位数(逆 CDF)
用逆 CDF(quantile function)把概率转回数值:
q_i = Φ⁻¹(p_i) // 对标准正态,Φ⁻¹ 用 Beasley-Springer-Moro 近似: Φ⁻¹(0.975) ≈ 1.96 Φ⁻¹(0.995) ≈ 2.576
③ 参考直线
用一阶矩和二阶矩估参,画一条最贴近散点的直线:
μ̂ = mean(x) // 估计均值 σ̂ = std(x) // 估计标准差 line: Y = (x − μ̂) / σ̂ // z-score 化后斜率为 1 // 实务中通常直接用 Q₁ 和 Q₃ 两个分位点连成参考线(更稳健)
交互式 Q-Q 构建器
切换分布类型 + 调整样本量,左图直方图 + 右图 Q-Q plot 联动更新。
② R 值越接近 1.0 → 越线性
③ 偏度/峰度看具体偏离方向
Detrended Q-Q plot
残差图把样本值减去参考直线,把偏离"放大"在 0 附近。 更容易看出具体的偏离模式(尤其是尾部)。
· 残差呈现某种趋势曲线(U 形 / 倒 U / S) → 系统性偏离
· 残差在某些点突跳 → 数据有聚类或离群
Q-Q plot vs 其他正态性检验
不同的诊断工具各有所长,组合使用效果最佳。
| 方法 | 输出 | 优点 | 缺点 |
|---|---|---|---|
| Q-Q plot | 图形 | 直观,能看出偏离模式 | 主观,无 p-value |
| Shapiro-Wilk 检验 | p-value | 小样本最敏感;客观判断 | 不能诊断偏离模式 |
| Anderson-Darling | p-value + 临界值 | 对尾部偏离敏感 | 同 Shapiro,无图形 |
| Kolmogorov-Smirnov | p-value | 通用(任意分布) | 对正态检验不够敏感 |
| 直方图 + KDE | 图形 | 整体形态一目了然 | bin 宽度影响大,掩盖细节 |
| Boxplot | 图形 | 看 5 数概括 + 离群点 | 看不到具体分布形状 |
💡 最佳实践
不要只用一种方法。
· 先画 Q-Q plot(看模式)
· 再跑 Shapiro-Wilk 或 AD(拿 p-value)
· 检查偏度/峰度(量化偏离)
· 大样本时,Q-Q plot 末尾几个点的偏离几乎必然出现——别过度解读
什么时候该用 Q-Q plot?
它不是万能工具,但在以下场景极为有用。
✅ 检验正态假设
做 t 检验 / ANOVA / 线性回归前,先看残差是否正态。
✅ 选择变换方法
看到右偏 → log;看到左偏 → 平方/立方;选哪个靠 Q-Q plot 决定。
✅ 发现离群值
Q-Q plot 的尾部点若严重偏离参考线,就是潜在离群点。
✅ 比较两组分布
两批样本做 Q-Q plot:直线 = 同分布,弯曲 = 形状不同。
记住这张卡片就够了
点 = 样本 vs 理论的分位对
参考线 = 完全吻合的样子
点贴线 = 服从理论分布
弯向哪边 = 偏离哪种形态
qq plot = compare two distributions through their quantiles, point-by-point