教程 ·
正态性检验完整教程 — 参数检验前的必要前提,用 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.0 | 1.0 - 2.0 | > 2.0 |
| 超额峰度绝对值 | < 3.0 | 3.0 - 7.0 | > 7.0 |
偏度和峰度的优势是给出量化数值,方便报告;局限是只描述分布特征,不含统计显著性。
方法五:直方图目视检查
将数据绘制为直方图,叠加正态曲线,直观判断形状。严重偏态、双峰分布、截断分布等问题在直方图上一目了然。直方图通常与 QQ 图搭配,作为图形诊断组合。
用 AI 一句话完成正态性检验
打开 chatsrs.com,上传数据后,输入以下指令(根据需要选择简版或详版):
简版:快速前提检验
"对数据中的 anxiety_score、satisfaction、reaction_time 三个变量做正态性检验。输出每个变量的 Shapiro-Wilk W 值和 p 值、偏度和峰度,以及正态/不正态的结论,并给出后续分析方法建议。"
详版:完整论文级诊断
"对以下变量做完整的正态性诊断:anxiety_score、satisfaction、reaction_time。 请输出:
- 描述统计(n、均值、标准差、最小值、最大值)
- 偏度和峰度(含标准误),并判断是否在可接受范围(偏度 |S| < 2,超额峰度 |K| < 7)
- Shapiro-Wilk 检验(W 值、p 值)
- QQ 图(每个变量一张)
- 直方图(叠加正态曲线)
- 综合结论:每个变量是否满足正态性,推荐使用参数检验还是非参数检验
- 不正态时,建议对数变换还是其他处理方式"
配合 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 符号秩检验 |
| 单因素 ANOVA | Kruskal-Wallis 检验 |
| 重复测量 ANOVA | Friedman 检验 |
| 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 报告文字
相关阅读
- t 检验完整教程 — 独立/配对/单样本用 AI 一句话完成 — 正态性满足后,独立样本和配对样本 t 检验的完整操作与 APA 报告
- 非参数检验完整教程 — Mann-Whitney/Wilcoxon/Kruskal-Wallis — 正态性不满足时的替代检验,四种方法全覆盖
- ANOVA 方差分析全套教程 — 三组及以上的均值比较,正态性和方差齐性双重前提检验
- 毕业论文统计分析救星 — 从数据清洗到最终报告的完整 AI 流程,含前提检验节点
本文首发于 ChatSRS 官方博客。如有问题或反馈,欢迎在 ChatSRS 站内 [用户中心 -> 帮助与反馈] 联系我们。