r语言 - 使用 EViews,运行稳健最小二乘回归,我不能做 MM 估计?



我开发了一个相当简单的多元回归计量经济学模型。我现在正在尝试运行鲁棒回归(EViews称之为鲁棒最小二乘)。我可以很容易地运行稳健回归M-估计。但是,每次我运行稳健回归MM估计时,我都会遇到同样的错误:"达到了奇异子样本的最大数量。"我通过增加/减少迭代次数、收敛级别等来玩弄MM估计规范。我总是会遇到相同的错误。

在EViews论坛上,另一位同事遇到了MM估计和S估计完全相同的问题。论坛主持人表示,如果一个模型存在伪变量,而没有那么多观测结果,那么这种估计可能不会达到收敛,并产生上述误差。我的模型确实有伪变量。而且,他们中的一些人没有那么多观测值(在217个观测值的时间序列数据中有8个连续观测值)。然而,我不清楚这是EViews的限制,还是真的是算法的限制。我可能会尝试在R中重新运行MM估计。然后,看看它是否可行。

继上述内容之后,我就这么做了。并且,使用R和使用rlm()函数的MASS包运行稳健回归。就像在EViews中一样,我运行M-估计没有问题。同样,我在尝试MM估计时也遇到了麻烦。就像在EViews中一样,我收到了一条错误消息,指出回归/模拟在20次迭代后没有达到收敛。因此,我通过首先消除所有伪变量来重新进行MM估计。正如预测的那样,它奏效了。接下来,我一次只添加一个伪变量,每次都重新进行MM估计。我这样做是为了观察MM估计模型何时会崩溃。令我惊讶的是,它从来没有。现在,我终于可以用所有的伪变量运行MM估计了。我不知道为什么一开始我不能同时运行所有的伪变量(也许我在编码中出错了)。

这让我得出结论,在这方面,R比EViews更灵活。经过仔细检查,我注意到我运行的EViews M-估计是双平方类型的(相对于常规的Huber类型)。这有很大的不同。当我在R中运行双平方类型的M-估计时,我几乎得到了与EViews完全相同的结果。两者之间有细微的差别。考虑到求解过程是迭代的,这是可以预期的。

正如你在我的评论中所读到的,我在这个问题上做了很多工作。最后,我不清楚为什么EViews在使用具有一些伪变量的模型运行MM估计类型的稳健回归时会有条不紊地崩溃。我觉得不应该。使用相同的稳健回归方法的完全相同的模型可以在R中使用MASS包和rlm函数使用方法="MM"求解。

如果你发现自己处于类似的情况,我建议你尝试在R中进行稳健回归MM类型。我不知道在SAS、SPSS、Python、STATA和其他类似软件中,这个过程的相对弹性是什么。希望在这一点上,其中任何一个都比EViews更有弹性。

这种类型的模型实际上不太可能导致软件崩溃(经过多次迭代,算法没有收敛到解决方案)。但是,如果我的经验是任何指标的话,R在这方面的resiliance阈值比EViews高得多。

最新更新