LRM 与 GLM 输出中的不同系数

Different coefficient in LRM vs GLM output

首先请注意,我无法在我的数据集之外的任何内容上重现此错误。但是,这是一般的想法。我有一个数据框,我正在尝试构建一个简单的逻辑回归来了解 Amount 对 IsWon 的边际效应。两个模型都表现不佳,毕竟是一个预测器,但它们产生两个不同的系数

首先是 glm 输出:

> summary(mod4)

Call:
glm(formula = as.factor(IsWon) ~ Amount, family = "binomial", 
    data = final_data_obj_samp)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2578  -1.2361   1.0993   1.1066   3.7307  

Coefficients:
                  Estimate     Std. Error z value              Pr(>|z|)    
(Intercept)  0.18708622416  0.03142171761  5.9540        0.000000002616 ***
Amount      -0.00000315465  0.00000035466 -8.8947 < 0.00000000000000022 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 6928.69  on 4999  degrees of freedom
Residual deviance: 6790.87  on 4998  degrees of freedom
AIC: 6794.87

Number of Fisher Scoring iterations: 6

注意金额的负系数。

现在来自 rms 的 lrm 函数

Logistic Regression Model

lrm(formula = as.factor(IsWon) ~ Amount, data = final_data_obj_samp, 
    x = TRUE, y = TRUE)
                       Model Likelihood     Discrimination    Rank Discrim.    
                          Ratio Test            Indexes          Indexes       
Obs           5000    LR chi2     137.82    R2       0.036    C       0.633    
 0            2441    d.f.             1    g        0.300    Dxy     0.266    
 1            2559    Pr(> chi2) <0.0001    gr       1.350    gamma   0.288    
max |deriv| 0.0007                          gp       0.054    tau-a   0.133    
                                            Brier    0.242                     

          Coef   S.E.   Wald Z Pr(>|Z|)
Intercept 0.1871 0.0314  5.95  <0.0001 
Amount    0.0000 0.0000 -8.89  <0.0001 

两个模型都做得不好,但一个估计正系数,另一个估计负系数。当然,这些值可以忽略不计,但有人可以帮助我理解这一点。

lrm 对象的情节如下所示。

> plot(Predict(mod2, fun=plogis))

该图显示预测的获胜概率与金额有非常负的关系。

似乎 lrm 正在将系数估计为最接近的 ±0.0000 值。由于系数值远低于该值,因此它只是将其四舍五入为 0.0000。因此,它看起来是积极的,但实际上可能并非如此。

您不应依赖 summary 的打印结果来检查系数。摘要 table 由 print 控制,因此总是会出现舍入问题。您是否尝试过mod4$coef(获取glm模型mod4的系数)和mod2$coef(获取lrm模型mod2的系数)?最好阅读 ?glm?lrm 的 "values" 部分。