python - 在 Excel 中重现 Mann-Whitney U
问题描述
我正在尝试在 Excel 中计算 Mann-Whitney 测试,但我得到的结果与 python 中的结果不完全相同。
例如,我有以下数据:
2015 年观察:2,2,5,1,2,2,2,4,2,4,5,4,2,1,3,3,2,2,1,2,2,1,4,3 ,1,3,4,3,5,1
2016 年观察:2,1,2,5,5,1,5,3,2,1,2,5,5,2,4,4,3,1,2,2,1,3,3,1 ,2,5,1,4,3,5
我使用以下代码:
scipy.stats.mannwhitneyu([2,2,5,1,2,2,2,4,2,4,5,4,2,1,3,3,2,2,1,2,2,1,4,3,1,3,4,3,5,1],
[2,1,2,5,5,1,5,3,2,1,2,5,5,2,4,4,3,1,2,2,1,3,3,1,2,5,1,4,3,5],
use_continuity=False)
我得到以下结果:
- Python:统计=416.5,pvalue=0.3053664240420257
- Excel:统计=416.5,pvalue=0,305366424042026
所以他们是平等的。
但是当我写use_continuity=True我得到以下结果:
- Python:*statistic=416.5,pvalue=0.30803418957886164
- Excel:*统计=416.5, pvalue=0,302708955583188
当我输入use_continuity=-1时,我得到以下信息:
- Python:统计=416.5,pvalue=0.30270895558318833
- Excel:统计=416.5,pvalue=0,308034189578862
所以你可能会看到,我对 excel 和 python 有反之亦然的结果。根据这个解释 https://github.com/scipy/scipy/blob/v1.6.3/scipy/stats/stats.py#L7090-L7185 use_continuity 用于
- meanrank = n1*n2/2.0 + 0.5 * use_continuity
有没有可能解释不正确,确实有
- meanrank = n1*n2/2.0 - 0.5 * use_continuity ?
或者,也许您有任何其他想法,为什么我不能得到正确的结果?
解决方案
推荐阅读
- javascript - Laravel Contact Fom 与 HTML 上的 Javascript 变量冲突
- cookies - 在 Postman 中记录所有响应 cookie
- php - php preg_match_all 返回错误消息“preg_match_all(): Unknown modifier 'y' -- at line 5”
- css - Reactjs物化 - 如何在导航栏中居中内容
- sql - 连接到 SQL Server 时出现超时错误:连接错误:无法在 15000 毫秒内连接到 servername\instancename
- python - 花哨的字符串替换要求在 python 上的相同填充上留下评论
- ag-grid - 使用 AG-Grid,在更改值时禁用/启用同一行中的字段
- sql-server - 如何将月末从格式 yyyyMM 转换为 yyyyMMdd
- xcode - 当我尝试删除 Xcode 中的重复库时,Xcode 崩溃(在“将二进制文件与库链接”中)
- python - 如何显示具有不同分辨率的垂直 2 图像?