教程 ·

正态性检验完整教程 — 参数检验前的必要前提,用 AI 一句话完成

Shapiro-Wilk、K-S 检验、QQ 图、偏度峰度一次讲清。AI 自动输出多种正态性诊断结果,给出"正态/不正态"结论与数据变换建议,附论文级 APA 报告句式,是做 t 检验、ANOVA 前不可跳过的前提检验。

做 t 检验或 ANOVA 之前,审稿人或导师问你"验证过正态性了吗?"你怎么回答?这篇教程讲清正态性判断的五种方法,给出 AI 一句话指令,以及可直接贴进论文的 APA 报告句式。

痛点:正态性检验为什么容易被忽略又无法回避

绝大多数参数检验都有一个前提假设:数据(或残差)服从正态分布。这个假设在教材里写得很清楚,但在实际操作中常被跳过——直到审稿人或导师发来一条评审意见:

  • "请提供数据的正态性检验结果(如 Shapiro-Wilk 检验)"
  • "方差分析假设正态性,但未见验证,请补充"
  • "数据是否满足参数检验前提?请报告偏度与峰度"
  • "分布图显示右偏,请说明是否做了正态性检验及处理方法"

这时候再回头补检验,往往发现 SPSS 里要在"分析 > 描述统计 > 探索"里找半天,导出结果又不知道哪个数字是重点,更不知道怎么在论文里写这一段。

正态性检验是参数检验的前提检验(assumption check)。它不是独立的分析目的,而是在做 t 检验、方差分析、Pearson 相关等参数检验之前,用来确认"数据可以用参数检验"的必要步骤。一旦正态性不满足,就需要数据变换或改用非参数检验——这个决策链条是完整学术报告不可绕过的一部分。

ChatSRS 用一句话即可输出完整的正态性诊断报告,包含统计检验、QQ 图、直方图、偏度峰度值,并给出方法建议。


正态性判断:五种方法及其适用场景

没有单一的"最好"方法。下面五种方式各有侧重,标准做法是组合使用。

方法一:Shapiro-Wilk 检验(小样本首选)

适用范围:样本量 n <= 50(部分软件支持到 n = 2000)

Shapiro-Wilk 检验(简称 S-W 检验)是目前公认在小样本下检验力最强的正态性统计检验。它通过计算 W 统计量来衡量数据与正态分布的拟合程度:W 越接近 1,越接近正态;W 显著偏低(且 p < .05),则拒绝正态性假设。

优点:小样本下灵敏,是 SPSS、R、统计教材的首推方法。

局限:当 n > 200 时,检验力过强,即使轻微偏态也会给出 p < .05 的结论,容易误判。

方法二:Kolmogorov-Smirnov 检验(大样本场景)

适用范围:样本量 n > 50,或需与 Lilliefors 校正版结合使用

K-S 检验比较数据的累积分布函数与正态分布的最大差距(D 统计量)。在 SPSS 的"Explore"模块中默认输出的是 Lilliefors 校正后的 K-S 检验,对大样本更稳健。

注意:大样本下 K-S 检验同样过于敏感,p < .05 并不代表实际偏差严重。大样本更应依赖图形诊断和偏度峰度数值。

方法三:QQ 图(正态概率图)

QQ 图(Quantile-Quantile Plot)将数据的实际分位数与理论正态分布的分位数对比绘图。判断标准:数据点越集中在对角线(45 度参考线)附近,正态性越好;点系统性地偏离对角线则提示偏态或厚尾。

QQ 图的优势是直观,特别是在大样本下,统计检验不可信时,QQ 图是最主要的判断依据。其劣势是需要主观判断,没有 p 值的明确截止。

方法四:偏度(Skewness)与峰度(Kurtosis)

偏度衡量分布的对称性:

  • 偏度 = 0:完全对称
  • 偏度 > 0:正偏(右尾长)
  • 偏度 < 0:负偏(左尾长)

峰度衡量分布的"尖峰程度"(以正态分布为基准,超额峰度 = 峰度 - 3):

  • 超额峰度 = 0:与正态分布一致
  • 超额峰度 > 0:尖峰厚尾(leptokurtic)
  • 超额峰度 < 0:扁平薄尾(platykurtic)

