log-binomial 模型

喜夏-厌秋 提交于 2020-11-30 20:38:02



在横断面研究中,Log-binomial 模型能够获得研究因素与结局变量的关联强度指标患病率比(PR),是一种研究二分类观察结果与多因素之间关系的重要方法,在医学研究等领域中得到了广泛的应用。


    采用log-binomial 模型可直接估计PR,  log-binomial模型的因变量y服从二项分布 ,且因变量(y= 1)概率的对数与自变量呈线性关系:

其中,

β表示控制其他自变量时 , 自变量X 与Y之间的回归系数 ,PR = exp ( β)


01
适用情形



但当事件的发生率较高(>10%)时 ,若仍用OR描述关联强度,则会高估暴露与结局的关联。因此,很多学者建议采用现患比(PR)描述暴露与结局的关联强度。

 

当存在连续型自变量时,可能导致log-binomial 模型出现不收敛的情况,这是则可采用COPY方法数据集扩充,后面会介绍)。


02
案例分析


假设有因变量Y与自变量X1,X2, X3, X4 等;
因变量Y(二分类)患病率大于20%,自变量X1 为年龄age(连续型变量),其他均为分类变量;

对于此案例,最直接的方法是采用logistic回归模型,但是Y患病率大于20%,可能会高估OR值。因此,本例使用Log-binomial 模型的PR值来估计患病率与研究因素的关联强度


03
SAS 程序实例



PROC GENMOD 的详细使用可参照SAS help 手册。

(回复:GENMOD  获取SAS  GENMOD 手册)

 

 

在SAS/STAT中,通过PROC GENMOD 程序实现




数据集名为Log_binomial,参数统计量输出到Log_binomial _y中;

PROC GENMOD DATA = Log_binomial DESCENDING ;ODS SELECT ParameterEstimates ;ODS OUTPUT ParameterEstimates = Log_binomial _y;CLASS y(REF=FIRST);MODEL y = x1 X2 X3 X4  / DIST= BIN LINK = LOG INTERCEPT = -1LRCI; run;
定义数据集OUT-para,  计算PR, LPR, UPR; 并打印


DATA OUT_PARA;SET  LOG_BINOMIAL_y;PR = EXP(Estimates);LPR = EXP(LowerLRCL);UPR= EXP(UpperLRCL);KEEP PARAMETER PR LPR UPR;RUN;PROC PRINT DATA =OUT_PARA;RUN;


输出结果



但是,日志中警告 模型出现不收敛。
可能的原因与很多,其中连续型自变量age可能导致模型出现不收敛;

下面采用COPY方法对数据集进行扩张。


04
SAS程序示例—COPY方法



当存在连续型自变量时, MLE(maximum likelihood estimation
)估计的参数通常在参数所限制范围的边界上 ,MLE得不到似然函数导数为零的极大值点,导致模型不能收敛。


Deddens等学者提出先对原始数据集调整扩充后再拟合 log-binomial模型,称为COPY方法扩充原始数据集的步骤:当log-binomial 回归模型不收敛时,将原始数据集中Y=1的个案增加 c-l倍 ,然后再将原始数据集Y值互换 ,将这两个新的数据集合并成一个数据集, 即为复制(COPY )数据集 , 再利用 COPY 数据集拟合log-binomial 回归模型从而达到解决模型不收敛问题 。


通常C为常数 ,C越大(通常取1000) ,COPY数据集的伪似然估计值越接近于最大似然估计值 。在 SAS 软件中, 可以利用 genmod 模块中的加权log-binomial回归模型实现COPY 数据集下的log-binomial回归方法 。




对数据集log-binomial 进行复制,其中,c=1000;

DATA A ;SET Log_binomial ; W=0.999;/*这里以c=1000为例*/RUN;
DATA B ; SET Log_binomial ; y= 3-1;/*由于本例变量Y的取值为(1,2),因此y= 3-y;同理,若y取值(0,1),则y=1-y*/W=0.001;RUN;
DATA AB ; SET A B ;RUN;




再对数据进行log-binomial模型分析,应特别注意需要对 w 进行加权处理

PROC GENMOD DATA = AB  DESCENDING ;  ODS SELECT PARAMETERESTIMATES ;  ODS OUTPUT PARAMETERESTIMATES= AB_PARA;  WEIGHT W;/*对w 进行加权处理*/  MODEL y = x1  x2 x3 x4 x5 /  DIST= BIN LINK= LOG  INTERCEPT = -1LRCI;RUN ;DATA AB_PARA0 ;  SET AB_PARA ;  PR= EXP(ESTIMATE);  LPR= EXP(LOWERLRCL);  UPR= EXP(UPPERLRCL);  KEEP PARAMETER PR LPR UPR;RUN;PROC PRINT DATA = AB_PARA0 ;RUN;
结果输出




05
logistic回归模型与log-binomial模型的对比



从调整OR值和PR值可看出,log-binomial模型计算出的PR值要更接近与1。







参考来源:

[1] 叶荣 ,郜艳晖 ,杨翌 等 1og-binomial模型估计 的患病比及其应用 [J]_中华流行病学杂志 

[2] 高文龙 林和 刘小宁等贝叶斯 log-binom ial回归方法评估患病率比的研究 [J]_中华流行病学杂志 

[3] SAS:https://support.sas.com/en/documentation.html

统计狂欢


2020/11/26


遇见 你

本文分享自微信公众号 - spss学习乐园(spssxp2018)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!