scipy.stats.

boschloo_exact#

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

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

参数:
tableint 类型的类数组

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

alternative{‘two-sided’, ‘less’, ‘greater’}, 可选

定义零假设和备择假设。默认为 ‘two-sided’。请参阅下面的 Notes 部分中的说明。

nint, 可选

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

返回:
berBoschlooExactResult

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

statisticfloat

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

pvaluefloat

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

参见

chi2_contingency

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

fisher_exact

2x2 列联表的 Fisher 精确检验。

barnard_exact

Barnard 的精确检验,它是比 Fisher 的精确检验更强大的 2x2 列联表替代方案。

注释

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 \neq p_2\) 相对,alternative = “two-sided” (默认)

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

1.7.0 版本新增。

参考文献

[1]

R.D. Boschloo. “当测试两个概率的相等性时,2 x 2 表的条件水平显着性升高”,Statistica Neerlandica, 24(1), 1970

[2]

“Boschloo’s test”,Wikipedia,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 位表示他们对自己的工作非常满意,而 117 位大学教授中有 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\) 以支持备择假设。