正文

当logistic回归遇到log-凯发k8国际首页登录

  当遇到log-binomial回归。当结局发生率较大时,再使用or来估计rr时会不准确,建议当结局发生率大于10%时,使用log-binomial回归方法替代,下面简单给大家介绍一下log-binomial回归。

我们知道的模型

  ,而log-binomial回归只将模型作一点变化,即将p/(1-p)换成p(p为结局发生的概率)。模型很容易理解,但模型等号前的lnp是个负数,而等号后面的b0 bixi可以为正也可以为负,因此在回归时需要加一个限制条件即b0 bixi≤0,因此log-binomal回归是一个有偏估计。

  现在我们模型一个数据看看两个回归的结果。我们设定某病的基线患病率为10%,分别模拟rr=1,2,3的三个数据,总人数为1000,暴露组和非暴露组各500例。如下表。当rr=1时,暴露组和非暴露组各有50人患病。

  分别使用和log-binomial回归进行,得到的结果如下表。

  可以看出,虽然log-binomial回归是有偏估计,但估计值与预设的rr完全一样,而且置信区间也比较小,也即更加精确。因此当结局发生率较高,应该用log-binomial回归尝试进行。

  在进行log-binomial回归时,自变量如果是连续变量时,可能造成模型不收敛,因此我们需要将数据进行加权,方法是将原数据复制后,复制数据其它不变,将结局变量0与1对换,给予原数据较高的权重(一般0.99)以上,给予复制数据较低的权重(一般0.01以下),再进行回归分析。log-binomial回归尚不能在菜单中实现,现把程序给大家,拿走不谢。

  proc genmod data=a;

  ods select parameterestimates;

  ods output parameterestimates=para0;

  weight w;

  model y=x/d=bin link=log intercept=-1lrci;

  run;

  proc print data=para0;

  run;

  data para;

  set para0;

  pr=exp(estimate);

  lpr=exp(lowerlrcl);

  upr=exp(upperlrcl);

  keep parameter pr lpr upr;

  proc print data=para;

  run;

来源:临床流行病学和循证医学 张华 赵一鸣
爱科学

上一篇:试验和实验能混用吗?

下一篇:科研论文写作中规范报告logistic回归结果

登录注册
欢迎内容投稿或举报!e-mail: ikx@ikx.cn
凯发天生赢家一触即发官网 copyright © 爱科学 iikx.com "));
网站地图