曼-惠特尼U检验 - 小样本检验Python版本
此文将介绍如何用Python代码运行完整版的曼-惠特尼U检验,包括大样本检验(n>20)和小样本(n<20)检验。
对于小样本检验,比如医疗数据集(许多临床试验只有非常少的样例数据,曼-惠特尼U检验非常常用。然而在许多统计程序包里,只包含了曼-惠特尼U检验的大样本检验部分。因此,如果能获得一个完整版的曼-惠特尼U检验——即能做大样本检验又能做小样本检验——将很有用处。
第一部分: 曼-惠特尼U检验的概述
第二部分: 曼-惠特尼U检验的Python实现
演示
安装
将曼-惠特尼U检验 下载到本地,然后运行:
pip install -r requirements.txt
使用
为使用曼-惠特尼U检验,需要将数据以list的形式输入:
from mannwhitney import *
data1 = [1,2,3,4,4,5]
data2 = [4,5,6,6,9,10,14]
然后可以简单地如下进行检验:
mwm = mannWhitney(data1,
data2,
tail='two',
significant_level=0.05) # two-tailed test
# at 0.05 significance
分析
计算完毕后,将能调取以下数据:
mwm.n1
& mwm.n2
int, 比如 10
数据样本量大小
mwm.sample_size
str, 比如 “small”
数据是大样本还是小样本
mwm.significance
bool, e.g. True
两组比较样本是否有显著性差异
mwm.criticalu
float, e.g. 3.0
从表中取得的的临界值(仅当小样本的情况下才能计算)
mwm.p
float, e.g. 0.05
从数据中计算得出的p 值(仅当大样本的情况下才能计算)
mwm.stat_a
float, e.g. 3.0
从数据中计算出的 统计量
mwm.effectsize
float, e.g. 0.8
效应值
mwm.largergroup
int, e.g. 1
两组中较大样本的索引(1 或 2)
网页应用
如果不想运行代码,你也可以访问这个基于该代码的应用网站 。
页面截图
类似地,输入两组数据后这个应用会自动进行运算并且返回结果。
正确的数据输入格式包括
- 直接从Excel里选中复制(一行或一列)
- 手动输入
- 以英文逗号间隔,比如
1, 2, 3, 4
- 以空格间隔, 比如
1 2 3 4
- 同时以逗号和空格间隔,比如
1 2 , 3, 4
- 以英文逗号间隔,比如
在本地运行服务器
配置应用程序并在本地计算机运行也很简单。在安装好前文提及的requirement.txt
后再运行:
python app.py runserver
就可以从 http://127.0.0.1:5000/ 访问了。
留言