跳到正文
马克工具箱

↑ ↓ 选择,回车打开,Esc 关闭。

正态性检验(Shapiro–Wilk / K-S)

做 t 检验、方差分析之前,老师和审稿人常问「数据服从正态分布吗」。把一列或几列数据从 Excel、SPSS 粘贴进来,马上得到 Shapiro–Wilk 和 K-S 两种检验、偏度峰度,以及直方图和 Q-Q 图,一次看清。

在浏览器本地运行,输入的内容和文件都不会上传

每个变量(或每组)一列,从 Excel、SPSS 粘贴;第一行可以写变量名。

正态性检验

变量nShapiro–Wilk Wp 值K-S Dp 值结论
A150.8790.04600.1810.2062不服从正态分布(p < 0.05)
B150.9941.00000.0760.9995可以认为服从正态分布

结论按 Shapiro–Wilk 判断,大多数样本量下它比 K-S 检验更灵敏。SPSS 里 K-S 的 p 大于 0.2 时显示为「.200*」。

描述统计

变量平均数标准差中位数偏度标准误峰度标准误
A3.741.6633.31.3340.581.5421.121
B10.2531.12110.2-0.0390.58-0.2981.121

正态分布的偏度和峰度都是 0。偏离 0 超过约两倍标准误,说明数据偏斜或尾部偏厚。

论文写法W(15) = 0.879, p = .046
1.97.9
直方图和拟合的正态曲线
理论分位数观测值
正态 Q-Q 图:点贴近直线说明大致正态

Shapiro–Wilk 与 R 的 shapiro.test() 和 SPSS 一致(3~5000 个数);K-S 用 Lilliefors 校正,同 SPSS。样本很大时一点点偏离也会显著,要结合 Q-Q 图看。

这个工具好用吗?

使用步骤

  1. 每个变量或每组数据一列,粘贴进来;第一行可以写名称。
  2. 看「正态性检验」表:Shapiro–Wilk 的 p ≥ 0.05,可以认为服从正态分布。
  3. 再看偏度、峰度和 Q-Q 图,点大致落在直线上为好。
  4. 方差分析要每组分别检验,所以每组放一列。

参数说明

Shapiro–Wilk
适合 3~5000 个数,是检验正态性最常用、也比较灵敏的方法;W 越接近 1 越像正态分布。
K-S(Lilliefors)
用样本的平均数和标准差代替总体值,所以要做 Lilliefors 校正;SPSS「探索」里的 K-S 就是这种。
偏度和峰度
正态分布都是 0。偏度为正说明右边拖尾,峰度为正说明尾部比正态厚。偏离 0 超过两倍标准误,可以认为不对称或尾部偏厚。

示例

默认数据有两列,每列 15 个数:

变量 Shapiro–Wilk W p K-S D p 偏度 峰度
A 0.879 0.046 0.181 0.206 1.33(标准误 0.58) 1.54(标准误 1.12)
B 0.994 1.000 0.076 1.000 −0.04 −0.30

A 列的 Shapiro–Wilk p = 0.046 < 0.05,不服从正态分布;偏度 1.33 超过两倍标准误,右边拖尾(有一个 7.9 明显偏大),Q-Q 图右上角的点翘离直线。K-S 检验 p = 0.21,没检出来,这正是 K-S 比较保守的例子。B 列各项都接近正态。

论文写法:W(15) = 0.879, p = .046。

常见问题

两种检验结论不一样,听哪个?

一般以 Shapiro–Wilk 为准,它在大多数样本量下更灵敏。K-S 检验比较保守,容易得出「正态」。

样本很大,一点点偏离就显著了?

是的。几百个数据时,检验对很小的偏离也敏感,而 t 检验、方差分析在大样本下对非正态本来就比较稳健。这时更多看 Q-Q 图和偏度峰度。

不服从正态分布怎么办?

样本较小又明显偏态时,改用非参数检验:两组用 Mann–Whitney U,配对用 Wilcoxon 符号秩,多组用 Kruskal–Wallis;也可以先做对数变换再检验。

回归分析要检验哪个的正态性?

检验残差,不是原始变量。把回归计算器算出的残差粘贴过来检验。

隐私说明

本工具完全在浏览器中运行,文件和文本都在你的设备上处理,不会上传到我们的服务器。

相关工具