scipy.stats.contingency.

relative_risk#

scipy.stats.contingency.relative_risk(exposed_cases, exposed_total, control_cases, control_total)[源代码]#

计算相对风险(也称为风险比率)。

此函数计算与 2x2 列表函数关联的相对风险 ([1],第 2.2.3 节;[2],第 3.1.2 节)。该函数不接受表格作为参数,而是将用于计算相对风险的各个数字作为单独的参数提供。这是为了避免混淆列表函数的哪一行或哪一列对应于“暴露”病例,哪一行或哪一列对应于“对照”病例。与(例如)优势比不同,相对风险不会在行或列互换后保持不变。

参数:
exposed_cases非负整数

“暴露”个体样本中出现的“病例”(即疾病发生或其他感兴趣的事件)的数量。

exposed_total正整数

样本中“暴露”个体的总数。

control_cases非负整数

“对照”或未暴露个体样本中“病例”的数量。

control_total正整数

样本中“对照”个体的总数。

返回:
结果实例 RelativeRiskResult

该对象具有浮点属性 relative_risk,这是

rr = (exposed_cases/exposed_total) / (control_cases/control_total)

该对象还具有方法 confidence_interval,该方法可计算给定置信水平的相对风险的置信区间。

另请参阅

几率比

注意

R 程序包 epitools 具有函数 riskratio,该函数接受具有以下布局的表

                disease=0   disease=1
exposed=0 (ref)    n00         n01
exposed=1          n10         n11

使用以上格式的 2x2 表格时,当给出参数方法=”wald”时,估计 CI 由 riskratio 计算,或使用函数 riskratio.wald

例如,在吸烟者和非吸烟者样本中测试患肺癌的发生率时,“暴露”类别对应于“是吸烟者”,并且“疾病”类别对应于“患有或曾患有肺癌”。

要将相同的数据传递给 relative_risk,请使用

relative_risk(n11, n10 + n11, n01, n00 + n01)

添加于版本 1.7.0 中。

参考

[1]

艾伦·阿格雷斯蒂,《分类数据分析导论》(第二版),Wiley,霍博肯,新泽西州,美国 (2007)。

[2] (1,2)

哈迪欧·萨海和安韦尔·库尔希德,《流行病学中的统计》,CRC Press LLC,博卡拉顿,佛罗里达州,美国 (1996)。

示例

>>> from scipy.stats.contingency import relative_risk

此示例来自 [2] 中的示例 3.1。心脏病研究的结果总结在以下表中

         High CAT   Low CAT    Total
         --------   -------    -----
CHD         27         44        71
No CHD      95        443       538

Total      122        487       609

冠心病是 CHD,CAT 指循环儿茶酚胺水平。CAT 是“暴露”变量,而高 CAT 是“暴露”类别。因此,从表中传递给 relative_risk 的数据是

exposed_cases = 27
exposed_total = 122
control_cases = 44
control_total = 487
>>> result = relative_risk(27, 122, 44, 487)
>>> result.relative_risk
2.4495156482861398

找到相对风险的置信区间。

>>> result.confidence_interval(confidence_level=0.95)
ConfidenceInterval(low=1.5836990926700116, high=3.7886786315466354)

该区间不包含 1,因此数据支持高 CAT 与较大的 CHD 风险相关这一说法。