relative_risk#
- scipy.stats.contingency.relative_risk(exposed_cases, exposed_total, control_cases, control_total)[source]#
计算相对风险 (也称为风险比率)。
此函数计算与 2x2 列联表关联的相对风险 ([1], 第 2.2.3 节; [2], 第 3.1.2 节)。 此函数不接受表作为参数,而是将用于计算相对风险的各个数字作为单独的参数给出。 这是为了避免列联表的哪一行或哪一列对应于“暴露”病例以及哪一行对应于“对照”病例的歧义。 与例如优势比不同,相对风险在行或列的互换下不是不变的。
- 参数:
- exposed_cases非负整数
在“暴露”个体样本中,“病例”(即疾病或其他感兴趣事件的发生)的数量。
- exposed_total正整数
样本中“暴露”个体的总数。
- control_cases非负整数
在“对照”或未暴露个体样本中,“病例”的数量。
- control_total正整数
样本中“对照”个体的总数。
- 返回:
- result
RelativeRiskResult
的实例 该对象具有 float 属性
relative_risk
,它是rr = (exposed_cases/exposed_total) / (control_cases/control_total)
该对象还具有方法
confidence_interval
,用于计算给定置信水平的相对风险的置信区间。
- result
另请参阅
注释
R 包 epitools 具有函数 riskratio,该函数接受具有以下布局的表
disease=0 disease=1 exposed=0 (ref) n00 n01 exposed=1 n10 n11
对于上述格式的 2x2 表,当给出参数 method="wald" 时,CI 的估计由 riskratio 计算,或者使用函数 riskratio.wald 计算。
例如,在对吸烟者和非吸烟者样本中肺癌发病率的测试中,“暴露”类别将对应于“吸烟者”,而“疾病”类别将对应于“患有或曾患有肺癌”。
要将相同的数据传递给
relative_risk
,请使用relative_risk(n11, n10 + n11, n01, n00 + n01)
1.7.0 版本新增。
参考文献
[1]Alan Agresti, An Introduction to Categorical Data Analysis (second edition), Wiley, Hoboken, NJ, USA (2007).
示例
>>> 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 风险相关。