scipy.stats.

boschloo_exact#

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

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

参数:
table整数数组形式

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

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

定义零假设和备择假设。默认值为“two-sided”。请参阅下面“说明”部分中的解释。

nint, 可选

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

返回值:
berBoschlooExactResult

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

statisticfloat

Boschloo 检验中使用的统计量;即,费舍尔精确检验的 p 值。

pvaluefloat

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

另请参阅

chi2_contingency

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

fisher_exact

对 2x2 列联表进行费舍尔精确检验。

barnard_exact

巴纳德精确检验,它是 2x2 列联表比费舍尔精确检验更强大的替代方案。

说明

Boschloo 检验是一种精确检验,用于分析列联表。它检查两个分类变量的关联,并且是 2x2 列联表费舍尔精确检验的更强大的统一替代方案。

Boschloo 精确检验使用费舍尔精确检验的 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 检验”,维基百科,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\),非常满意的科学家的比例。因此,我们调用 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\),从而支持备择假设。