☰
非参数统计复习:以秩为主线,理清符号检验与秩和检验
2026/9/30 10:28:22 网站建设 项目流程

非参数统计这门课,期末复习的时候很容易让人抓狂:方法一大堆,符号检验、秩和检验、H检验、Friedman检验……名字长得像,适用条件还各有各的说法,死记硬背到后面全混成一锅粥。其实这门课没有想象中那么散,所有方法背后就藏着一条主线——秩。只要把秩的思想吃透,再按数据结构把方法排成队,整门课就能串成一张网。这篇内容就是按这个思路整理的归纳笔记,覆盖概念、方法对比、易混点拆解和复习策略,适合考前集中过一遍,也适合平时学完用来搭框架。

1. 先搞懂“非参数”到底非在哪:概念理清了,后面才不会背乱

1.1 参数统计和非参数统计的分界线不是“有没有参数”

很多教材开篇就讲“参数统计假定总体服从正态分布,非参数统计不依赖总体分布”,话是没错,但考试一结合具体问题就容易懵。我自己的理解是:分界线在于你推断的对象是总体参数,还是更一般的分布特征。

参数统计干的事,是假定数据来自某个已知形式的分布(最常见的就是正态分布),然后对分布的参数做推断。比如t检验推断的是均值μ,F检验推断的是方差比,这些都属于参数推断。换句话说,分析之前你已经给总体“画好了像”,只是不知道五官的具体尺寸,统计推断就是去估计这些尺寸。

非参数统计恰恰反过来:我不假设总体长什么样,或者只做非常弱的假设(比如连续、对称、独立),推断的目标往往是分布的位置(中位数)、分布的形状、变量之间的关联性、随机性这类更“笼统”的特征。它不针对正态分布的μ做推断,而是处理“两组数据是不是来自同一个分布”“变量之间有没有单调相关”这类问题。

所以“非参数”这三个字,准确说不是“模型里没有参数”,而是推断目标通常不是具体参数。理解了这一点,你再看符号检验、秩和检验这些方法,就明白它们为什么不需要正态性假定了——因为它们根本不推断μ,而是推断中位数、分布位置、分布等同性这些更一般的量。

1.2 秩的思想:非参数方法为什么能“免分布”

非参数方法能绕开分布假定的核心工具就是秩。什么叫秩?把一组数据从小到大排序,每个观测值在序列中的位置序号就是它的秩。比如数据是2、5、9,排序后得到秩1、2、3。如果数据里有两个相同的值,比如2、2、9,那两个2的秩都是1.5(占1、2两个位置取平均)。

这个看似简单的变换,实际上丢掉了很多信息——你不再知道观测值之间的具体差距,只知道谁大谁小。举个直观例子:数据A是2、5、9,数据B是2、5、100,排序之后秩完全一样。秩的这个“只保留大小关系”的性质,恰恰给了它稳健性。因为无论总体是什么分布,只要数据是连续的,秩的分布规律就是确定的,跟总体分布形式无关。这就解释了为什么非参数方法可以在不了解总体分布的情况下做推断。

但丢掉信息也有代价:如果数据确实来自正态分布,用秩替代原始值会损失效率。统计上有个概念叫渐近相对效率,非参数方法相对t检验等参数方法通常在95%左右,也就是说在大样本下大概需要多5%左右的数据才能达到同样的检验功效。不过这个损失换来的好处很实在——遇到严重偏态分布、存在离群值、样本量很小、或者数据本身是有序分类(等级资料)的情况,参数方法要么不敢用,要么用起来不稳健,非参数方法反而更靠谱。这也是为什么医学、生态、市场调研这些领域特别爱用非参数方法。

1.3 什么时候必须用非参数:先判断再选方法

期末考试的简答题和案例分析题里,经常给一组数据让你选方法。判断要不要上非参数,可以按下面几条快速过一遍:

  • 样本量小,没法验证正态性,或者正态性检验的p值已经显著拒绝正态,这时参数检验的前提不成立。
  • 数据里有明显离群值,均值会被拉跑,而基于秩的方法天然抗离群值。
  • 数据本身是顺序变量,比如满意度“很差、较差、一般、较好、很好”,这类数据没有精确数值意义,只能用等级比较。
  • 样本量足够大时,根据中心极限定理均值检验通常还算稳健,但具体课程考试里一般默认按正态性存疑处理。

复习时只要先判断“能不能用参数方法”,再用“不能用/不放心”就落到非参数这一侧,方法选择的大方向就不会错。

2. 一张总表与三条主线:把零散方法装进同一个框架

