注意:这不是重复的,因为其中一篇文章没有引用如何找到我想要的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.
例:警告2,如下图所示。

我正在寻找的是实现如下伪代码的最简单方法:
If (OLS output has Warning [2])
do something.........注意:这不是重复的,因为其中一篇文章没有引用如何找到我想要的if语句实现的具体错误。(两次警告及只发现其中一宗)
发布于 2015-11-17 14:51:46
结果对象没有包含警告的属性。这是因为在调用summary方法时会动态生成警告文本。(相关代码见这里 )
相反,您必须亲自检查最小特征值的值。statsmodels使用的最小特征值的限制是1e-10,所以您的等效代码是:
if results.eigenvals[-1] < 1e-10:
#Do something.......https://stackoverflow.com/questions/33758868
复制相似问题