评估逻辑回归模型

机器算法验证 r 物流 拟合优度
2022-03-12 10:12:24

我一直在研究逻辑模型,但在评估结果时遇到了一些困难。我的模型是二项式 logit。我的解释变量是:一个有 15 个级别的分类变量、一个二分变量和 2 个连续变量。我的 N 大于 8000。

我正在尝试为公司的投资决策建模。因变量是投资(是/否),15 个水平变量是经理报告的不同投资障碍。其余变量是对销售、信用和已用产能的控制。

下面是我的结果,使用rmsR 中的包。

  Model Likelihood     Discrimination    Rank Discrim.    
                         Ratio Test            Indexes          Indexes       
Obs          8035    LR chi2     399.83    R2       0.067    C       0.632    
 1           5306    d.f.            17    g        0.544    Dxy     0.264    
 2           2729    Pr(> chi2) <0.0001    gr       1.723    gamma   0.266    
max |deriv| 6e-09                          gp       0.119    tau-a   0.118    
                                           Brier    0.213                     

          Coef    S.E.   Wald Z Pr(>|Z|)
Intercept -0.9501 0.1141 -8.33  <0.0001 
x1=10     -0.4929 0.1000 -4.93  <0.0001 
x1=11     -0.5735 0.1057 -5.43  <0.0001 
x1=12     -0.0748 0.0806 -0.93  0.3536  
x1=13     -0.3894 0.1318 -2.96  0.0031  
x1=14     -0.2788 0.0953 -2.92  0.0035  
x1=15     -0.7672 0.2302 -3.33  0.0009  
x1=2      -0.5360 0.2668 -2.01  0.0446  
x1=3      -0.3258 0.1548 -2.10  0.0353  
x1=4      -0.4092 0.1319 -3.10  0.0019  
x1=5      -0.5152 0.2304 -2.24  0.0254  
x1=6      -0.2897 0.1538 -1.88  0.0596  
x1=7      -0.6216 0.1768 -3.52  0.0004  
x1=8      -0.5861 0.1202 -4.88  <0.0001 
x1=9      -0.5522 0.1078 -5.13  <0.0001 
d2         0.0000 0.0000 -0.64  0.5206  
f1        -0.0088 0.0011 -8.19  <0.0001 
k8         0.7348 0.0499 14.74  <0.0001 

基本上,我想以两种方式评估回归,a)模型与数据的拟合程度;b)模型对结果的预测程度。为了评估拟合优度 (a),我认为基于卡方的偏差检验在这种情况下不合适,因为唯一协变量的数量接近 N,因此我们不能假设 X2 分布。这种解释正确吗?

我可以看到使用epiR包的协变量。

require(epiR)
logit.cp <- epi.cp(logit.df[-1]))

    id n x1   d2 f1 k8
     1 1 13 2030 56  1
     2 1 14  445 51  0
     3 1 12 1359 51  1
     4 1  1 1163 39  0
     5 1  7  547 62  0
     6 1  5 3721 62  1
    ...
    7446

我还读到 Hosmer-Lemeshow GoF 测试已经过时,因为它将数据除以 10 以运行测试,这是相当随意的。

相反,我使用rms包中实现的 le Cessie–van Houwelingen–Copas–Hosmer 测试。我不确定这个测试是如何进行的,我还没有阅读关于它的论文。无论如何,结果是:

Sum of squared errors    Expected value|H0           SD             Z            P
         1711.6449914         1712.2031888    0.5670868    -0.9843245    0.3249560

P 很大,因此没有足够的证据表明我的模型不适合。伟大的!然而....

在检查模型(b)的预测能力时,我画了一条 ROC 曲线,发现 AUC 为0.6320586. 这看起来不太好。

在此处输入图像描述

所以,总结一下我的问题:

  1. 我运行的测试是否适合检查我的模型?我还可以考虑哪些其他测试?

  2. 您是否觉得该模型完全有用,或者您会基于相对较差的 ROC 分析结果而忽略它?

1个回答

有成千上万的测试可以用来检查逻辑回归模型,这在很大程度上取决于一个人的目标是否是预测、分类、变量选择、推理、因果建模等。例如,Hosmer-Lemeshow 测试评估模型校准以及在按风险十分位数分割时预测值是否倾向于与预测频率匹配。虽然 10 的选择是任意的,但该测试具有渐近结果并且可以轻松修改。当基于用于估计逻辑回归模型的相同数据进行计算时,HL 测试和 AUC 的结果(在我看来)非常无趣。像 SAS 和 SPSS 这样的程序使频繁报告统计数据以进行截然不同的分析成为事实上的奇迹表示逻辑回归结果的方式。预测准确性测试(例如 HL 和 AUC)更好地用于独立数据集,或者(甚至更好)在不同时间段收集的数据以评估模型的预测能力。

另一点是,预测和推理是非常不同的事情。没有客观的方法来评估预测,0.65 的 AUC 非常适合预测非常罕见和复杂的事件,如 1 年乳腺癌风险。类似地,推理可以被指责为任意,因为传统的误报率 0.05 只是经常被抛出。

如果我是你,你的问题描述似乎对模拟经理报告的投资“障碍”的影响感兴趣,所以重点介绍模型调整后的关联。提供模型优势比的点估计值和 95% 置信区间,并准备与他人讨论它们的含义、解释和有效性。森林图是一种有效的图形工具。您还必须在数据中显示这些障碍的频率,并通过其他调整变量展示它们的中介,以证明在未调整的结果中混杂的可能性是小还是大。我会更进一步,探索诸如 Cronbach's alpha 等因素,以确保经理报告的障碍之间的一致性,以确定经理是否倾向于报告类似的问题,或者,

我认为你有点过于关注数字而不是手头的问题。90% 的良好统计展示发生在模型结果展示之前。