咨询Dunn事后检验中A-B与B-C出现相同p值的原因
问题:Dunn检验中A-B与B-C对比p值相同的原因
我正在学习统计学,在使用事后检验时发现Dunn检验会返回相同的p值,更换数据集后该问题仍重复出现。以下是我的Python代码示例:
import pandas as pd from scipy.stats import kruskal from scikit_posthocs import posthoc_dunn data = { 'Group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'], 'Values': [10, 15, 12, 18, 20, 22, 25, 28, 30] } df = pd.DataFrame(data) statistic, p_value = kruskal(df[df['Group'] == 'A']['Values'], df[df['Group'] == 'B']['Values'], df[df['Group'] == 'C']['Values']) print(f"Kruskal-Wallis p-value: {p_value}") posthoc_results = posthoc_dunn(df, val_col='Values', group_col='Group', p_adjust='holm') print("\nDunna's Test Results:") print(posthoc_results)
运行后得到的结果如下:
A B C A 1.000000 0.359425 0.021871 B 0.359425 1.000000 0.359425 C 0.021871 0.359425 1.000000
请问为何A组与B组、B组与C组对比的p值相同?
原因分析
数据的秩次差异完全相等
给所有数据按从小到大排秩:10(1)、12(2)、15(3)、18(4)、20(5)、22(6)、25(7)、28(8)、30(9)- A组秩和:1+2+3=6
- B组秩和:4+5+6=15
- C组秩和:7+8+9=24
组间秩和差:B-A=9,C-B=9,两组间的秩次差异完全一致。
Dunn检验的计算逻辑
Dunn检验基于组间秩次差异计算统计量,再结合指定的校正方法(这里是holm)计算p值。当两组的秩次差异相同时,对应的基础统计量一致,经过holm校正后的p值自然会相同。更换数据集后的重复现象
你更换的数据集大概率也存在类似的组间秩次差异相等的情况,才会导致相同的p值结果出现。
内容的提问来源于stack exchange,提问作者user11095838
相关产品推荐
相关产品推荐