2.1 常用方法总表:对号入座,快速定位

非参数统计的“方法库”看着庞大,实际按数据结构来分就清晰了。下面这张表我从设计思路上梳理了一遍,把单样本、两样本、多样本、相关、分布拟合几类场景下最常考的方法都放进去了,复习的时候可以直接对照使用场景来定位。

数据结构检验目的方法名称原假设统计量核心逻辑
单样本(连续)中位数是否等于某值符号检验H0:M = M0只统计大于/小于M0的个数,用二项分布
单样本(连续/对称)中位数是否等于某值Wilcoxon符号秩检验H0:M = M0对差值取绝对值后排秩,再按符号加秩和
两配对样本差值的总体中位数是否为0Wilcoxon符号秩检验H0:差值中位数 = 0配对差值的绝对值排秩,带符号求和
两独立样本两总体分布位置是否相同Wilcoxon秩和检验(等价Mann-Whitney U检验)H0:两分布位置相同混合排序,计算一组的秩和,或U统计量
多样本(完全随机)多个总体分布位置是否相同Kruskal-Wallis H检验H0:各组分布位置相同全部混合排秩,按组计算秩和的平方和
多样本(随机区组/配对)多个处理效应是否相同Friedman检验H0:各处理效应相同每个区组内独立排秩,对处理求和
两个连续变量是否存在单调相关Spearman秩相关、Kendall tauH0:ρ = 0(无相关)对两变量分别排秩,计算秩的相关
分类变量拟合优度/独立性卡方检验H0:分布符合理论/两变量独立实际频数与期望频数的偏差
单样本分布是否来自某分布Kolmogorov-Smirnov检验H0:样本来自指定分布经验分布函数与理论分布函数的最大距离

注意,表里“符号检验”和“Wilcoxon符号秩检验”在单样本和配对样本里都出现,原理相同,只是数据结构表述不一样。考试时看到“配对”关键词,优先想到符号检验和符号秩检验这两个。

2.2 三条主线:位置、分布、关联

表看完了,还要把表“压缩”成自己能复述的逻辑链条。我复习时习惯把非参数方法归纳成三条主线:

位置检验线:单样本中位数 → 两配对样本差值 → 两独立样本 → K个独立样本 → K个相关样本。这一条线解决的都是“分布位置是否相同”的问题,方法顺着数据结构的复杂度一路升级:符号检验、Wilcoxon符号秩检验、Wilcoxon秩和检验、Kruskal-Wallis检验、Friedman检验。记这条线,实际上是记“数据结构升级 → 方法名字升级”的对应关系。

分布与随机性检验线:关心样本是否来自某个指定分布(KS检验)、分类数据是否符合理论比例(卡方拟合优度检验)、两个分类变量是否独立(卡方独立性检验)、序列是否随机(游程检验)。这条线解决的是“分布形态和结构”的问题,关键词是拟合优度、独立性、随机性。

关联性检验线:两个连续/顺序变量之间是否有单调关系,用Spearman秩相关和Kendall tau;两个分类变量之间是否有关联,用卡方检验。这条线解决的是“变量之间有没有关系”的问题。

这三条线不是孤立的,它们共享同一个底层动作:把原始数据变成秩、符号或频数,然后做统计推断。考试时给你一个场景,你先判断它属于哪条线,再落到具体方法,基本不会跑偏。

2.3 方法名背后的“近亲关系”要提前分清

非参数统计里有一堆“一鱼多吃”的方法,名字不同、计算等价,考试最容易在选择题和判断题里挖坑。

Wilcoxon符号秩检验有两副面孔:单样本版和配对样本版。配对版本质上是把每对数据的差值先算出来,然后对差值做单样本符号秩检验。也就是说,配对数据的检验降维之后就是单样本检验。

Mann-Whitney U检验和Wilcoxon秩和检验更是同一个方法的两个名字,前者是美国统计学家Mann和Whitney提出的U统计量形式,后者是Wilcoxon提出的秩和形式,两者在数学上完全等价,SPSS输出的是Mann-Whitney U,R的wilcox.test函数输出的W其实是秩和统计量。这一点我后面专门用一节细讲,因为不少人在软件实操上栽过跟头。

这三种“近亲关系”如果不提前梳理,考试时看到等价形式会以为自己记了两个方法,白白增加记忆负担。

3. 复习时最容易混的三组对比:不拆开讲清楚,做题必错

3.1 符号检验 vs Wilcoxon符号秩检验:只比方向还是加上了距离

