检验大型不平衡面板数据中的异方差性和自相关性
Testing for heteroskedasticity and autocorrelation in large unbalanced panel data
我想测试大型不平衡面板数据集中的异方差性和自相关性。
我使用以下代码这样做:
* 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 执行这些测试的最有效程序是什么?
这个问题有点离题而且相当宽泛,但我仍然怀疑
引起新用户的极大兴趣。因此,在这里我将尝试巩固我们的
评论中的对话作为答案。
我强烈建议以后不要使用高度主观的
'best' 之类的词对不同的人可能意味着不同的意思。要么
像 'efficient' 这样的术语在不同的上下文中可以有不同的含义。
也很难提供有关命令使用的具体建议
当我们对你想要做什么一无所知时。
在我看来,'best' 的选择是能够尽可能准确地完成工作的选择
尽可能给定可用数据。速度是当今的一个重要考虑因素,但准确性仍然是最基本的。当您继续使用 Stata 时,您会发现它有相当多的命令,而且通常具有重叠的功能。根据用例,有时选择一种实现而不是另一种实现可能 'better',因为它可能更实用或更快地实现所需的最终结果。
例如,您在 中的评论,其中 noconstant
选项在 rreg
中不可用。在那个特定的上下文中,您可以使用 regress
和 vce(robust)
选项来获得相当不错的替代方案。事实上,这种替代方案通常适用于多种用例。
在此特定示例中,如果 igls
xtgls
会快得多
选项未被使用。对于更大和更多 'difficult' 数据集尤其如此。在需要 MLE 的情况下,iterate
选项将允许您指定固定的迭代次数,这可以加快速度,但如果您不知道自己在做什么,则可能会导致灾难不建议。此选项通常用于其他目的。但是,xtgls
是您唯一可以使用的命令吗? Read here 为什么会这样,其实不一定如此。
关于速度,Stata 总体来说比较慢,至少在使用 ado
语言时是这样。这是因为它是一种解释语言。如果你有 Stata MP,这里唯一现实的速度提升选项是通过 parallelisation
。即使在这种情况下,是否能取得任何收益也将取决于许多因素,
包括你使用的命令。
最后,xtserial
是一个社区贡献的命令,你
未能在您的问题中明确说明。提供这个是习惯和有用的
从一开始就提供信息,以便其他人知道您没有提及
官方内置命令。
我想测试大型不平衡面板数据集中的异方差性和自相关性。
我使用以下代码这样做:
* 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 执行这些测试的最有效程序是什么?
这个问题有点离题而且相当宽泛,但我仍然怀疑 引起新用户的极大兴趣。因此,在这里我将尝试巩固我们的 评论中的对话作为答案。
我强烈建议以后不要使用高度主观的 'best' 之类的词对不同的人可能意味着不同的意思。要么 像 'efficient' 这样的术语在不同的上下文中可以有不同的含义。 也很难提供有关命令使用的具体建议 当我们对你想要做什么一无所知时。
在我看来,'best' 的选择是能够尽可能准确地完成工作的选择 尽可能给定可用数据。速度是当今的一个重要考虑因素,但准确性仍然是最基本的。当您继续使用 Stata 时,您会发现它有相当多的命令,而且通常具有重叠的功能。根据用例,有时选择一种实现而不是另一种实现可能 'better',因为它可能更实用或更快地实现所需的最终结果。
例如,您在 noconstant
选项在 rreg
中不可用。在那个特定的上下文中,您可以使用 regress
和 vce(robust)
选项来获得相当不错的替代方案。事实上,这种替代方案通常适用于多种用例。
在此特定示例中,如果 igls
xtgls
会快得多
选项未被使用。对于更大和更多 'difficult' 数据集尤其如此。在需要 MLE 的情况下,iterate
选项将允许您指定固定的迭代次数,这可以加快速度,但如果您不知道自己在做什么,则可能会导致灾难不建议。此选项通常用于其他目的。但是,xtgls
是您唯一可以使用的命令吗? Read here 为什么会这样,其实不一定如此。
关于速度,Stata 总体来说比较慢,至少在使用 ado
语言时是这样。这是因为它是一种解释语言。如果你有 Stata MP,这里唯一现实的速度提升选项是通过 parallelisation
。即使在这种情况下,是否能取得任何收益也将取决于许多因素,
包括你使用的命令。
最后,xtserial
是一个社区贡献的命令,你
未能在您的问题中明确说明。提供这个是习惯和有用的
从一开始就提供信息,以便其他人知道您没有提及
官方内置命令。