多配对样本Friedman检验
这个方法是做什么的
「重复测量方差分析」的非参数替代:同一批对象(区组)在 3 个及以上条件或时点下各测一次,问这些条件的分布是不是全都一样。它在每个对象内部给这 k 个测量值排名次,再看各条件的平均秩是不是都等于原假设下的 (k+1)/2。个体的底子差异因此被消掉——某个人整体分数偏高,在他自己那行排名次时就抵消了——而且只用名次,所以不要求正态,也不要求方差齐。
主结果给出 χ²(k−1) 与 p,以及各条件的中位数、Q1~Q3、平均秩与秩和(并列取平均秩)。第四张卡给 Kendall's W = χ²/[N(k−1)](0~1,四档:<0.1 可忽略、0.1~0.3 小、0.3~0.5 中等、≥0.5 大)、平均秩极差与原始量纲的中位数极差;事后两两比较用 Wilcoxon 符号秩检验加 Bonferroni 校正。第三张卡的平均秩柱状图画着原假设下的期望线 (k+1)/2,柱子齐平就对应不显著。
需要准备什么数据
- 放入配对的 [定量/定序] 变量:至少 3 个,定量变量(数值)
数据要求
- 数据表至少 10 行。
- 单列缺失率不超过 20%。
- 不接受取值全都一样的列(零方差列没有可分析的变异)。
以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。
什么时候用它
- 同一批被试在干预前 / 1 个月 / 3 个月的评分,数据偏态或本身就是等级
- 同一批评委给若干方案打分,想知道方案之间有没有系统高低
- 同一批样品用三种方法各测一次
- 每个对象内部的排序才是你真正关心的(谁排第一、谁排最后)
- 样本量小到正态性无从判断
它的前提只有三条,其中两条统计上查不出来:①同一批对象在 k≥3 个条件下重复测量,区组之间互相独立——由研究设计保证;②因变量至少为定序,能在每个对象内部排序;③完整案例分析,任一条件缺失的整行剔除。主结果的 χ² 只是大样本近似,经验条件是区组数 N≥10 且条件数 k≥5;卡① 只查了 N≥10 这一半,3 列 60 行的表因此判成“满足”,可 k 这么小时 χ² 近似偏松——比真实分布更容易给出显著。「Kendall一致性检验」在同一张行内秩表上另配 F 近似正为此(两者算的是同一个统计量:无并列时 N(k−1)W 就是本模块的 χ²);本模块不给 F 近似,卡⑤ 的补救是改用精确检验或扩大样本复核;k=3、4 时卡在 0.05 边缘的结论要留有余地。第一张卡的正态性检验不是前提,只是“为什么选非参数方法”的佐证;即使各变量都不拒绝正态,只要数据是定序尺度或样本量小,Friedman 依然适用。
什么时候不要用它
- 各列来自互不相同的对象:那是独立样本,用「多独立样本Kruskal-Wallis检验」。把三批不同的人硬按行号排成三列,区组内排名次就没意义。
- 只有两个条件:用「配对样本Wilcoxon检验」,本模块拖拽区下限就是 3 个变量。
- 各变量只有两个取值(是 / 否、达标 / 不达标):区组内排名几乎全是并列,用「Cochran's Q 检验」。
- 数据近似正态,且你需要交互作用、球形度检验或带单位的均值差:用「重复测量方差分析」,效能更高,也能同时容纳组间因素。
- 想在多时点比较里扣掉协变量,或数据本身有嵌套 / 随机效应结构:Friedman 做不到,用「混合模型」或「广义线性混合模型(GLMM)」,它们还能利用缺失不完整的个体。
- 你真正关心的是多个评分者之间有多一致,而不是条件之间有没有差异:用「Kendall一致性检验」。Kendall's W 在本模块里只是效应量,研究问题不同,报告的组织方式也不同。
容易误读的地方
- 任一条件缺失就整行剔除,报告里的 N 可能远小于你的数据行数。 本模块做完整案例分析:某个被试只是第 3 个月没来复查,他前两次的数据也一起被扔掉。第一张卡的“原始记录数 / 因缺失整行剔除”会告诉你剔了多少。失访越多剔得越狠,剩下的往往是依从性最好、恢复得最好的那批人——N 掉得厉害时,结论已经不是对你原来那批对象说的了,这种偏倚不会出现在 p 值里。真要利用不完整个体,得换到混合模型一类的方法。
- 整体显著只说明“各条件不全相同”,既不指示方向,更不指示单调趋势。 先说一个读表的坑:主结果表把 k 个变量各占一行,但统计量与 p 只印在首行,那是整张表的总体检验,不是第一个变量自己的检验,表注专门标了。再说结论边界:χ² 回答的只是“平均秩是不是全都等于 (k+1)/2”。平均秩柱子一路上升是描述,不是检验——Friedman 的原假设与备择假设里都没有“顺序”,把它当趋势检验是常见的越界。真要检验随时点的单调趋势,得另做趋势检验,最后一张卡也会这样提示。
- 事后两两比较表在整体检验不显著时也照样打印出来。 它不会因为 χ² 没到 0.05 就消失,只在表注加一句 ⚠:“仅作探索性参考,不宜作为确证性结论报告”;整体检验没跑成(χ² 不可估计)时也一样。看到那句话还去挑校正后 p<0.05 的那一对写进结论,等于绕开了整体检验这道闸。Bonferroni 校正管住的是 k(k−1)/2 次两两比较这个固定的族,它管不住“先看结果、再决定报哪一对”——那属于事后挑选,代价不在校正里。
- 事后比较不是在 Friedman 的区组内秩上做的,而是把每一对变量的原始数据拿出来重跑一次 Wilcoxon 符号秩检验。 整体检验的名次在 k 个条件里排,两两比较只在那 2 个条件里重排,用到的信息不同,所以偶尔会出现“整体显著但没有一对校正后显著”或反过来,这不是算错了。另外事后表给的是两组中位数之差,不是与秩检验同口径的 Hodges-Lehmann 位置差;零差值的处理也和独立模块不同——这里是把零差值剔除后再排秩(scipy 的默认口径),「配对样本Wilcoxon检验」用的是 Pratt 口径、零差值一并排秩;两处都施加了连续性校正,所以同一对数据在两处的 p 出入只来自零差值这一处。需要 H-L 及其置信区间时,把那一对单独拖过去跑。
- Kendall's W 说的是“各对象的条件排序有多一致”,不是“差异有多大”。 W = χ²/[N(k−1)]:接近 1 表示几乎所有对象都按同一个顺序给各条件排名,哪怕每次只高出一丁点;接近 0 表示各人的排序五花八门。所以一个很漂亮的 W 完全可以对应业务上微不足道的差距——差距虽小但方向高度一致,秩才那么整齐。要看差异的实际大小,得回到各条件的中位数,以及第四张卡里原始量纲的“中位数极差”。
4 组要做 6 次两两检验,每次 5% 的假阳性概率累积到 26.5%。方差分析先用一次整体检验把这个概率压回 5%,显著之后再做自带校正的事后比较——绕开整体检验直接两两比,等于把这笔账藏了起来。
报告里有什么
- 输出结果一:数据概览与前提检验
- 输出结果二:Friedman 检验主结果表
- 输出结果三:平均秩对比与分布可视化
- 输出结果四:效应量与事后多重比较
- 输出结果五:结论与学术表述
柱高为各条件的区组内平均秩;虚线为原假设下的期望平均秩 (k+1)/2 = 2.0。可用图上方的视图切换器切到「表格」查看平均秩与中位数的对照。
直方图展示了各变量的频数分布,蓝色曲线为拟合的正态分布曲线。可用于直观判断数据分布形态是否接近钟形的正态分布。