热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用Python做非参数检验

显著性检验是用于检测科学实验中实验组与对照组之间是否有差异以及差异是否显著的办法。所谓统计假设检验就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来判断

显著性检验是用于检测科学实验中实验组与对照组之间是否有差异以及差异是否显著的办法。所谓统计假设检验就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来判断这个假设是否合理。而把只限定第一类错误概率的统计假设检验就称之为显著性检验。
显著性检验可以分为参数检验和非参数检验。参数检验要求样本来源于正态总体(服从正态分布),且这些正态总体拥有相同的方差,在这样的基本假定(正态性假定和方差齐性假定)下检验各总体均值是否相等,属于参数检验。
当数据不满足正态性和方差齐性假定时,参数检验可能会给出错误的答案,此时应采用基于秩的非参数检验。
参考:https://www.cnblogs.com/hdu-zsk/p/6293721.html
这里主要介绍非参数检验。
1,Mann-Whitney U检验
“Mann-Whitney U检验主要用于检验两组样本是否来自同一总体,也等价于判断两组样本是否存在差异(例如,均值显著不同则必然来自不同的总体)。Mann-Whitney U检验思想与Wilcoxon带符号的等级检验类似,不同之处在于,其利用数据的大小顺序而不是正负号来判断两组数据的差异。”
“曼-惠特尼U检验又称“曼-惠特尼秩和检验”,是由H.B.Mann和D.R.Whitney于1947年提出的。它假设两个样本分别来自除了总体均值以外完全相同的两个总体,目的是检验这两个总体的均值是否有显著的差别。
  曼-惠特尼U检验的步骤是:

1.从两个总体A和B中随机抽取容量为nA和nB的两个独立随机样本,将(nA + nB)个观察值按大小顺序排列,指定1为最小(或最大)观察值,指定2为第二个最小(或第二个最大)的观察值,依此类推。如果存在相同的观察值,则用它们位序的平均数。

2.计算两个样本的等级和TA和TB。

3.根据TA和TB即可给出曼-惠特尼U检验的公式。计算得到的两个U值不相等,但是它们的和总是等于nAnB,即有UA + UB = nAnB。若 n_A\le 20 、 n_B\le 20 时,则其检验统计量为:

UA = nAnB + nA(nA + 1) / 2 − TA

UB = nAnB + nB(nB + 1) / 2 − TB

在检验时,因为曼-惠特尼U检验的临界值表只给出了较小的临界值,所以用UA、UB中较小的U值作为检验统计量。

4.选择其中较小U值与U的临界值比较,若U大于Uα,接受原假设H0,若U小于Uα则拒绝H0,接受H1。接受域与威尔科克森检验相同。U检验也有小样本和大样本之分,在小样本时,U的临界值均已编制成表。在大样本时,U的分布趋近正态分布,因此可用正态逼近处理。
  
参考:https://wiki.mbalib.com/wiki/曼-惠特尼U检验
https://blog.csdn.net/hpdlzu80100/article/details/78768421
https://segmentfault.com/a/1190000007626742

Wilcoxon 符号秩检验
Wilcoxon 符号秩检验 Wilcoxon signed-rank test 用来比较两个相关的样本,配对样本,或一个样本的重复测量,检验是否它们的总体均值秩改变。
在Wilcoxon符号秩检验中,它把观测值和零假设的中心位置之差的绝对值的秩分别按照不同的符号相加作为其检验统计量。它适用于T检验中的成对比较,但并不要求成对数据之差di服从正态分布,只要求对称分布即可。检验成对观测数据之差是否来自均值为0的总体(产生数据的总体是否具有相同的均值)。

假定
(1). 数据成对,来自同一总体;
(2). 每一对数据随机选择且独立。
检验步骤:
《用Python做非参数检验》
参考:https://blog.csdn.net/wong2016/article/details/73888024

Python实现:

# wilcox秩序和检验,n <20时独立样本效果比较好
scipy.stats.ranksums(a, b)
# Mann-Whitney U检验, n > 20时独立样本,比wilcox秩序和检验更稳健
scipy.stats.mannwhitneyu(a, b)
# Wilcox检验,成对数据
scipy.stats.wilcoxn(a, b, zero_method='wilcox', correction=False)

参考:https://segmentfault.com/a/1190000007626742
https://www.jianshu.com/p/22132bdfe593


推荐阅读
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 本文旨在探讨如何利用决策树算法实现对男女性别的分类。通过引入信息熵和信息增益的概念,结合具体的数据集,详细介绍了决策树的构建过程,并展示了其在实际应用中的效果。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
author-avatar
此人已死_0824
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有