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)

本文介绍了Python中scipy.stats.chi2_contingency函数用于列联表中变量独立性卡方检验的方法,包括参数、返回值、注意事项以及实际应用示例,如阿司匹林预防心血管事件的研究。
最低0.47元/天 解锁文章
1245

被折叠的 条评论
为什么被折叠?



