如何通过OLS回归输出摘要检测python中的特定警告

时间:2015-11-17 14:00:50

标签: python numpy warnings statsmodels

注意:这不是重复的,因为其中一篇帖子没有引用如何使用if语句实现找到我的特定错误。 (两个警告,只检测其中一个)

如何在OLS回归输出中检测到特定警告,以便我可以在if语句中使用它来进行另一次回归?

还有一个我想忽略的警告,所以我只想注意具体的警告:

[2] The smallest eigenvalue is 0. This might indicate that there are strong multicollinearity problems or that the design matrix is singular.

Ex:警告[2]显示在图像下方。 enter image description here

我正在寻找的是实现以下伪代码的最简单方法:

If (OLS output has Warning [2])
         do something.........

注意:这不是重复的,因为其中一篇帖子没有引用如何使用if语句实现找到我的特定错误。 (两个警告,只检测其中一个)

1 个答案:

答案 0 :(得分:3)

结果对象没有包含警告的属性。这是因为在调用summary方法时会立即生成警告文本。 (有关代码,请参阅here

相反,您必须自己检查最小特征值的值。 statsmodels使用的最小特征值的限制是1e-10,所以对应的代码是:

if results.eigenvals[-1] < 1e-10:
    #Do something.......