这两兄弟都用于单样本或配对样本的中位数检验,很多同学分不清什么时候用哪个,考试也常考两者的功效差异。

符号检验的思路极其朴素:把每个观测值与待检验的中位数M0比较,只记录差值的正负号。如果原假设成立(中位数等于M0),正号和负号的个数应该大体相当,正号个数服从二项分布。所以符号检验只用到了“差值的方向”,完全不管差值有多大。这个特点让它非常稳健,但也让它比较“浪费”:两个差值是+0.1和+100,在符号检验看来都一样,都是“+”,信息利用率很低。

Wilcoxon符号秩检验则往前走了一步:它先把差值取绝对值,按绝对值大小排序得到秩,然后再给秩加上原来的正负号,最后对带符号的秩求和。差值越大,秩越高,对统计量的贡献越大。这样既保留了方向信息,又利用了差值大小的顺序信息,功效自然更高。

正因为符号检验对数据的要求最低(甚至不需要对称性),它适用面最广;Wilcoxon符号秩检验虽然效率更高,但理论上要求差值分布是对称的(否则秩和检验统计量的分布性质会受影响)。期末复习时记这么一句就够了:数据看起来基本对称,优先用Wilcoxon符号秩检验;数据严重偏态或者只有方向信息,用符号检验。两者在小样本时查对应临界值表,大样本时都用正态近似。

3.2 Mann-Whitney U检验和Wilcoxon秩和检验:同一个方法的两个马甲

这是非参数统计里最经典的“等价方法”。Wilcoxon秩和检验是1945年Wilcoxon提出的,Mann-Whitney U检验是1947年提出的,两者计算路径不同,但检验结果完全等价。考试里可能这题叫Wilcoxon秩和检验,下题叫Mann-Whitney U检验,本质上考的是同一个东西。

它们的核心思路是:把两组数据混合在一起,从小到大统一排序得到秩。如果两总体位置相同,两组的秩和应该比较接近;如果一组整体偏大,它的秩和就会明显偏大。秩和检验直接考察其中一组样本的秩和R1,而Mann-Whitney U统计量可以看作对“一组中每个观测值在另一组中排在其前面的个数”的计数,两者之间可以互相换算:

U = n1n2 + n1(n1 + 1)/2 − R1

这个公式考试可能会要求记。n1、n2是两组样本量,R1是第一组的秩和。算出U再对比临界值,或者在大样本下转成Z统计量。如果两边样本量一大一小,U统计量的定义方向要小心,有的教材取两组中较小的那个U值去做检验,本质无差别。

实际操作中最大的坑在R语言里:wilcox.test返回的W值并不是教材上的秩和R1,而是Mann-Whitney的U统计量(或者经过修正的秩和),不同版本的R输出还不完全一样。我当年第一次跑wilcox.test,看到W=2025,怎么都对不上手算的秩和,后来才发现对应关系。建议考试复习时以教材为准手算一遍,软件只是验证工具,别让输出结果把你绕晕。

3.3 Kruskal-Wallis H检验与单因素方差分析,以及事后比较

多样本场景下最常考的是Kruskal-Wallis H检验,它是单因素方差分析的非参数替代版。它的做法是:把K组数据全部混合排序,得到所有观测值的秩,然后对每一组求秩和,再构造H统计量:

H = [12 / (N(N+1))] × Σ(Rj² / nj) − 3(N+1)

其中N是总体本量,Rj是第j组的秩和,nj是第j组的样本量。如果组间分布位置没有差异,各组的平均秩应该差不多,H统计量偏小;差异大时H统计量偏大,拒绝原假设。当每组样本量都不太小时,H统计量近似服从自由度K−1的卡方分布,这也是考试里最常用的临界值判断方式。

KW检验和方差分析的关系,简单说是“把原始值的F检验换成秩的F检验”。数据满足正态性和方差齐性时,方差分析功效更高;数据偏态、存在离群值或方差差异很大时,KW检验更稳。但KW检验显著只能说明“至少有一组与其他组位置不同”,它不会告诉你具体哪两组不同。要回答这个问题,需要做事后两两比较,常用Nemenyi检验或Dunn检验。

这里期末考试特别容易踩的坑是:KW检验显著之后,有人直接拿两组配对做Mann-Whitney U检验。这样做的错误在于多重比较会膨胀一类错误概率——本来单个检验假阳性率是5%,做10次两两比较,至少出现一次假阳性的概率就窜到接近40%了。正确做法是用专门的事后比较方法,或者用Bonferroni校正把显著性水平调低。如果你复习时间有限,记住这句话:“KW只告诉你有没有差异,说清楚哪里有差异要靠事后检验。”

