科研星球

关于校正率的计算方法总结

关于校正的率的计算,其实有多种不同的思路,一种是基于”标化“的方法,另一种是基于模型的校正方法。不过两种方法,并不是完全割裂的。以下是本人的一些不完全总结,供大家参考。

基于 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),并附上简要介绍社区加入 ”统技思维“ 配套社群,社群目前免费。

参考文献:

  1. 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.
  2. 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.
  3. Jiming Fang FQ. Model-Based Risk-Adjustment in Clinical Outcome Research. SAS Global Forum 2020。


没有账号?