我在每月的每一天使用ARCH 包对来自数千个传感器的数据拟合 GARCH 模型。我知道所有数据都不是干净的,对于某些传感器,模型可能不会收敛,我可以接受。我计划稍后在每个传感器的基础上处理它们。
我的问题是 Python 处理警告的方式。根据警告文档:
从概念上讲,警告过滤器维护过滤器规范的有序列表;任何特定警告都会依次与列表中的每个过滤器规范匹配,直到找到匹配项;匹配决定了匹配的处置。
这基本上意味着
warnings.simplefilter('ignore')
将附加到列表的头部。
但是,在ARCH 包的/arch/base.py中,第 507 行显示:
warnings.simplefilter('always')
本质上'always'
,每次调用 ARCH 的模型拟合方法时,它都会附加到警告过滤器的开头。这样可以确保始终显示警告,因为我只能'ignore'
在调用之前或之后添加到列表的头部(这将在下一次调用中.fit()
被覆盖。由于我的问题涉及数千个传感器,它会打印数千个'always'
使 Jupyter 笔记本缓慢爬行的警告。
有没有办法在所有情况下都忽略警告?像警告的超级过滤器会很棒。