热门标签 | 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


推荐阅读
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 3.223.28周学习总结中的贪心作业收获及困惑
    本文是对3.223.28周学习总结中的贪心作业进行总结,作者在解题过程中参考了他人的代码,但前提是要先理解题目并有解题思路。作者分享了自己在贪心作业中的收获,同时提到了一道让他困惑的题目,即input details部分引发的疑惑。 ... [详细]
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
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社区 版权所有