阈值参考(不同文献略有差异,以下为常用学术标准):

指标可接受范围轻度偏态严重偏态
偏度绝对值< 1.01.0 - 2.0> 2.0
超额峰度绝对值< 3.03.0 - 7.0> 7.0

偏度和峰度的优势是给出量化数值,方便报告;局限是只描述分布特征,不含统计显著性。

方法五:直方图目视检查

将数据绘制为直方图,叠加正态曲线,直观判断形状。严重偏态、双峰分布、截断分布等问题在直方图上一目了然。直方图通常与 QQ 图搭配,作为图形诊断组合。


用 AI 一句话完成正态性检验

打开 chatsrs.com,上传数据后,输入以下指令(根据需要选择简版或详版):

简版:快速前提检验

"对数据中的 anxiety_score、satisfaction、reaction_time 三个变量做正态性检验。输出每个变量的 Shapiro-Wilk W 值和 p 值、偏度和峰度,以及正态/不正态的结论,并给出后续分析方法建议。"

详版:完整论文级诊断

"对以下变量做完整的正态性诊断:anxiety_score、satisfaction、reaction_time。 请输出:

  1. 描述统计(n、均值、标准差、最小值、最大值)
  2. 偏度和峰度(含标准误),并判断是否在可接受范围(偏度 |S| < 2,超额峰度 |K| < 7)
  3. Shapiro-Wilk 检验(W 值、p 值)
  4. QQ 图(每个变量一张)
  5. 直方图(叠加正态曲线)
  6. 综合结论:每个变量是否满足正态性,推荐使用参数检验还是非参数检验
  7. 不正态时,建议对数变换还是其他处理方式"

配合 t 检验或 ANOVA 的前提核查指令

"在做独立样本 t 检验之前,先对两组的焦虑得分(anxiety_score)分别做 Shapiro-Wilk 正态性检验。若两组均满足正态性(p > .05),继续做独立样本 t 检验;若有一组不正态,改用 Mann-Whitney U 检验。请输出正态性检验结果和选择依据。"


输出结果怎么读

以 anxiety_score(n = 45)为例,ChatSRS 的典型输出如下:

输出 1:描述统计与偏度峰度

表 1  anxiety_score 描述统计(n = 45)

均值     标准差    最小值    最大值    偏度       超额峰度
8.24     3.17      2         18        0.43(SE=0.35)   -0.31(SE=0.70)

判断:偏度 0.43 < 2,超额峰度 |-.31| < 7,分布形状可接受。

输出 2:Shapiro-Wilk 检验结果

Shapiro-Wilk 正态性检验

变量              n      W        p
anxiety_score    45     0.972    .352
satisfaction     45     0.941    .023
reaction_time    45     0.887    .001

结论:
  anxiety_score:W = 0.972, p = .352 > .05,未拒绝正态性,满足正态性假设 [OK]
  satisfaction:W = 0.941, p = .023 < .05,拒绝正态性,不满足正态性假设 [X]
  reaction_time:W = 0.887, p = .001 < .05,拒绝正态性,不满足正态性假设 [X]

各指标解读

指标含义如何看
W 统计量Shapiro-Wilk 统计量,取值 0 到 1越接近 1 越正态;W < 0.900 通常提示明显偏态
p 值拒绝"数据来自正态分布"这一零假设的概率p > .05:未拒绝正态性(可视为正态);p < .05:拒绝正态性(不满足假设)
偏度 SE偏度的标准误偏度 / SE > 2 时,偏态统计显著(粗略参考)
综合判断W 与 p 的联合结论两者一致时结论明确;不一致时(大样本常见),图形诊断优先

关于大样本的重要提示

当 n > 100 时,Shapiro-Wilk 对微小偏差极度敏感,p < .05 不代表偏差具有实际意义。此时应以 QQ 图和偏度峰度数值为主要判断依据,而非 p 值本身。

  • QQ 图点基本落在参考线上 + 偏度 |S| < 1 + 超额峰度 |K| < 3:即使 S-W p < .05,数据也接近正态,参数检验仍稳健
  • QQ 图严重偏离 + 偏度 > 2:确实偏态,考虑数据变换或非参数检验

不正态怎么办

