boschloo_exact#
- scipy.stats.boschloo_exact(table, alternative='two-sided', n=32)[source]#
对 2x2 列联表执行 Boschloo 精确检验。
- 参数:
- table整型数组类似物
一个 2x2 列联表。元素应为非负整数。
- alternative{‘two-sided’,‘less’,‘greater’},可选
定义零假设和备择假设。默认值为“two-sided”。请见下文“备注”部分中的解释。
- n整数,可选
在构建抽样方法时使用的抽样点数。注意,此参数将自动转换为 2 的更高次幂,因为
scipy.stats.qmc.Sobol
用于选择样本点。默认值为 32。必须为正数。在大多数情况下,32 个点足以达到良好的精度。更多的点会有性能代价。
- 返回:
- berBoschlooExactResult
一个带有以下属性的结果对象。
- statistic浮点
Boschloo 检验中使用的统计量;即 Fisher 精确检验中的 p 值。
- pvalue浮点数
P 值,以空假设为真为前提条件,获得至少与实际观察值一样极端的分布的概率。
另见
chi2_contingency
列联表中变量独立性的卡方检验。
fisher_exact
对 2x2 列联表进行的 Fisher 精确检验。
barnard_exact
Barnad 精确检验,是对 2x2 列联表的 Fisher 精确检验的一种更强大的替代检验法。
注释
Boschloo 检验是一种用于列联表分析的精确检验。它检验两个分类变量之间的关联,是对 2x2 列联表的 Fisher 精确检验的一种全面更强大的替代检验法。
Boschloo 精确检验使用 Fisher 精确检验的 p 值作为统计数据,Boschloo 的 p 值是空假设条件下观察到如此极端的统计值概率。
将表示观察样本的 2x2 矩阵定义为 \(X_0\),其中每列存储二项式实验,如下图所示。我们还要定义 \(x_{11}\) 和 \(x_{12}\) 的二项式理论概率 \(p_1, p_2\)。在使用 Boschloo 精确检验时,我们可以断言三个不同的备择假设
\(H_0 : p_1=p_2\) vs \(H_1 : p_1 < p_2\),其中 alternative = “less”(较小)
\(H_0 : p_1=p_2\) vs \(H_1 : p_1 > p_2\),其中 alternative = “greater”(较大)
\(H_0 : p_1=p_2\) vs \(H_1 : p_1 \neq p_2\),其中 alternative = “two-sided”(双向)(默认)
当原分布不对称时,计算双向 p 值有几种约定。在此,我们应用这样的约定:双向检验的 p 值是一侧检验 p 值中的较小值的两倍(上限为 1.0)。请注意
fisher_exact
遵循不同的约定,因此对于给定的 table,boschloo_exact
报告的统计数据可能不同于fisher_exact
报告的 p 值,当alternative='two-sided'
。1.7.0 版中新增。
参考资料
[1]R.D. Boschloo。“测试两个概率值相同时提升 2 x 2 表的条件显著性水平”,Statistica Neerlandica,24(1),1970
[2]“Boschloo 的检验”,维基百科,https://en.wikipedia.org/wiki/Boschloo%27s_test
[3]Lise M. Saari 等。“员工心态和职业满意度”,人力资源管理,43(4),395-407,2004,DOI:10.1002/hrm.20032。
示例
在以下示例中,我们以文章“员工心态和职业满意度”[3]为例,该文章报告了一项针对 63 位科学家和 117 位大学教授的调查结果。在 63 位科学家当中,有 31 位表示他们对自己 的工作感到非常满意,而在大学教授中,有 74 位对自己的工作感到非常满意。这是否能够有力证明大学教授对自己的工作感到比科学家更高兴?下表总结了上述数据
college professors scientists Very Satisfied 74 31 Dissatisfied 43 32
当使用统计假设检验时,我们通常使用某个阈值概率或显著性水平来决定是否拒绝原假设 \(H_0\)。假设我们选择了 5% 的常见显著性水平。
我们的备择假设是大学教授对自己的工作实际上比科学家更满意。因此,我们期望非常满意的大学教授的比例 \(p_1\) 高于非常满意的科学家比例 \(p_2\)。因此,我们调用
boschloo_exact
并使用alternative="greater"
选项>>> import scipy.stats as stats >>> res = stats.boschloo_exact([[74, 31], [43, 32]], alternative="greater") >>> res.statistic 0.0483 >>> res.pvalue 0.0355
在原假设(即科学家比大学教授对其工作更满意)下,获得至少与观察到的数据一样极端的检验结果的概率约为 3.55%。由于这个 p 值小于我们选择的显著性水平,我们有证据可以拒绝 \(H_0\),支持备择假设。