3.4 Friedman检验:随机区组设计里那个容易漏掉的非参数方法

Friedman检验处理的是“K个相关样本”的问题,对应的是随机区组设计或重复测量设计的数据。比如评价三种减肥方法的效果,请了b个受试者,每个受试者都接受三种方法(按随机顺序),这时数据是按区组(受试者)分组的,组内数据相关,不能用KW检验。

Friedman的算法是:在每个区组内部独立地给K个处理排秩(每个区组内秩为1到K),然后对每个处理求秩和Rj,再计算:

Q = [12 / (bK(K+1))] × ΣRj² − 3b(K+1)

其中b是区组数,K是处理数。原假设是各处理效应相同,统计量近似服从自由度K−1的卡方分布。这个检验的特点是“组内排序、组间汇总”,它利用了区组结构,避免了区组之间的个体差异带来的干扰——每个受试者的绝对水平不一样,但按区组内排序之后,这种个体差异就被消除掉了。

考试里Friedman最容易被忽略,因为它出现的频率不如KW检验高,但一旦考到“随机区组”“配伍设计”“重复测量”这些关键词,基本就是Friedman。判断口诀就是:K个相关样本 → Friedman检验;K个独立样本 → Kruskal-Wallis检验。拿了这道题就是送分题,丢了就太可惜。

4. 期末复习的可操作策略:计算流程、答题套路与避坑清单

4.1 所有检验共用一套解题流水线

复习到后期你会发现,非参数统计的题目其实有固定的解题套路,跟方法的名字关系不大。我把这条流水线总结成三步:

第一步,写原假设和备择假设。符号检验、符号秩检验、秩和检验、KW检验,原假设都可以写成“分布位置相同”或“中位数等于某值”,备择假设看题目是单侧还是双侧。很多同学丢分不是因为不会算,而是备择假设写错方向,导致后面查表判断全错。看清题目问的是“是否大于”“是否小于”还是“是否不同”,再决定用单侧还是双侧。

第二步,做秩变换,构造统计量。把原始数据排序、赋值秩、按组分块求和,代入对应公式。这一步要特别注意“结”的处理:数据有相同取值时,用平均秩。比如两个并列第2名,秩都是2.5。处理结的时候如果不取平均,统计量会偏大,容易错误拒绝原假设。

第三步,判断显著性,下结论。小样本查临界值表,大样本用正态近似或卡方近似,算出检验统计量后与临界值比较,或者计算p值与显著性水平比较。最后一定要落到实际问题的语言上:“在0.05显著性水平下,尚不能认为两种治疗方法的效果存在差异。”不要只写“接受原假设”就结束,把结论翻译回业务场景才是得分点。

这个三步流程对符号检验、Wilcoxon符号秩、秩和检验、KW检验、Friedman检验全都适用。考前拿两道完整计算题走一遍流程,比干瞪教材管用得多。

4.2 一个完整的手算例子:两独立样本秩和检验

光说流程太抽象,我用一个简化例子把计算过程完整走一遍,大家对照着复习。

题:两组数据A:4、6、7;B:2、5、9。检验两组位置是否相同,显著性水平α=0.05,双侧检验。

第一步,原假设H0:两组分布位置相同;备择假设H1:两组分布位置不同。

第二步,混合排序并赋秩。排序后的全部数据:2(B)、4(A)、5(B)、6(A)、7(A)、9(B),对应的秩分别是1、2、3、4、5、6。A组的秩和RA = 2 + 4 + 5 = 11,B组的秩和RB = 1 + 3 + 6 = 10。组间秩和差异看起来不大,直觉上不会显著。继续计算Mann-Whitney U:nA=3、nB=3,RA=11,UA = nAnB + nA(nA+1)/2 − RA = 9 + 6 − 11 = 4。双侧检验时取较小的U值(UB = 9 − 4 = 5,取U=4)与U临界值表比较,n1=n2=3、α=0.05双侧时U临界值为0。因为U=4 > 0,落入接受域。

第三步,结论:在0.05显著性水平下,尚不能认为两组数据的分布位置存在显著差异。

这个例子的关键点是:临界值表的U取的是“小样本精确分布下的拒绝域临界值”,而不是大样本的Z临界值1.96,别混用。考试时题目说“查表”就用表,说“大样本近似”再用正态分布临界值。

4.3 tie(结)的处理和那些你想不到的丢分细节

