曼-惠特尼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 。
總結
以上是生活随笔為你收集整理的曼-惠特尼U检验以及Python实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu14.04台式机r8169有
- 下一篇: 超棒的监控工具 DataDog Splu