首页 > 解决方案 > 检验大型不平衡面板数据中的异方差性和自相关性

问题描述

我想在大型不平衡面板数据集中测试异方差性和自相关性。

我使用以下代码这样做:

* Heteroskedasticity test

// iterated GLS with only heteroskedasticity produces 
// maximum-likelihood parameter estimates

xtgls adjusted_volume ibn.rounded_time i.id i.TRD_EVENT_DT, igls panels(heteroskedastic)
estimates store hetero 

* Autocorrelation

findit xtserial
net sj 3-2 st0039
net install st0039

xtserial adjusted_volume ibn.rounded_time i.id i.TRD_EVENT_DT

虽然我使用了高流程中心的计算能力,但由于迭代的方法,这个过程需要15个小时以上。

使用 Stata 执行这些测试的最有效程序是什么?

标签: statisticsregressionpanelstata

解决方案


这个问题是题外话,而且范围很广,但我怀疑新用户仍然很感兴趣。因此,在这里,我将尝试在评论中巩固我们的对话作为答案。

我强烈建议以后不要使用高度主观的词,例如“最佳”,这对不同的人可能意味着不同的东西。或诸如“高效”之类的术语,在不同的上下文中可能具有不同的含义。当我们对您正在尝试做的事情一无所知时,也很难提供有关使用命令的具体建议。

在我看来,“最佳”选择是在现有数据的情况下尽可能准确地完成工作的选择。如今,速度是一个重要的考虑因素,但准确性仍然是最基本的考虑因素。随着您继续使用 Stata,您会发现它有相当多的命令,通常具有重叠的功能。根据用例,有时选择一种实现而不是另一种可能会“更好”,因为它可能更实用或更快地实现所需的最终结果。

例如,您在一篇文章中的评论中该noconstant选项不可用rregregress在该特定上下文中,您可以使用该选项获得相当不错的替代vce(robust)方案。事实上,这种替代方案通常可能足以满足多个用例。

在此特定示例中,如果 不使用xtgls该选项,将会快得多。igls对于更大和更“困难”的数据集尤其如此。在需要 MLE 的情况下,该iterate选项将允许您指定固定数量的迭代,这可能会加快速度,但如果您不知道自己在做什么,则可能会导致灾难,因此不推荐使用。此选项通常用于其他目的。但是,xtgls您可以使用的唯一命令是什么?在这里阅读为什么实际上不一定如此。

关于速度,Stata 通常很慢,至少在ado使用该语言时是这样。这是因为它是一种解释型语言。parallelisation如果您拥有 Stata MP ,则此处唯一现实的提高速度的选择是通过。即使在这种情况下,是否获得任何收益也取决于许多因素,包括您使用的命令。

最后,xtserial是一个社区贡献的命令,您在问题中没有明确说明。从一开始就提供此信息是习惯且有用的,因此其他人知道您没有参考官方的内置命令。


推荐阅读