期末复习到刷题阶段,最容易丢分的其实是细节。我把高频坑点集中列一下,考前过一遍很顶用:

差值等于0怎么办。符号检验里,如果观测值恰好等于M0,差值既不是+也不是−,一般直接剔除该样本;Wilcoxon符号秩检验里,差值为0的观测也无法赋秩,同样剔除。这会减少有效样本量,而且题目有可能故意设这个坑,看你会不会处理。

并列数据要用平均秩。排序遇到相同数值,不要把秩随便填,取它们占据位置的平均值。比如数据中两个5并列排第2和第3,那么两个5的秩都是2.5。手算的时候先排序写位置再回头填秩,不容易错。

大样本近似要不要连续性校正。教材和软件默认会做连续性校正,也就是Z统计量分子上减掉的修正项。实际考试一般不会考这个细节,但SPSS里选项如果默认勾了校正,输出的Z可能比你手算的略小,别以为是自己算错。

正态近似的条件。秩和检验大样本近似要求n1、n2都不小于10,KW检验要求每组样本量不要太少,Friedman检验一般要求b和K达到一定规模。如果样本量不够,就别用卡方临界值去判断,老老实实查精确临界值表。

单侧检验查半表。临界值表有单侧和双侧之分,符号检验的表尤其容易看错。查表之前先确认自己用的是单侧α还是双侧α,再定位对应临界值列,否则结论直接反向。

这些点单个看都很小,但考试一共就那么几道题,每一分都值得抢。

4.4 用R快速验证手算结果,考前给自己吃定心丸

如果时间允许,强烈建议复习时用R把每个方法的代码跑一遍。不为别的,手算结果和软件输出对上了,考场信心会完全不一样。常用的函数如下:

# 符号检验:binom.test binom.test(x = 8, n = 10, p = 0.5) # Wilcoxon符号秩检验(单样本/配对样本) wilcox.test(x, y, paired = TRUE) # Wilcoxon秩和检验 / Mann-Whitney U检验(两独立样本) wilcox.test(x, y, paired = FALSE) # Kruskal-Wallis H检验(多样本独立) kruskal.test(value ~ group, data = df) # Friedman检验(随机区组) friedman.test(value ~ treatment | block, data = df) # Spearman秩相关 cor.test(x, y, method = "spearman")

跑完代码之后,重点对照两件事:一是p值大概在什么数量级,跟你手算查表得到的结论是否一致;二是统计量的名字和数值——比如R里的W对应的是秩和还是U,Kruskal-Wallis输出的chi-squared值与手算H是否一致。这些对上了,说明你的手算流程没问题。考试不允许用软件,但平时用软件自检是很高效的复习方法。

4.5 复习优先级与简答/计算题的答题模板

非参数统计期末复习时间通常不会太充裕,我按出题频率和性价比排个优先级:

  • 必拿分梯队:Wilcoxon符号秩检验、Wilcoxon秩和检验(Mann-Whitney U)、Kruskal-Wallis检验。这三类考计算题的概率最高,公式结构相似,练熟一个就能触类旁通。
  • 高频梯队:符号检验、Friedman检验、Spearman秩相关。符号检验概念简单但容易出简答题;Friedman只要掌握“区组内排秩”的思路就不难计算;Spearman相关一般考公式代入。
  • 低频梯队:卡方拟合优度/独立性、KS检验、游程检验。以概念理解为主,会判断适用场景、会写原假设,基本就够了。

简答题的答题模板我总结成一段话,背熟之后基本上所有方法都能套:

本题研究的是______问题。由于数据不满足参数检验的正态性/方差齐性假定,采用______检验。该检验的原假设是______,备择假设是______。将原始数据转换为秩/符号后,计算检验统计量______,得p值/统计量数值为______。与显著性水平α=0.05比较,p值小于/大于α,因此拒绝/尚不能拒绝原假设,认为______。

这套模板的好处是逻辑完整、不遗漏采分点。老师阅卷往往按点给分,“原假设、统计量、p值、结论”这四样写全了,就算计算有点小瑕疵,分数也不会太难看。

最后分享一个我自己复习时很受益的习惯:把所有方法按“数据结构—原假设—秩变换方式—统计量公式—临界值来源”五个维度做成一页纸,考前只看这一页纸反复默写。第一遍可能很痛苦,但写到第三遍的时候,整门课的框架就自动长在脑子里了。非参数统计不是靠背方法名字背出来的,是靠梳理“谁在什么场景下把数据变成什么形式、然后比了什么”这条逻辑线理出来的。祝复习顺利。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询