确认数据不满足正态性后,有三种出路:

出路一:数据变换(保留参数检验框架)

分布特征推荐变换指令示例
正偏(右尾长)对数变换 log(x)"对 reaction_time 做自然对数变换后重新检验正态性"
正偏(中等)开方变换 sqrt(x)"对 reaction_time 做平方根变换"
正偏(严重)Box-Cox 变换"对 reaction_time 做 Box-Cox 变换,找最优 lambda"
负偏(左尾长)反射后对数变换"对数据做反转变换:max(x)+1-x,再取对数"

注意:变换后必须重新做正态性检验确认变换有效,且在论文方法节说明"对 X 变量进行了对数变换以满足正态性假设"。

出路二:改用非参数检验(不要求正态分布)

原参数检验非参数替代
独立样本 t 检验Mann-Whitney U 检验
配对样本 t 检验Wilcoxon 符号秩检验
单因素 ANOVAKruskal-Wallis 检验
重复测量 ANOVAFriedman 检验
Pearson 相关Spearman 秩相关

详见 非参数检验完整教程

出路三:大样本时援引中心极限定理

当每组 n > 30(多数文献采用此阈值,部分严格标准要求 n > 50)时,根据中心极限定理,样本均值的分布趋近正态,t 检验和 ANOVA 对轻度正态性违反具有较强稳健性。此时可在论文方法节注明:

"尽管 Shapiro-Wilk 检验拒绝了正态性(W = XX, p = .0XX),考虑到每组样本量均 n > 30,根据中心极限定理,独立样本 t 检验在轻度偏态下仍保持稳健性(see Field, 2018),因此继续采用参数检验。"


论文里怎么报告(APA 7th)

这是很多人不知道怎么写的部分。以下给出正态性检验的标准 APA 学术报告句式。

场景一:数据满足正态性(继续做参数检验)

报告模板:

在进行独立样本 t 检验之前,对两组的 [变量名] 分别进行 Shapiro-Wilk 正态性检验。
结果显示,实验组(W = [值], p = [值])和对照组(W = [值], p = [值])的数据均
未拒绝正态性假设(p > .05),满足参数检验前提。

示例:

在进行独立样本 t 检验之前,对两组的焦虑得分分别进行 Shapiro-Wilk 正态性检验。结果显示,实验组(W = 0.972, p = .352)和对照组(W = 0.961, p = .218)的数据均未拒绝正态性假设(p > .05),满足独立样本 t 检验的正态性前提。

场景二:数据不正态,改用非参数检验

报告模板:

Shapiro-Wilk 正态性检验结果显示,[变量名] 在 [组别/整体] 中不满足正态性假设
(W = [值], p = [值]),因此采用 [非参数检验名称] 替代 [原参数检验名]。

示例:

Shapiro-Wilk 正态性检验结果显示,疼痛评分在三组中均不满足正态性假设(方案 A:W = 0.887, p = .001;方案 B:W = 0.901, p = .004;对照组:W = 0.893, p = .002),因此采用 Kruskal-Wallis 检验替代单因素方差分析。

场景三:大样本下违反正态性但保留参数检验

报告模板:

Shapiro-Wilk 正态性检验结果显示数据拒绝正态性(W = [值], p = [值]);
然而,鉴于各组样本量均在 [n] 人以上(偏度 = [值],峰度 = [值],
QQ 图未见明显系统性偏离),依据中心极限定理,参数检验在此条件下仍保持稳健性,
故继续使用 [t 检验/ANOVA](Tabachnick & Fidell, 2019)。

场景四:对数变换后满足正态性

报告模板:

反应时间数据(偏度 = [值])右偏明显,对其进行自然对数变换(ln 变换)。
变换后数据满足正态性假设(W = [值], p = [值]),后续参数检验基于对数变换值进行,
结论仍以原始均值呈现。

APA 7th 报告注意事项:

  • W 值精确到三位小数,p 值精确到三位小数(p < .001 时写 p < .001)
  • 同时检验多个变量时,可用括号列举每个变量的结果,或制成三线表
  • 正态性检验必须在方法节(Method - Data Analysis 小节)或结果节开头报告,不要放在注释里
  • 若使用偏度和峰度作为补充判断依据,同样需要报告数值

