检验

正态性检验怎么做:Shapiro-Wilk 还是 K-S?结果怎么解读

作者 / 审校:shujufenxi 编辑部·最后审校 2026-07-02

你遇到的问题

论文方法部分要求「先检验正态性」,但 SPSS 同时给出 Kolmogorov-Smirnov 和 Shapiro-Wilk 两个结果,有时一个显著一个不显著;更让你困惑的是,样本一大 p 值几乎必然小于 .05,难道所有数据都不能用 t 检验和方差分析了?

适用场景

在使用 t 检验、方差分析、Pearson 相关、线性回归等参数方法之前,需要评估数据(或残差、差值)是否近似正态;正态性评估应结合统计检验、偏度峰度指标和 Q-Q 图、直方图等图形证据综合判断,而不是只看某一个 p 值。

正确做法

小样本(一般 n < 50,多数软件支持到 n = 2000)优先看 Shapiro-Wilk,它对偏离正态的检验效力更高;若用 K-S 检验,注意总体均值和标准差由样本估计时必须采用 Lilliefors 校正(SPSS 的探索过程默认已校正),未经校正的单样本 K-S 会过于宽松。大样本时正态性检验对微小偏离极其敏感,p < .05 不代表偏离有实际影响,此时应改看偏度和峰度——常用经验标准为偏度绝对值小于 2、峰度绝对值小于 7 可视为近似正态(更保守的标准为偏度绝对值小于 1)——并结合 Q-Q 图判断;当 n 较大(通常大于 30 至 50)时,t 检验和方差分析对轻度偏态本身也较为稳健。只有当数据严重偏态、有极端值或为等级数据时,才考虑改用 Mann-Whitney U、Wilcoxon、Kruskal-Wallis 等非参数方法或对数据做变换。

报告示例:对实验组前测焦虑得分(n = 45)进行正态性检验,Shapiro-Wilk 检验结果为 W = 0.972,p = .324,偏度为 0.41、峰度为 −0.28,Q-Q 图上数据点基本落在对角线附近,可认为数据近似服从正态分布,满足后续 t 检验的前提条件。

常见错误

错误一:不看样本量一律用未校正的单样本 K-S 检验,得出「p > .05 所以正态」的结论,实际上该检验在参数由样本估计时效力很低,小样本应首选 Shapiro-Wilk。错误二:大样本下看到 Shapiro-Wilk 的 p < .05 就机械地放弃参数检验全部改用非参数方法,忽略了大样本检验的过度敏感性和参数方法的稳健性,正确做法是结合偏度峰度与图形证据综合判断。

需要更进一步?

如果你已经有一份正态性检验的输出,但不确定「一个显著一个不显著」时该怎么写、要不要换非参数方法,可以把输出粘贴进统计结果解读器,快速得到规范的判断和中文或英文表述;如果数据形态复杂(严重偏态、多组别、需要变换),建议预约辅导为你的具体数据定方案。

操作步骤

SPSS

  1. 分析→描述统计→探索
  2. 将目标变量选入「因变量列表」
  3. 点击「图」,勾选「含检验的正态图」(Normality plots with tests)
  4. 点击「统计量」,勾选「描述性」以输出偏度与峰度
  5. 确定,在「正态性检验」表读取 Shapiro-Wilk 的 W 值与显著性

R

df <- read.csv('data.csv')
# Shapiro-Wilk 正态性检验
shapiro.test(df$score)
# 偏度与峰度
library(psych)
describe(df$score)[c('skew', 'kurtosis')]

完整示例(模拟数据)

在做参数检验前评估某连续变量是否近似正态分布(标注:模拟数据样例)。

对目标变量的分布进行正态性检验(模拟数据样例,n=120)。Shapiro-Wilk 检验结果不显著,W=0.984,p=.187,未能拒绝正态分布的原假设。偏度为 0.21(SE=0.22),峰度为 −0.35(SE=0.44),绝对值均在 ±1 之内;结合 Q-Q 图可认为该变量近似服从正态分布,满足后续参数检验的前提。

统计量数值
样本量 n120
Shapiro-Wilk W0.984
显著性 p.187
偏度0.21
峰度−0.35

常见疑问

正态性检验用 Shapiro-Wilk 还是 K-S?
小到中样本(n < 50,一般 n ≤ 2000 内)首选 Shapiro-Wilk,检验力更高;K-S 检验较保守、检验力低,若用应加 Lilliefors 校正。
大样本正态性检验总是显著怎么办?
大样本下检验对微小偏离也会显著,此时不必拘泥于 p 值,应结合直方图、Q-Q 图以及偏度、峰度综合判断是否近似正态。
数据不正态还能做参数检验吗?
可以。t 检验、ANOVA 在样本量较大时对正态偏离较稳健(中心极限定理);严重偏态或小样本时才改用非参数检验或数据转换。
正态性检验 p 值大于 0.05 说明什么?
说明没有足够证据拒绝「数据服从正态分布」的原假设,即数据可视为近似正态;注意这并非证明数据一定正态。

参考来源

用统计结果解读器生成结果段落预约辅导

工具输出请自行核对后使用。内容参考见 方法论标准

相关文章

← 返回知识库