曼-惠特尼U检验以及Python实现
一、曼-惠特尼U检验的含义
曼-惠特尼U检验又称“曼-惠特尼秩和检验”,英文(Mann-Whitney U test),是由H.B.Mann和D.R.Whitney于1947年提出的。它假设两个样本分别来自除了总体均值以外完全相同的两个总体,目的是检验这两个总体的均值是否有显著的差别,简单来说就是AB小样本(样本数不一定相等)分别来自于不同的总体,且AB二者的均值不相等,我们目的是要通过AB去检验一下两个总体的均值是否有显著的差异
二、曼-惠特尼U检验和T检验差别
简单来说,t检验和Mann-Whitney U检验的区别:
- t检验是参数检验,需要满足正态性和方差齐性
- Mann-Whitney U检验是非参数检验,没有上面的要求
三、Python实现
1.我们知道这两组的值
#知道这两组的值 import scipy.stats as stats weight_high=[134,146,104,119,124,161,107,83,113,129,97,123] weight_low=[70,118,101,85,112,132,94] stats.mannwhitneyu(weight_high,weight_low,alternative='two-sided') #MannwhitneyuResult(statistic=62.0,pvalue=0.0993422478534652) #大于0.05,也就是接受原假设
2.我们只知道均值,比如说我们分箱时,得到两个不同的badrate,这样我们首先按照badrate生成不同
import pycard as pc help(pc.generate_samples) ''' generate_samples(good=None, bad=None, total=None) 生成仅由 0,1 值组成的样本,以便于进行各种统计检验 参数: ----------- good: int, 好样本的个数,即 0 的个数 bad: int, 坏样本的个数, 即 1 的个数 total: int, 总样本的个数。 good, bad, total 三个参数只能 3选 2个传进来 返回: ----------- sample: 1darray, 生成的样本 ''' #然后下面的步骤基本一样
下面介绍参数
scipy.stats.mannwhitneyu( x, y, use_continuity = True, alternative = None )
- x, y:array_like,样本数据数组
- use_continuity:bool, optional,是否需要0.5的连续性校正,建议小样本需要。默认值为 True 。
- alternative:{None, ‘less’, ‘two-sided’, ‘greater’}, optional,‘two-sided’ 表示双侧检验,‘greater’ 为备择假设是大于的单边检验,‘less’ 为备择假设是小于的单边检验,None 表示双侧检验 p 值的一半。默认值为 None 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人