常见问题 FAQ

Q:p > .05 还是 p < .05 代表数据正态?

A:p > .05 代表数据通过了正态性检验(更准确说是"未能拒绝正态性假设")。Shapiro-Wilk 的零假设是"数据来自正态分布",p < .05 意味着以 .05 的显著水平拒绝零假设,即数据偏离正态;p >= .05 则不拒绝,视为满足正态性。这个方向与很多人的直觉相反,请特别注意。

Q:大样本(n > 200)时 Shapiro-Wilk 几乎总是 p < .05,这正常吗?应该怎么判断?

A:完全正常,这是统计检验力的必然结果。大样本下,Shapiro-Wilk 能检测到极微小的偏差,而这些偏差对参数检验的实际影响可以忽略不计。此时不要单靠 p 值,应当组合判断:(1) QQ 图是否系统性偏离对角线(是否存在明显弯曲);(2) 偏度绝对值是否 < 1,超额峰度绝对值是否 < 3;(3) 直方图形状是否接近钟形。三项均满足时,即使 S-W p < .05,参数检验仍适用并具有稳健性。

Q:要不要对每个变量都检验正态性?

A:不需要对数据集里所有变量无差别地全检一遍。只检验参数检验的因变量(或在回归中只检验残差)。具体规则:(1) t 检验和 ANOVA:检验每组的因变量;(2) 相关和回归:检验连续变量(或更精确地,检验回归残差);(3) 自变量(如分组变量、类别变量)不需要检验正态性;(4) 描述统计阶段可以顺便检验,但不强制要求。

Q:正态性检验的"正态"是什么变量才需要正态?连续变量、有序变量都要检验吗?

A:正态性假设针对的是连续变量(Continuous Variable)——即真正的区间尺度(interval scale)或比率尺度(ratio scale)数据,如身高、体重、反应时间、量表总分。**有序变量(如单题 Likert 分项)**理论上不假设正态分布,应使用非参数检验。实践中,当有序变量有 5 个或以上等级且分布接近对称时,很多期刊允许当作连续变量处理,但需在方法节说明并做正态性检验验证其合理性。类别变量(如性别、分组)从不需要检验正态性。

Q:方差分析(ANOVA)的正态性假设指的是整体数据正态还是每组都要正态?

A:每组分别满足正态性,而不是全体数据合并后正态(合并后多组叠加往往出现多峰,不能代表组内分布)。因此,做 ANOVA 正态性检查时,应对每个组的因变量分别做 Shapiro-Wilk 检验,并分别报告各组的 W 和 p 值。

Q:ChatSRS 的正态性检验和 SPSS 的结果会不一样吗?

A:在同一数据上,Shapiro-Wilk 的 W 值和 p 值与 SPSS 结果一致(两者均基于 Royston 1995 算法)。偏度和峰度的定义在不同软件间略有出入(主要是峰度是否减 3 以得到超额峰度),ChatSRS 报告超额峰度(excess kurtosis = kurtosis - 3),与 SPSS 默认输出一致。


小结

正态性检验不是分析目的,而是参数检验的前提核查。做好这一步,后续的 t 检验、方差分析才站得住脚;跳过这一步,审稿人的修改意见就会找上门来。

判断正态性没有单一黄金标准,而是组合决策:

  • 小样本(n <= 50):Shapiro-Wilk p > .05 是最重要的判据
  • 中等样本(50 < n < 200):S-W + QQ 图结合判断
  • 大样本(n >= 200):QQ 图 + 偏度峰度数值优先于 p 值
  • 不正态时:优先考虑数据变换或非参数检验,大样本可援引中心极限定理

chatsrs.com 输入一句自然语言指令,即可获得:

  • Shapiro-Wilk W 值和 p 值(全变量批量输出)
  • 偏度和峰度(含 SE 和判断标准)
  • QQ 图和直方图(图形诊断)
  • 综合结论:正态/不正态,以及后续推荐方法
  • 可直接粘贴进论文方法节的 APA 7th 报告文字

相关阅读


本文首发于 ChatSRS 官方博客。如有问题或反馈,欢迎在 ChatSRS 站内 [用户中心 -> 帮助与反馈] 联系我们。