scipy.stats.

boschloo_exact#

scipy.stats.boschloo_exact(table, alternative='two-sided', n=32)[源代码][源代码]#

对2x2列联表执行Boschloo的精确检验。

参数:
类数组的整数

一个2x2的列联表。元素应为非负整数。

替代方案{‘双侧’, ‘小于’, ‘大于’}, 可选

定义零假设和备择假设。默认是’双侧’。请参见下面的注释部分中的解释。

nint, 可选

采样方法构建中使用的采样点数量。注意,由于使用 scipy.stats.qmc.Sobol 来选择采样点,此参数将自动转换为下一个更高的2的幂。默认值为32。必须为正数。在大多数情况下,32个点足以达到良好的精度。更多的点会带来性能成本。

返回:
berBoschlooExactResult

一个具有以下属性的结果对象。

统计浮动

Boschloo 检验中使用的统计量;即 Fisher 精确检验的 p 值。

p值浮动

P值,即在零假设为真的前提下,获得至少与实际观察到的分布一样极端的分布的概率。

参见

chi2_contingency

卡方独立性检验用于检验列联表中变量的独立性。

fisher_exact

对2x2列联表进行Fisher精确检验。

barnard_exact

Barnard 精确检验,对于 2x2 列联表来说,它比 Fisher 精确检验具有更强的替代性。

注释

Boschloo 检验是一种用于列联表分析的精确检验。它检验两个分类变量之间的关联,并且对于 2x2 列联表,它是 Fisher 精确检验的一个均匀更强大的替代方法。

Boschloo 的精确检验使用 Fisher 精确检验的 p 值作为统计量,而 Boschloo 的 p 值是在零假设下观察到如此极端的统计量值的概率。

让我们定义 \(X_0\) 为一个2x2矩阵,表示观测样本,其中每一列存储二项实验,如下例所示。我们还定义 \(p_1, p_2\)\(x_{11}\)\(x_{12}\) 的理论二项概率。在使用Boschloo精确检验时,我们可以提出三种不同的备择假设:

  • \(H_0 : p_1=p_2\) 对比 \(H_1 : p_1 < p_2\),使用 alternative = “less”

  • \(H_0 : p_1=p_2\) 对比 \(H_1 : p_1 > p_2\),其中 alternative = “greater”

  • \(H_0 : p_1=p_2\) 对比 \(H_1 : p_1 eq p_2\),使用 alternative = “two-sided”(默认)

在零分布不对称时,计算双侧p值有多种约定。这里,我们采用双侧检验的p值是单侧检验p值的最小值的两倍(截断到1.0)的约定。注意,fisher_exact`遵循不同的约定,因此对于给定的`table`boschloo_exact`报告的统计量可能与`fisher_exact`在``alternative=’two-sided’``时报告的p值不同。

Added in version 1.7.0.

参考文献

[1]

R.D. Boschloo. “在测试两个概率相等时,对于2 x 2表格提高的条件显著性水平”,《荷兰统计学》,24(1),1970年

[2]

“博世鲁的检验”,维基百科,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\) ,表示非常满意的科学家的比例。因此,我们使用 alternative="greater" 选项调用 boschloo_exact

>>> 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\) 以支持备择假设。