在 Stata 中,如何在 运行 多元回归时保存估计值和标准误差?
In Stata, how can I save estimates and std errors while running multiple regressions?
我正在使用相当大的数据集,并且想为每个 ID 估计两个事件 windows 的 Fama French 系数。我正在使用以下代码(dummy_reg
将观察结果分配给相应的事件 window):
sort ID dummy_reg count
by ID dummy_reg: reg ret_px Mkt_RF SMB HML
此外,我想使用系数来计算事件之间的增量windows;但是,我不知道如何在估计过程中包含 saving/generating 个新变量。
我尝试了以下但没有用:
by ID dummy_reg: reg ret_px Mkt_RF SMB HML & egen b_Mkt_RF=_b[Mkt_RF] & egen b_SMB=_b[SMB] & egen b_HML=_b[HML]
在所有支持软件问题的论坛中:
强烈推荐可重现的问题。您没有向我们提供您的数据集或使用公开可用的数据集来说明问题。在这种情况下,缺少可重现的示例并不难,因为可以识别错误,但在其他问题中它可能是至关重要的,因此请注意以后的任何问题。
像 "didn't work" 这样的报告被认为是最没有信息的。当然,您不了解发生了什么,但您应该始终准确报告发生的事情,例如产生了什么错误消息,您只需复制并粘贴即可。
单个命令
by ID dummy_reg: reg ret_px Mkt_RF SMB HML & egen b_Mkt_RF=_b[Mkt_RF] & egen b_SMB=_b[SMB] & egen b_HML=_b[HML]
在语法上不正确and/or在几个不同的意义上不是您想要的。它只能产生于一些非常疯狂的猜测。
考虑到您之前的排序,您的 by:
前缀是合法的,但随后的 regress
命令将 运行 通过如此定义的不同组,并且只有最后一组之后回归结果将在内存中可用。
逻辑运算符&
用于将数值参数组合成要评估真假的表达式;将要遵循的命令一个接一个地组合在一起是没有意义的。
后面的 egen
调用都是完全非法的,因为它们不包含 egen
函数调用。
即使它们在#3 下是合法的,第二次在 by:
下调用每个 egen
命令时也会出现问题,因为被命名的变量已经存在。
即使它们在#3 和#4 下是正确的,但在代码末尾对您来说会有问题,这样创建的变量只能包含最后一组系数估计.问题 #3 可以通过使用 generate
而不是 egen
和不同的代码来解决,但问题 #4 和 #5 仍然存在。
幸运的是,有一个简单的方法可以解决所有这些问题。您需要 the statsby
command 才能保存 regress
个结果。如果您希望系数估计与原始数据集一起使用,请使用 merge
。
你的问题命名了标准错误 [是什么?] 但你的代码中没有任何内容访问标准错误;尽管如此,它们也可以使用 statsby
保存。
我在这里重点介绍了您提供的一段代码。问题的其余部分涉及我不了解的经济学细节。和 Stack Overflow 上的几乎所有人一样,我不是经济学家。
我正在使用相当大的数据集,并且想为每个 ID 估计两个事件 windows 的 Fama French 系数。我正在使用以下代码(dummy_reg
将观察结果分配给相应的事件 window):
sort ID dummy_reg count
by ID dummy_reg: reg ret_px Mkt_RF SMB HML
此外,我想使用系数来计算事件之间的增量windows;但是,我不知道如何在估计过程中包含 saving/generating 个新变量。
我尝试了以下但没有用:
by ID dummy_reg: reg ret_px Mkt_RF SMB HML & egen b_Mkt_RF=_b[Mkt_RF] & egen b_SMB=_b[SMB] & egen b_HML=_b[HML]
在所有支持软件问题的论坛中:
强烈推荐可重现的问题。您没有向我们提供您的数据集或使用公开可用的数据集来说明问题。在这种情况下,缺少可重现的示例并不难,因为可以识别错误,但在其他问题中它可能是至关重要的,因此请注意以后的任何问题。
像 "didn't work" 这样的报告被认为是最没有信息的。当然,您不了解发生了什么,但您应该始终准确报告发生的事情,例如产生了什么错误消息,您只需复制并粘贴即可。
单个命令
by ID dummy_reg: reg ret_px Mkt_RF SMB HML & egen b_Mkt_RF=_b[Mkt_RF] & egen b_SMB=_b[SMB] & egen b_HML=_b[HML]
在语法上不正确and/or在几个不同的意义上不是您想要的。它只能产生于一些非常疯狂的猜测。
考虑到您之前的排序,您的
by:
前缀是合法的,但随后的regress
命令将 运行 通过如此定义的不同组,并且只有最后一组之后回归结果将在内存中可用。逻辑运算符
&
用于将数值参数组合成要评估真假的表达式;将要遵循的命令一个接一个地组合在一起是没有意义的。后面的
egen
调用都是完全非法的,因为它们不包含egen
函数调用。即使它们在#3 下是合法的,第二次在
by:
下调用每个egen
命令时也会出现问题,因为被命名的变量已经存在。即使它们在#3 和#4 下是正确的,但在代码末尾对您来说会有问题,这样创建的变量只能包含最后一组系数估计.问题 #3 可以通过使用
generate
而不是egen
和不同的代码来解决,但问题 #4 和 #5 仍然存在。
幸运的是,有一个简单的方法可以解决所有这些问题。您需要 the statsby
command 才能保存 regress
个结果。如果您希望系数估计与原始数据集一起使用,请使用 merge
。
你的问题命名了标准错误 [是什么?] 但你的代码中没有任何内容访问标准错误;尽管如此,它们也可以使用 statsby
保存。
我在这里重点介绍了您提供的一段代码。问题的其余部分涉及我不了解的经济学细节。和 Stack Overflow 上的几乎所有人一样,我不是经济学家。