【Python床头书】python chi2_contingency简介用法示例详解

本文介绍了Python中scipy.stats.chi2_contingency函数用于列联表中变量独立性卡方检验的方法,包括参数、返回值、注意事项以及实际应用示例,如阿司匹林预防心血管事件的研究。
该文章已生成可运行项目,

python chi2_contingency卡方检验简介用法示例详解

简介

scipy.stats.chi2_contingency是一个计算列联表中变量相互独立的卡方检验的函数。它根据列联表中的观察频率计算卡方统计量和p值。期望频率是根据假设独立性的条件下的边际和来计算的;详情请参见scipy.stats.contingency.expected_freq`。自由度的数量(使用numpy函数和属性来表示):

 dof = observed.size - sum(observed.shape) + observed.ndim - 1

参数

  • observed:array_like类型,列联表。表中包含每个类别中的观察频率(即出现次数)。在二维情况下,该表通常被描述为“R x C表”。
  • correction:bool类型,可选参数,默认为True。如果为True,并且自由度为1,则应用Yates’修正。修正的效果是将每个观察值调整0.5个单位至相应的期望值方向。
  • lambda_:float类型或str类型,可选参数。默认情况下,在此检验中计算的统计量为Pearson的卡方统计量。lambda_允许使用Cressie-Read幂差异系列中的统计量。详情请参见scipy.stats.power_divergence

返回值

返回一个Chi2ContingencyResult对象,该对象具有以下属性:

  • statistic:float类型,测试统计量。
  • pvalue:float类型,检验的p值。
  • dof:int类型,自由度。
  • expected_freq:ndarray,与观察值具有相同形状的数组。根据表的边际和计算的期望频率。

注意事项

  • 一个经常提到的关于此计算有效性的指导原则是,只有在每个单元格中观察到的和期望的频率至少为5时,才应使用该检验。
  • 这是对不同类别的人口特征独立性的检验。当观察的维数为两个或更多时,该检验才具有意义。将该检验应用于一维表将始终导致期望值等于观察值且卡方统计量等于0。
  • 该函数不处理掩码数组,因为在缺失值情况下,计算无意义。
  • scipy.stats.chisquare类似,该函数计算卡方统计量。该函数提供的便利性在于从给定的列联表中找到期望频率和自由度。如果这些已知,并且不需要Yates’修正,则可以使用scipy.stats.chisquare。即,如果调用:
res = chi2_contingency(obs, correction=False)

则以下等式成立:

pythonCopy code(res.statistic, res.pvalue) 
本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigDataMLApplication

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值