统计模型逻辑回归收敛问题

Ben*_*uhn 5 numpy mathematical-optimization numerical-methods statsmodels logistic-regression

我正在尝试在大型设计矩阵(约 200 列)上的 statsmodels 中运行逻辑回归。这些特征包括大量交互、分类特征和半稀疏(70%)整数特征。虽然我的设计矩阵实际上并不是病态的,但它似乎有些接近(根据numpy.linalg.matrix_rank,它是满秩的,tol=1e-3但不是满秩的tol=1e-2)。因此,我正在努力使逻辑回归与 statsmodels 中的任何方法收敛。到目前为止,这是我尝试过的:

  • method='newton':1000次迭代后未收敛;LinAlgError在尝试反转 Hessian 矩阵时提出了一个奇异矩阵。

  • method='bfgs':警告可能出现精度损失。声称0次迭代后收敛,显然实际上并未收敛。

  • method='nm':声称它已经收敛,但模型具有负伪 R 方,并且许多系数仍然为零(并且与条件更好的子模型收敛到的值非常不同)。我尝试降低转速xtol1e-8无济于事。

  • fit_regularized(method='l1'): 报道过Inequality constraints incompatible (Exit mode 4)LinAlgError然后在尝试计算受限 Hessian 逆矩阵时提出奇异矩阵。