Вычисление ИЛИ для логистической регрессии с использованием rms

#r #logistic-regression

#r #логистическая регрессия

Вопрос:

У меня есть модель логистической регрессии, для которой я использую пакет rms. Модель лучше всего подходит для использования логарифмического термина для tn1, а для клинической интерпретации я использую log2. Я запустил модель с использованием lrm из пакета rms, а затем, чтобы перепроверить, я запустил ее с помощью glm. Начальные коэффициенты одинаковы:

 h <- lrm(formula = outcomehosp ~ I(log2(tn1   0.001))   apscore_ad   
emsurg   corrapiidiag, data = d, x = TRUE, y = TRUE)

            Coef    S.E.   Wald Z Pr(>|Z|)
Intercept       -3.4570 0.3832 -9.02  <0.0001 
tn1              0.0469 0.0180  2.60  0.0093  
apscore_ad       0.1449 0.0127 11.44  <0.0001 
emsurg           0.0731 0.3228  0.23  0.8208  

f <- glm(formula = outcomehosp ~ apscore_ad   emsurg   corrapiidiag   
I(log2(tn1   0.001)), family = binomial(), data = tn24)

Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)          -3.45699    0.38315  -9.023  < 2e-16 
I(log2(tn1   0.001))  0.04690    0.01804   2.600  0.00932 
apscore_ad            0.14487    0.01267  11.438  < 2e-16 
emsurg                0.07310    0.32277   0.226  0.82082    
  

Однако, когда я пытаюсь получить коэффициенты шансов, они заметно отличаются для tn1 между двумя моделями, и, похоже, это не разница в преобразовании log2.

 summary(h) 
         Effects              Response : outcomehosp 

 Factor               Low High  Diff. Effect    S.E.    Lower 0.95  Upper 0.95
 tn1                   0   0.21  0.21  0.362120 0.15417  6.5300e-02  0.673990 
 Odds Ratio           0   0.21  0.21  1.436400      NA  1.0675e 00  1.962100 
 apscore_ad           14  25.00 11.00  1.593600 0.15631  1.3605e 00  1.961000 
 Odds Ratio          14  25.00 11.00  4.921400      NA  3.8981e 00  7.106600 
 emsurg                0   1.00  1.00  0.073103 0.33051 -5.8224e-01  0.734860 
 Odds Ratio           0   1.00  1.00  1.075800      NA  5.5865e-01  2.085200 

exp(f$coefficients)
(Intercept)      0.03152467           
apscore_ad        1.15589222           
emsurg        1.07584115       
I(log2(tn1   0.001)) 1.04802
  

Кто-нибудь сможет объяснить, для чего пакет rms вычисляет отношение шансов? Большое спасибо.

Ответ №1:

tn1 Эффект от summary(h) — это влияние на логарифм отношения шансов tn1 перехода от 0 к 0,21 — межквартильный диапазон. См ?summary.rms .

Итак, эффект от первой строки summary(h) равен 0.36212 = (log2(0.211)-log2(0.001))*.0469 .

Комментарии:

1. Это прекрасно объясняет, большое вам спасибо. Возможно ли изменить эффект на изменение на 1 единицу, а не на межквартильный диапазон?

2. См ?summary.rms . , Особенно раздел Аргументы, в частности ту часть, которая гласит Specify e.g. ‘age=c(40,60)’ to estimate the effect of increasing age from 40 to 60 .