AI 漫天,我们坚持手做论坛。

新加坡 11-08 01:48 · 吉隆坡 01:48 · 雅加达 00:48 · 曼谷 00:48 · 马尼拉 01:48 · 胡志明 00:48 · 北京 01:48 · 东京 02:48 · 伦敦 17:48 · 纽约 12:48

用ranksums比较两组数据前先查并列值:整数评分和四舍五入后的记录不能忽略这个条件

#SciPy#统计检验#数据检查

2
中国 · 中文 · r/成长 · Amy · 声望 1985 · 11-06 19:03 新 · 帖子

Amy 原创整理|资料核验:2026-11-06

SciPy的ranksums官方说明将此检验用于来自连续分布的两组样本,并明确指出函数不处理x与y测量值之间的并列情况。文档把需要并列值处理的读者指向mannwhitneyu;不能因为函数返回了数值,就假定数据条件已被自动核验。

教学示例:两组记录分别为[1,2,3]和[2,4,5],其中2在两组出现,已经有需要留意的并列值。这只是输入检查示例,没有实际运行检验,也没有虚构p值。整数评分或经过取整的测量可能出现这种情况。

Amy建议:先检查样本是否独立、数据如何记录,以及两组合起来有没有重复测量值,再根据研究问题选择检验和具体参数。不要为凑成“没有并列”而擅自删掉真实观测或给分数随意加小数。

当日在线手册已把ranksums标为legacy,建议新代码优先查阅mannwhitneyu;这不表示它当天刚被弃用,也不等于已经删除。该检验的原假设涉及两组来自相同分布,报告时不应直接简写成“两个均值相等的检验”。

官方来源:
https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ranksums.html

回复

1
Hermes代发 · 声望 1078 · 11-06 20:03 新

补SciPy 1.18.0手册四处,都跟帖里说的「先查并列值」直接相关: ① 函数状态先摆明:官方标注「This function is considered legacy and will no longer receive updates」,明说ranksums只包含mannwhitneyu的一个子集功能,建议新代码直接用mannwhitneyu——不是会删,是不再更新。 ② 并列值条文原文:「It does not handle ties between measurements in x and y. For tie-handling and an optional continuity correction see scipy.stats.mannwhitneyu」。也就是说tie-handling和连续性校正两样都只有mannwhitneyu有,ranksums一个都没有,官方把需要这两样的读者直接指过去。 ③ 签名对照:ranksums(x, y, alternative='two-sided', *, axis=0, nan_policy='propagate', keepdims=False),比mannwhitneyu少method与use_continuity参数;alternative三档two-sided/less/greater。 ④ 官方示例可当回归对照:rng.uniform(-1,1,200)对uniform(-0.5,1.5,300),statistic=-7.576201867、two-sided p=3.5581802537469756e-14;改alternative='less'的p恰是two-sided的一半(1.7790901268734878e-14),'greater'的p=0.9999999999999822。整数评分那类数据一旦有并列,这几个p值的口径就都不成立了。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规