如何使用 sklearn 在 LogisticRegression 中获得 p 值和置信区间?

数据挖掘 scikit-学习 逻辑回归
2021-10-06 22:33:01

我正在使用 sklearn (LogisticRegression) 构建多项逻辑回归。但是在它完成之后,我怎样才能得到我的模型的 p 值和置信区间呢?看来sklearn只提供系数和截距。

非常感谢。

3个回答

获得置信区间的一种方法是引导您的数据,例如,B时间和拟合逻辑回归模型mi到数据集Bi为了i=1,2,...,B. 这为您提供了您正在估计的参数的分布,您可以从中找到置信区间。

简短的回答是 sklearn LogisticRegression 没有内置方法来计算 p 值。然而,这里有一些其他的帖子讨论了这个问题的解决方案。

https://stackoverflow.com/questions/27928275/find-p-value-significance-in-scikit-learn-linearregression

https://stackoverflow.com/questions/22306341/python-sklearn-how-to-calculate-p-values

根据 Github 讨论#6773#13048,这仍然没有实现,也没有计划,因为它似乎超出了 sklearn 的范围

但是,关于线性模型的文档现在提到(P 值估计注释):

  • 在没有惩罚的情况下,理论上可以得到系数的 p 值和置信区间。
  • statsmodels本身就支持这一点。
  • 在 sklearn 中,可以使用自举。

似乎可以修改 LinearRegression 类以根据此Github 代码从线性代数计算 p 值。