在 Matlab/R 中使用惩罚似然(套索?)进行逻辑回归
机器算法验证
回归
物流
广义线性模型
套索
罗吉特
2022-04-13 15:00:59
2个回答
鉴于规定的样本量(150,000),您为什么认为“小样本”量会导致偏差?你有 1500 个正面案例的观察结果,我通常不会认为它很小。
R 中的一个替代方案是brglm包,它也实现了 Firth 的方法。
然而,我最近提到一篇论文 ( Gelman et al 2008 ),该论文表明,在贝叶斯背景下,与其他减少偏差的方法相比,Firth 的方法表现相当糟糕。该论文的作者bayesglm()
在 R 包arm中编写了该函数,以提供模型系数的一系列先验(Firth 的方法归结为模型中先验的特定选择;杰弗里斯先验)。我提到它的主要原因是它也可能比迄今为止考虑的选项更有效。
有 1% 的阳性率,你就有了不平衡的班级。正如某些人指出的那样,您没有小样本问题。相反,你有一个罕见的事件场景(也就是类不平衡)。使用 vanilla MLE 优化的逻辑回归将由主要类别 (99%) 主导。
在这种情况下,普通逻辑回归的替代方案包括:
- 罕见事件逻辑回归(
Zelig::relogit
在 R 中实施 King,Leng 2001),它使用加权和偏差校正来解决不平衡问题。 - Firth 回归使用惩罚 MLE 代替。(
brglm
并且更新的brglm2
可能是更快的实现。)
请注意,套索惩罚降低了模型的维数,并且可能有助于 MLE 收敛。然而,它并没有解决由类不平衡驱动的偏差。