稳健逻辑回归与逻辑回归

机器算法验证 r 回归 物流 强大的
2022-03-20 20:34:50

我已经有一段时间没有考虑或使用稳健的逻辑回归模型了。但是,我昨天运行了一些 logits,并意识到我的概率曲线受到一些“极端”值的影响,尤其是低值。然而,当我运行一个健壮的 logit 模型时,我得到的结果与我在我的 logit 模型中所做的相同。

在什么情况下,稳健的 logit 应该产生与传统 logit 模型不同的结果?(就系数而言)

代码:

> library(Design)
> ddist<- datadist(dlmydat)
> options(datadist='ddist')
> me = lrm(factor(dlstatus) ~ dlour_bid, data=dlmydat)
> me

Logistic Regression Model

lrm(formula = factor(dlstatus) ~ dlour_bid, data = dlmydat)


Frequencies of Responses
  1   2 
906 154 

       Obs  Max Deriv Model L.R.       d.f.          P          C        Dxy      Gamma      Tau-a         R2      Brier 
      1060      3e-05     170.11          1          0       0.81      0.619      0.621      0.154      0.263      0.105 

          Coef      S.E.      Wald Z P
Intercept -5.233549 0.3731235 -14.03 0
dlour_bid  0.005367 0.0004925  10.90 0

> library(car)
> dlmod = glm(factor(dlstatus) ~ dlour_bid, data=dlmydat, family=binomial(link="logit"))
> summary(dlmod)

Call:
glm(formula = factor(dlstatus) ~ dlour_bid, family = binomial(link = "logit"), 
    data = dlmydat)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2345  -0.5687  -0.3059  -0.1739   2.6999  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -5.2335492  0.3731235  -14.03   <2e-16 ***
dlour_bid    0.0053667  0.0004925   10.90   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 878.61  on 1059  degrees of freedom
Residual deviance: 708.50  on 1058  degrees of freedom
AIC: 712.5

Number of Fisher Scoring iterations: 6
1个回答

首先我会问你所说的稳健逻辑回归是什么意思(它可能意味着几个不同的东西......)。尽管如此,假设您在想要控制二元结果模型中的异方差性的意义上使用“稳健”,我所知道的如下:

1)您应该详细阅读 Wooldridge 2001 横截面计量经济学和面板数据书(或任何其他详细讨论二元结果模型的同等书籍)的第 15 章。

2) 二元结果模型中的异方差性会影响“Beta”及其标准误。

2a) BETAS:二元结果模型中的异方差性具有函数形式的含义。基本上 F(XB) != LOGISTIC( XB ) 如果你有它,那么无论你做什么,你的估计都会不一致......

如果您绝对确定您所拥有的异方差类型,即您的错误如何随着 X 的变化而变化,那么您可以相应地纠正您的协变量以对此进行控制。由于这不太可能,因此您无能为力。

现在,Betas 的估计不一致的事实可能无论如何都不是很相关,因为部分效应可能仍然是真实部分效应的良好近似。这里的重点是二元结果模型中的异方差性意味着功能形式的错误指定,应该进行相应的处理。

例如,考虑一下 probit 与 logit。对于您的数据,这些模型中只有一个可以是正确的数据生成过程(如果有)。因此,当您估计这两个模型时,您必须知道至少其中一个模型肯定会有不一致的 beta。但是如果去看看它们的部分效果,你不会看到太大的不同......

首先去测试异方差性,看看这是否是一个问题。周围有几个测试......

2 b)标准误差:在异方差下,您的标准误差也将被估计这些模型的“正常”方式错误计算。在 R 中,我建议您使用引导程序,因为我不确定是否有任何可用的软件包可以纠正各种错误规格和/或允许组内相关性......

如果这与您的要求无关,并且正如 Rolando2 在评论中指出的那样,您正试图惩罚回归中的异常值,那么您应该知道您对 lrm 函数的使用不正确:您使用默认参数调用它在这种情况下,从文档中引用:默认值为 惩罚 = 0 暗示使用普通的未惩罚最大似然估计

希望这能有所帮助,米格尔