我正在尝试自动化通常在python的statsmodels中的Eviews中执行的回归。遗憾的是,在这种情况下不可能给出可重复的示例,但该模型是具有ARMA误差的多变量回归模型。观察的数量是一万个,而且我使用了大约50个独立变量(实际上是5个变量,有10个滞后。模型本身很好,所以把它放在一边。)。
在Eviews(时间序列的商业计量经济学软件包)中,模型将在大约20秒后收敛,使用BFGS作为优化方法执行类似17次迭代的操作。然而,使用statsmodels,即使观察数量少得多,收敛也会永远收敛,并且检索beta标准错误需要更长的时间。我尝试过提供起始值,不同的优化方法和容差级别,但相比之下python仍然非常慢。
我期待性能类似,因为statsmodels似乎能够使用Eviews使用的相同优化方法(BFGS)。 Eviews中的快速收敛似乎取决于在优化中选择“Marquardt”作为“步法”。如果选择“线搜索”,模型需要很长时间才能收敛。可能是statsmodels使用后者吗?
我的问题是这样的:我是否应该放弃scipy(我相信statsmodels所依赖的)优化器,因为它不能期望与商业计量经济学软件具有几乎相同的性能?或者期望类似的性能是否合理,我应该尝试其他“优化优化”的方法?
顺便说一下,我已经开始查看这些pyeviews,但它的文档很少。有经验的人吗?
我浪费了很多时间试图让这件事情发挥作用,所以任何指导都会非常感激。
更新:使用我的Eviews和python版本,只要尝试将超过五百行或多行输入Eviews,pyeviews就会抛出错误。似乎是一个bug。我发布在Github上。
的Björn