python验证多组数据之间有无显著差异

 更新时间:2022年01月02日 15:23:35   作者:fff2zrx   
这篇文章主要介绍了python验证多组数据之间有无显著差异,利用方差分析和卡方分布验证多组数据之间的某些属性有无显著性差异,对于连续性属性可以用方差分析,对于离散型属性可以用卡方检验。下面文章详细内容需要的小伙伴可以参考一下

一、方差分析

1.单因素方差分析

通过箱线图可以人肉看出10组的订单量看起来差不多,为了更科学比较10组的订单量有无显著差异,我们可以利用方差分析

from statsmodels.formula.api import ols
from statsmodels.stats.anova import anova_lm
model = ols('orders~C(label)',data=need_data).fit()
anova_table = anova_lm(model, typ = 2)
print(anova_table)

结果显示,p值为0.62大于0.05,不能拒绝原假设,所以这10组的订单量分布没有显著差异。

二、卡方检验

如果是比较多组之间的非连续值指标是否存在差异呢?

如检查上面10组的男女比例是否存在显著差异

计算各组观察频数:

data2=data1.melt(id_vars=['性别'],value_name='观察频数')
data2.head()

计算总体的男女比例:

rate=(data2.groupby(['性别'])['观察频数'].sum()/data2.groupby(['性别'])['观察频数'].sum().sum()).reset_index()
rate.columns=['性别','rate']
rate

计算各组用户总数:

group_sum=data2.groupby(['组别'])['观察频数'].sum().reset_index()
group_sum.columns=['组别','组内用户数']
group_sum

计算卡方值:

import math
data3=pd.merge(data2,group_sum,on=['组别'],how='left')
data3=pd.merge(data3,rate,on=['性别'],how='left')
data3['期望频数']=data3['组内用户数']*data3['rate']
data3['卡方值']=data3.apply(lambda x: math.pow((x.期望频数-x.观察频数),2)/x.期望频数,axis=1)
data3.head()

本案例的自由度为(10-1)*(2-1)=9,选取显著性水平为0.05,查卡方分布表得临界值为18.31
因为7.01<18.31,所以不能拒绝原假设,即各组的性别分布不存在显著性差异。

到此这篇关于python验证多组数据之间有无显著差异的文章就介绍到这了,更多相关python验证多组数据之间有无显著差异内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pytorch--之halfTensor的使用详解

    pytorch--之halfTensor的使用详解

    这篇文章主要介绍了pytorch--之halfTensor的使用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python之tkinter进度条Progressbar用法解读

    Python之tkinter进度条Progressbar用法解读

    这篇文章主要介绍了Python之tkinter进度条Progressbar用法解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 详解Python中的Dict

    详解Python中的Dict

    这篇文章主要为大家介绍了Python中的Dict,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • python中关于for循环的碎碎念

    python中关于for循环的碎碎念

    这篇文章主要介绍了python中关于for循环使用过程中的碎碎念,需要的朋友可以参考下
    2017-06-06
  • python 检测nginx服务邮件报警的脚本

    python 检测nginx服务邮件报警的脚本

    这篇文章主要介绍了python 检测nginx服务邮件报警的脚本,帮助大家更好的利用python监控服务器状态,感兴趣的朋友可以了解下
    2020-12-12
  • Python列表append和+的区别浅析

    Python列表append和+的区别浅析

    这篇文章主要介绍了Python列表append和+的区别浅析,本文得出一的结论是使用append实际是修改一个列表,使用+实际是创建一个新的列表,需要的朋友可以参考下
    2015-02-02
  • python切片的步进、添加、连接简单操作示例

    python切片的步进、添加、连接简单操作示例

    这篇文章主要介绍了python切片的步进、添加、连接简单操作,结合实例形式分析了Python切片运算的常见操作技巧,需要的朋友可以参考下
    2019-07-07
  • PyQT5 QTDesigner窗口及组成的实现

    PyQT5 QTDesigner窗口及组成的实现

    这篇文章主要介绍了PyQT5 QTDesigner窗口及组成的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 详解如何理解并正确使用Python中的f字符串

    详解如何理解并正确使用Python中的f字符串

    Python中的f字符串是一种字符串格式化语法,它可以将变量、表达式和函数等动态地嵌入到字符串中,本文就来详细讲讲如何理解并正确使用它吧
    2023-06-06
  • python使用wxPython打开并播放wav文件的方法

    python使用wxPython打开并播放wav文件的方法

    这篇文章主要介绍了python使用wxPython打开并播放wav文件的方法,涉及Python操作音频文件的相关技巧,需要的朋友可以参考下
    2015-04-04

最新评论