scipy.stats.contingency.

优势比#

scipy.stats.contingency.odds_ratio(table, *, kind='conditional')[source]#

计算 2x2 列联表的优势比。

参数:
tablearray_like of ints

一个 2x2 列联表。元素必须是非负整数。

kindstr, optional

要计算哪种优势比,样本优势比 (kind='sample') 还是条件优势比 (kind='conditional')。默认值为 'conditional'

返回值:
resultOddsRatioResult 实例

返回的对象有两个计算属性

statisticfloat
  • 如果 kind'sample',则这是样本(或无条件)估计值,由 table[0, 0]*table[1, 1]/(table[0, 1]*table[1, 0]) 给出。

  • 如果 kind'conditional',则这是优势比的条件最大似然估计。它是具有与 table 相同超几何参数的 Fisher 非中心超几何分布的非中心参数,其平均值为 table[0, 0]

该对象具有方法 confidence_interval,它计算优势比的置信区间。

注释

条件优势比由 Fisher 讨论(参见 [1] 中的“示例 1”)。涵盖优势比的文本包括 [2][3]

在 1.10.0 版本中添加。

参考资料

[1]

R. A. Fisher (1935),归纳推理的逻辑,皇家统计学会杂志,第 98 卷,第 1 号,第 39-82 页。

[2]

Breslow NE, Day NE (1980)。癌症研究中的统计方法。第一卷 - 病例对照研究的分析。IARC Sci Publ. (32):5-338. PMID: 7216345。 (参见第 4.2 节。)

[3]

H. Sahai 和 A. Khurshid (1996),流行病学中的统计学:方法、技术和应用,CRC Press LLC,佛罗里达州博卡拉顿。

[4]

Berger, Jeffrey S. 等人。“阿司匹林预防女性和男性心血管事件:随机对照试验的性别特异性荟萃分析。” JAMA, 295(3):306-313, DOI:10.1001/jama.295.3.306, 2006。

示例

在流行病学中,个体被归类为“暴露”或“未暴露”于某个因素或治疗。如果正在研究某种疾病的发生,则患病者通常被归类为“病例”,而未患病者被归类为“非病例”。这些类别发生情况的计数给出了列联表

            exposed    unexposed
cases          a           b
noncases       c           d

样本优势比可以写成 (a/c) / (b/d)a/c 可以解释为暴露组中发生病例的几率,而 b/d 可以解释为未暴露组中发生病例的几率。样本优势比是这些几率的比率。如果优势比大于 1,则表明暴露与病例之间存在正相关关系。

交换列联表的行或列会反转优势比,因此在解释优势比时,重要的是要理解赋予表行和列的标签的含义。

[4] 中,研究了使用阿司匹林预防女性和男性心血管事件。该研究得出以下结论

……阿司匹林疗法通过降低女性缺血性卒中的风险,降低了心血管事件复合终点的风险……

这篇文章列出了各种心血管事件的研究。让我们关注女性的缺血性卒中。

下表总结了参与者定期服用阿司匹林或安慰剂多年的实验结果。记录了缺血性卒中的病例

                  Aspirin   Control/Placebo
Ischemic stroke     176           230
No stroke         21035         21018

我们要问的问题是“是否有证据表明阿司匹林可以降低缺血性卒中的风险?”

计算优势比

>>> from scipy.stats.contingency import odds_ratio
>>> res = odds_ratio([[176, 230], [21035, 21018]])
>>> res.statistic
0.7646037659999126

对于这个样本,服用阿司匹林者发生缺血性卒中的几率是服用安慰剂者的 0.76 倍。

为了对所研究的人群进行统计推断,我们可以计算优势比的 95% 置信区间

>>> res.confidence_interval(confidence_level=0.95)
ConfidenceInterval(low=0.6241234078749812, high=0.9354102892100372)

条件优势比的 95% 置信区间约为 (0.62, 0.94)。

整个 95% 置信区间都低于 1 的事实支持了作者的结论,即阿司匹林与缺血性卒中的统计学显著降低有关。