python配对t检验_用python进行配对样本差异分析

本文介绍了如何使用Python进行配对样本差异分析,包括检验数据正态性和选择合适的检验方法(配对样本t检验或威尔科克森检验)。通过自定义函数`norm_test`检查正态性,并根据结果调用`ttest_rel`或`wilcoxon`函数进行检验。注意,`wilcoxon`函数默认返回的不是统计量z和P值,需要修改源码获取正确结果。
摘要由CSDN通过智能技术生成

应用场景非常简单,成对的数据需要检验组间是否存在差异

分成两步:

1、检验正态性

from scipy import stats

##检验是否正态

def norm_test(data):

t,p = stats.shapiro(data)

#print(t,p)

if p>=0.05:

return True

else:

return False

2、根据正态性的检验结果,分别选择配对样本t检验和wilcoxon检验。目标是获取统计量和P值。方法的选择可以参考https://segmentfault.com/a/1190000007626742

if norm_test(data_b) and norm_test(data_p):

print('yes')

t,p=ttest_rel(list(data_b),list(data_p))

else:

print('no')

t,p=wilcoxon(list(data_b),list(data_p),zero_method='wilcox', correction=False)#

这里有一个需要注意的坑点

scipy包里带的wilcoxon函数返回的不是统计量z和P值,返回的是负秩和和P值,因此这里需要找到wilcoxon的源码,路径为:Lib\site-packages\scipy\stats\morestats.py

点进morestats文件,将函数返回的数据改成z和p值,如下:

def wilcoxon(x, y

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值