基于显著性检验分析两个样本分布相似度及Python实现—— t检验、拟合优度检验、KS检验、Wilcoxon符号秩检验、H检验、Mann-Whitney秩检验、P值的意义、API汇总

本文深入探讨了统计学中的显著性检验方法,包括参数检验和非参数检验,详细讲解了t检验、Kolmogorov-Smirnov检验、Wilcoxon符号秩检验、Kruskal-Wallis H检验和Mann-Whitney U检验的应用场景和使用条件,并通过Python的Scipy.stats库进行了实践演示。

显著性检验


抽样实验会产生抽样误差,对实验资料进行比较分析时,不能仅凭两个结果(平均数或率)的不同就作出结论,而是要进行统计学分析,鉴别出两者差异是抽样误差引起的,还是由特定的实验处理引起的。

显著性检验(significance test)就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来判断这个假设(备择假设)是否合理,即判断总体的真实情况与原假设是否有显著性差异。或者说,显著性检验要判断样本与我们对总体所做的假设之间的差异是纯属机会变异,还是由我们所做的假设与总体真实情况之间不一致所引起的。 显著性检验是针对我们对总体所做的假设做检验,其原理就是“小概率事件实际不可能性原理”来接受或否定假设。

下文简述各种差异性检验思想(两组样本差异),同时结合scipy.stats文档中的描述进行python实践。

参数检验


在下文中,我们给出了两个样本,它们可以来自相同或不同的分布,我们想检验这些样本是否具有相同的统计特性:

比较均值


t检验

t检验适用于:正态分布、方差具有齐性的两组间小样本比较;对于大样本不满足正态分布的数据而言t-检验还是相当精确有效的手段。
检验:两个平均数的差异是否显著。

均值相同的两组样本测试:

from scipy import stats

rvs1 = stats.norm.rvs(loc=5, scale=10, size=500)
rvs2 = stats.norm.rvs(loc=5, scale=10, size=500)
stats.ttest_ind(rvs1, rvs2)

#Ttest_indResult(statistic=1.3361991573958927, pvalue=0.18178876551839254)

均值不同的两组样本测试:

rvs3 = stats.norm.rvs(loc=8, scale=10, size=500)
stats.ttest_ind(rvs1, rvs3)

#Ttest_indResult(statistic=-4.5208184543856769, pvalue=6.8983225888305648e-06)

note:如果我们观察来自相同或不同人群的两个独立样本,例如男孩和女孩或两个种族的考试分数,我们可以使用该测试。该测试测量样本之间的平均(预期)值是否显着不同。如果我们观察到大的p值,例如大于0.05或0.1,那么我们不能拒绝相同平均分数的零假设。如果p值小于阈值,例如1%,5%或10%,那么我们拒绝相等平均值的零假设。

# In[t检验]
import numpy as np
from scipy import stats
np.random.seed(12345678)

#用相同的方法测试样品:
rvs1 = stats.norm
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值