scipy.stats.contingency.

odds_ratio#

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

计算2x2列联表的比值比。

参数:
类数组的整数

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

种类str, 可选

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

返回:
结果 : OddsRatioResult 实例OddsRatioResult 实例

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

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

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

该对象有一个 confidence_interval 方法,用于计算比值比的置信区间。

注释

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

Added in version 1.10.0.

参考文献

[1]

R. A. Fisher (1935), The logic of inductive inference, Journal of the Royal Statistical Society, Vol. 98, No. 1, pp. 39-82.

[2]

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

[3]

H. Sahai and A. Khurshid (1996), Statistics in Epidemiology: Methods, Techniques, and Applications, CRC Press LLC, Boca Raton, Florida.

[4]

Berger, Jeffrey S. 等人。“阿司匹林用于男性和女性心血管事件的一级预防:一项性别特异性随机对照试验的荟萃分析。”《美国医学会杂志》,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这一事实支持了作者的结论,即阿司匹林与缺血性中风发生率的统计学显著降低有关。