【发布时间】:2016-02-13 01:39:53
【问题描述】:
我的时间序列数据集存在严重的序列相关问题,因此我采用了带有迭代估计的 Prais-Winsten 估计器来解决这个问题。我使用以下命令在 Stata 中进行了回归:
prais depvar indepvar indepvar2, vce(robust) rhotype(regress)
我的同事想在 SAS 中重现我的结果,因此她使用了以下内容:
proc autoreg data=DATA;
model depvar = indepvar indepvar2/nlag=1 iter itprint method=YW;
run;
对于我们运行的不同规格,其中一些大致匹配,而另一些则不匹配。我还注意到,对于每个回归规范,Stata 的迭代次数都比 SAS 多得多。我想知道我(或我同事)的代码是否有问题。
更新
受乔的评论启发,我修改了我的 SAS 代码。
/*Iterated Estimation*/
proc autoreg data=DATA;
model depvar = indepvar indepvar2/nlag=1 itprint method=ITYW;
run;
/*Twostep Estimation*/
proc autoreg data=DATA;
model depvar = indepvar indepvar2/nlag=1 itprint method=YW;
run;
【问题讨论】:
-
不清楚这里的编程问题是什么。你有在这两种情况下运行的代码。这本质上是一个统计问题,即这些程序的结果是否预期相同,如果它们不同,原因是什么?没有可重复的示例,任何人都很难发表评论。我会在 Stata 和 SAS 论坛上提出这个问题。注意拼写 Prais、Winsten、Stata(均已编辑)。
-
@NickCox 我认为存在一些编程问题,即 Stata 代码在工作方式上是否与 SAS 代码相同。我不确定它最终会得到一个好的答案——Stata 和 SAS 在这里都没有大量的追随者,尤其是在统计学家方面——但谁知道呢。它可能会在Cross Validated 或各种语言论坛上得到更好的答案,但我认为这也是这里的主题。
-
Shawn - 方法的值包括
YW和ITYW- 我很好奇当你指定后者时会发生什么。在我看来,它们可能有相反的默认值 - STATA 提供选项twostep只进行一次迭代,而 SAS 提供YW与ITYW。但是,我不熟悉这种估计,所以我只是从文档中猜测。当您指定iter时,它可能会被method语句覆盖。 -
@joe 我从这里得到了
iter部分:link。我根据您的评论修改了代码。系数仍然不完全相同,但YW结果与twostep结果大致匹配,ITYW通常与 Stata 中的迭代估计匹配。非常感谢!
标签: sas time-series regression stata