logistic回归d的完全分离

2024-05-16 04:20:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我在SAS中运行了一些大型逻辑回归模型,需要4个多小时才能收敛。不过,最近我获得了对Hadoop集群的访问权,可以使用Python更快地适应相同的模型(大约10-15分钟)。在

有问题的是,我的数据中有一些数据点的完全/准完全分离,这会导致无法收敛;尽管如此,我在SAS中使用FIRTH命令来生成健壮的参数估计,但是对于Python,无论是在sklearn还是statsmodels中(我主要使用后者)。在

在Python中有没有其他方法可以解决这个问题?在


Tags: 数据方法模型命令hadoop集群逻辑sklearn
2条回答

条件似然是解决完全分离的另一种方法。这是在Statsmodels PR中,基本上可以使用:

https://github.com/statsmodels/statsmodels/pull/5304

在Python中没有Firth惩罚。Statsmodels有一个开放的问题,但目前还没有人对此进行研究。在

作为替代,也可以使用不同种类的惩罚,例如sklearn或statsmodels中提供的惩罚。在

另一个选择是改变观察到的响应变量。Firth可以通过扩充数据集来实现。但是,我不知道Python中有什么方法或原型。在

https://github.com/statsmodels/statsmodels/issues/3561

Statsmodels正在进行惩罚化的工作,但目前的重点是特征/变量选择(弹性网,SCAD)和广义加性模型GAM的二次惩罚,尤其是样条函数。在

弗斯使用数据依赖惩罚,这不符合一般惩罚框架,其中惩罚结构是一个数据独立的“先验”。在

相关问题 更多 >