关于校正的率的计算方法总结
关于校正的率的计算,其实有多种不同的思路,一种是基于”标化“的方法,另一种是基于模型的校正方法。不过两种方法,并不是完全割裂的。以下是本人的一些不完全总结,供大家参考。
基于 logistic 回归 计算校正的率
基于 logistic 回归 计算校正的率,这是大家最容易想到的方法。不过细究起来,这里面也有不同的方法。Muller CJ. Int J Epidemiol. 2014;43(3):962-970. 总结比较了三种方法,并做了总结:marginal standardization 是对总体进行推理的合适方法,其他方法的应谨慎使用,尤其时混杂因素有分类变量时,不应使用 prediction at the modes 。在软件实现上,Stata 比 SAS 有优势,Stata 提供的margins 命令可以非常方便的实现 marginal standardization。
| 方法 | 原理 | 备注 |
|---|---|---|
| marginal standardization | 计算协变量的每一个取值下的预测概率,然后给每个暴露水平加权平均。 | 推荐使用,且 stata的margins 命令可以直接实现,不过 SAS 无法直接实现。 |
| prediction at the modes | 给每个暴露水平计算协变量取值为众数时的条件概率 | 不推荐使用 |
| prediction at the means | 给每个暴露水平计算协变量取值为均数时的条件概率 | 不推荐使用,尤其时混杂因素有分类变量时。Stata的atmeans 选项 可以实现。 |
标化死亡比 (standardised mortality ratios)
要比较校正的率,还有一种思路就是比较标化的率比。Mohammed MA. Stat Methods Med Res. 2016;25(2):706-715. 总结比较了四种医院标化死亡比的方法:DeLong 和 Glance 的方法估计并不理想,Render 和 Shahian 的方法,是两种不同的思维模式。
| 方法 | 原理 | 备注 |
|---|---|---|
| DeLong. Stat Med 1997; 16: 2645–2664. | 某医院病人死亡的odds 和“平均质量医院”病人死亡的 odds 相比较 | 估计不理想 |
| Glance. Intensive Care Med 2003; 29: 2223–2229. | 某医院实际观察到的死亡数比上“平均质量医院”期望的死亡数 | 估计不理想 |
| Render. Crit Care Med 2005; 33: 930–939. | “平均病情病人”在不同医院的死亡 odds 比较 | 不同的思维模式 |
| Shahian.Ann Thorac Surg 2005; 80: 2106–2113 | 病人在本院与在“平均质量医院”的死亡风险比 | 不同的思维模式 |
基于模型的风险校正率
此外,还有一种基于标化的校正方法,文献中常被成为 model-based risk adjusted rate,其本质是一种间接标化率。其总体思路是利用 O/E 比和总体粗率来计算校正的率。
校正的率:
几个重要的概念:
实际发生事件数: , 为个体的实际观察结果,0/1 , 是医院标记, 是病人标记。
期望的概率: , 为个体的预测概率,0~1, 是医院标记, 是病人标记
具体在计算时,可以基于不同的模型计算 O/E ,比如 Logistic 回归 ,层次Logistic 回归,Poisson 回归,层次Poisson 回归,以及 Cox 回归,和带竞争风险的 FINE-GRAY 回归。
基于 Logistic 回归
Logistic 回归计算率:
其 95% 的 CI 可以基于 O/E 的95% CI 来计算:
核心SAS 代码如下:
Proc Genmod data=mydata;
class &adj_cvar;
model outcome=&adj_nvar &adj_cvar/d=b link=logit;
output out=_exp predicted=expected_risk;
run;
基于层次 Logistic 回归
基于层次Logistic 回归,和单纯的 logistic 回归不同,有以下特点:
考虑了医院的 clustering 效应,采用医院别的随机效应 logistic 回归模型 用预测的概率取代实际发生数,防止某些医院的事件发生列数为 0 时 O= 0 的情况发生
核心的计算公式:
, 是医院别的随机效应; 是回归参数
, 假定本医院等同于于平均水平
率的 95 CI 的计算:需要借助 bootstrap 或者 贝叶斯。
核心的 SAS 代码
Proc glimmix data=mydata;
class Hospital &adj_cvar;
model outcome (event='1')= &adj_nvar &adj_cvar /d=binary;
output out=_exp pred(blup ilink)=predicted_prob pred(noblup ilink)=expected_prob;
random intercept /subject=Hospital;
run;
基于 Poisson 回归
如果是 Pearson-time 人时这种数据,则可借助 Poisson 回归。需要留意的是,Poisson 回归 中,需要将Pearson-time 取 log 后作为 offset 。
核心 SAS 代码如下:
*** Expected Rate;
Proc Genmod data=mydata;
class &adj_cvar; model outcome=&adj_nvar &adj_cvar/d=P link=log offset=log_persontime; output out=_exp predicted=expected_rate;
run;
*** Observed Rate;
Proc Genmod data=mydata;
class Hospital; model outcome=Hospital/d=P link=log offset=log_persontime;
lsmean Hospital /ilink;
run;
基于层次 Poisson 回归
同层次 logistic 回归类似,考虑了医院的 clustering 效应,用预测的发病密度取代实际发生数。
核心SAS 代码如下:
*==person-time rate;
Proc glimmix data=mydata;
class Hospital &adj_cvar;
model outcome (event='1')= &adj_nvar &adj_cvar /d=P link=log offset=log_persontime;
output out=_exp pred(blup ilink) =predicted_rate pred(noblup ilink)=expected_rate;
random intercept /subject=Hospital;
run;
基于Cox 回归模型
对于 time-to-event 的数据,需要用 Cox 回归模型获得 E,同时不能直接计算 O, O 的计算也要考虑生存数据的特点,采用 k-m 法估计。
核心 SAS 代码:
*** Expected survival probability;
Proc Phreg data=mydata;
class &adj_cvar; Model survTime*status(0)= &adj_nvar &adj_cvar /ties=efron;
Baseline covariates=mydata out=_Exp survival=survival timelist=365;
Run;
*** Observed survival probability by hospital;
Proc Lifetest data=mydata outsurv=_Obs noprint timelist=365 reduceout;
time survTime*status(0);
strata hospital;
run;
基于 FINE-GRAY 模型
如果 time-to-event 的数据 带有竞争风险,此时传统的 Cox 模型就需要替换为 FINE-GRAY 模型 ,以考虑竞争风险带来的影响。在计算O 时,也需要用 cumulative incidence function 。
核心 SAS 代码:
*** Expected CIF;
Proc phreg data=mydata;
class &adj_cvar; model survTime*Status(0)= &adj_nvar &adj_cvar /eventcode=1;
baseline covariates=mydata out=_ExpCIF CIF=predCIF;
run;
*** Observed CIF by hospital;
Proc lifetest data=mydata outcif=_ObsCIF noprint;
time survTime*Status(0) /eventcode=1;
strata hospital;
run;
更多学习资料,可加我好友(wechat: statsxyz),并附上简要介绍社区加入 ”统技思维“ 配套社群,社群目前免费。
参考文献:
Muller CJ, MacLehose RF. Estimating predicted probabilities from logistic regression: different methods correspond to different target populations. Int J Epidemiol. 2014;43(3):962-970. Mohammed MA, Manktelow BN, Hofer TP. Comparison of four methods for deriving hospital standardised mortality ratios from a single hierarchical logistic regression model. Stat Methods Med Res. 2016;25(2):706-715. Jiming Fang FQ. Model-Based Risk-Adjustment in Clinical Outcome Research. SAS Global Forum 2020。