线性模型的完美分离

Perfect Separation on linear model

这里有很多关于 "Perfect Separation Error" 在 statsmodels 中 运行 逻辑回归的帖子。但我不是在做逻辑回归。我正在用频率权重和高斯分布做 GLM。所以基本上是OLS。

我所有的自变量都是分类的,有很多类别。所以高维二进制编码特征集。

但我经常从 statsmodels

获得 "perfectseperationerror"

我是 运行 很多模特。我认为当我的数据对于那么多变量来说太薄时,我会收到此错误。然而,理论上,使用频率权重,我实际上拥有比数据框更多的特征,因为观测值应该乘以频率。

关于如何进行的任何指导?

reg = sm.GLM(dep, Indies, freq_weights = freq)


<p>Error: class 'statsmodels.tools.sm_exceptions.PerfectSeparationError'>

检查基于完美预测,独立于家庭使用。

目前,使用 irls 时有解决方法。使用 scipy 优化器,例如method="bfgs",避免了完美的 prediction/separation 检查。

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

完美分离仅针对二进制情况定义,即 GLM 中的族二项式,并且可以扩展到其他离散模型。

但是,如果残差为零,即我们有一个完美的拟合,那么推理可能会有其他问题。
这是 OLS 中完美预测的问题 https://github.com/statsmodels/statsmodels/issues/1459