相对风险#
- scipy.stats.contingency.relative_risk(exposed_cases, exposed_total, control_cases, control_total)[源代码][源代码]#
计算相对风险(也称为风险比)。
此函数计算与2x2列联表相关的相对风险([1],第2.2.3节;[2],第3.1.2节)。该函数不接受表格作为参数,而是将用于计算相对风险的各个数字作为单独的参数给出。这是为了避免列联表的哪一行或哪一列对应于“暴露”病例,哪一行或哪一列对应于“对照”病例的模糊性。与优势比不同,相对风险在行或列互换时不是不变的。
- 参数:
- 暴露案例非负整数
在“暴露”个体样本中,“病例”(即疾病或其他感兴趣事件的发生)的数量。
- 暴露总数正整数
样本中“暴露”个体的总数。
- 控制案例非负整数
在“对照”或未暴露个体的样本中,“病例”的数量。
- 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表格,当给出参数 method=”wald” 时,通过 riskratio 计算CI的估计值,或者使用函数 riskratio.wald。
例如,在针对吸烟者和非吸烟者样本中肺癌发病率的测试中,“暴露”类别将对应于“是吸烟者”,而“疾病”类别将对应于“患有或曾患有肺癌”。
要将相同的数据传递给
relative_risk
,请使用:relative_risk(n11, n10 + n11, n01, n00 + n01)
Added in version 1.7.0.
参考文献
[1]Alan Agresti, 《分类数据分析导论》(第二版), 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风险增加相关的说法。