ARTICLE

Shapiro-Wilk 检验

Shapiro-Wilk 检验 (Shapiro-Wilk Test) Shapiro-Wilk 检验(Shapiro-Wilk Test)是一种在统计学中用于检验样本数据是否来自正态分布的经典方法。由Samuel Sanford Shapiro和Martin Wilk于1965年提出,该检验以其在小样本情况下的优良检验效能而著称,被认为是检验正态性假设最强

浏览 0 更新 2025-11-07

Shapiro-Wilk 检验 (Shapiro-Wilk Test)

Shapiro-Wilk 检验(Shapiro-Wilk Test)是一种在统计学中用于检验样本数据是否来自正态分布的经典方法。由Samuel Sanford ShapiroMartin Wilk于1965年提出,该检验以其在小样本情况下的优良检验效能而著称,被认为是检验正态性假设最强大的方法之一。

检验的基本原理

Shapiro-Wilk 检验的核心思想是计算样本数据的有序统计量(Order Statistics)与其在正态分布假设下期望值的线性相关性。如果数据来自正态分布,那么样本的次序统计量与标准正态分布的期望次序统计量之间应呈现出近似线性关系

检验统计量 W W 的计算公式为:

W=(i=1naix(i))2i=1n(xixˉ)2W = \frac{\left( \sum_{i=1}^{n} a_i x_{(i)} \right)^2}{\sum_{i=1}^{n} (x_i - \bar{x})^2}

其中:

  • x(i) x_{(i)} 是样本中第 i i 次序统计量(即排序后第 i i 小的观测值)。
  • xˉ \bar{x} 是样本均值(Sample Mean)。
  • ai a_i 是一组由正态分布的期望次序统计量的协方差矩阵计算得到的权重系数,其具体取值依赖于样本量 n n 和顺序位置 i i

W W 统计量的取值范围在 0 0 1 1 之间。当 W W 值越接近 1 1 ,表明样本数据与正态分布的拟合程度越高,即越没有理由拒绝样本来自正态分布的零假设。反之,若 W W 值显著偏小,则表明样本分布与正态分布存在显著偏离,从而拒绝零假设。

适用条件与样本量限制

Shapiro-Wilk 检验最初是为样本量 n n 3 3 50 50 之间的小样本场景设计的。虽然该检验在样本量小于 2000 2000 时仍具有一定的参考价值,但业界普遍认为其最佳适用范围是 n50 n \leq 50

一个重要特点是,Shapiro-Wilk 检验对样本量 n n 的依赖性较强:当 n n 值较大时,即使是微小的正态性偏离也可能导致 p p 值显著小于 0.05 0.05 ,从而错误地拒绝零假设。因此,在应用该检验时需结合样本量的大小来综合判断结果的统计学意义与实际意义。

与其他正态性检验的对比

在正态性检验的谱系中,存在多种常用的替代方法,它们各有优劣:

  • Kolmogorov-Smirnov 检验(KS 检验):适用于检验样本是否来自某一特定的完全指定的分布。但在检验正态性时,由于需要估计均值和方差两个参数,KS 检验的检验效能通常低于 Shapiro-Wilk 检验,且对尾部差异不够敏感。
  • Anderson-Darling 检验(AD 检验):是对 KS 检验的改进,给予分布尾部更大的权重。在检验正态性时,其检验效能与 Shapiro-Wilk 检验相当,尤其在检测分布尾部偏差方面表现更优。
  • Jarque-Bera 检验(JB 检验):基于样本的偏度(Skewness)和峰度(Kurtosis)来检验正态性。该方法适用于大样本场景,但在小样本情况下稳定性较差,检验效能不如 Shapiro-Wilk 检验。
  • D'Agostino-Pearson 检验:综合了偏度和峰度的信息,对样本量中等以上的情况较为有效。
  • Q-Q 图P-P 图:属于可视化图形诊断方法,通过直观观察样本分位数与理论分位数是否沿直线分布来判断正态性。图形法虽然无法提供精确的 p p 值,但能揭示数据偏离正态性的具体模式,如分布偏斜或存在异常值。

总体而言,在小样本情况下,Shapiro-Wilk 检验被认为是首选的正式检验方法;而在大样本下,推荐结合图形诊断与其他检验方法综合判断。

实际应用中的注意事项

在使用 Shapiro-Wilk 检验时,研究人员需要注意以下几点:

第一,该检验异常值(Outliers)敏感。如果数据中存在极端值,W W 统计量的值会显著下降,可能导致正态性假设被错误地拒绝。因此,在正式检验之前,应使用箱线图或其他方法识别并处理异常值。

第二,Shapiro-Wilk 检验的零假设是"数据来自正态分布"。这与许多其他统计检验(如 t 检验)的零假设逻辑一致。如果 p p 值大于显著性水平(通常设为 0.05 0.05 ),则不能拒绝正态性假设,但这并不等同于"证明"数据来自正态分布。

第三,在现实的数据分析中,完全符合正态分布的数据是罕见的。对于中等以上样本量的数据集,即使数据只是轻微偏离正态分布,Shapiro-Wilk 检验也可能给出显著的结果。因此,不应仅凭该检验的 p p 值来绝对判断数据是否"可用"。更好的做法是结合 Q-Q 图、直方图以及偏度和峰度的具体数值来综合评估。

在软件中的实现

Shapiro-Wilk 检验在主流统计软件中均有成熟的实现。在 R 语言中,使用 \texttt{shapiro.test()} 函数即可直接计算 W W 统计量和对应的 p p 值。在 Python 的 \texttt{scipy.stats} 库中,\texttt{shapiro()} 函数提供了相同的功能。在 SPSS、Stata 和 SAS 等商业统计软件中,该检验通常作为"探索性数据分析"或"正态性检验"模块的标准输出内容。

值得注意的是,当样本量较大时,R 语言的 \texttt{shapiro.test()} 函数最多支持 n5000 n \leq 5000 的样本输入,这是由权重系数 ai a_i 的计算精度限制所决定的。对于超出此范围的样本,建议使用 Anderson-Darling 检验或可视化诊断作为替代。

总结

Shapiro-Wilk 检验是正态性检验领域的经典工具,以其在小样本下的高检验效能赢得了广泛应用。作为统计学中判断数据正态性的重要手段,它在学术研究、数据分析与质量控制等方面发挥着不可替代的作用。尽管在样本量增大后其适用性有所下降,但在小样本分析、回归分析的残差诊断以及各种参数检验的前提验证中,它仍然是不可或缺的一环。理解其原理、适用条件及局限性,有助于研究人员在数据分析中做出更为准确的判断。