如何解决在固定效应回归中仅保留具有非零观测值的情况
我目前正在处理 SOEP 面板数据(2002 年到 2010 年),但遇到了一些麻烦。我正在尝试以儿童津贴作为因变量,人年作为自变量进行固定效应回归。我只想将给孩子至少一年津贴的人包括在样本中。我假设那些在这段时间内没有给他们的孩子零用钱的人会被自动剔除,因为固定效应回归测量的是变化范围内的,并且不包括给定变量没有变化的个人(认为队列)。那将是我的问题:xtreg,dvar ivar1 ivar2 ivarx,fe vce(cluster id)
是否会自动删除给定变量没有变化的个体,或者我是否必须从回归中手动删除它们?如果是这样,我将如何删除这些人?
编辑:
我只想放弃在观察期内不向子女提供任何津贴的个人,同时包括那些至少提供一次的人。我最终使用了以下代码:
*Generate variable for cases with at least one non-zero value over the observation period
bysort id (year): egen sumofallowance= sum(childallowance)
*Run a fixed effects regression using this variable as a condition.
xtreg childallowance idyear if sumofallowance>0,fe vce(cluster id)
我不确定 Stata 是否会自动执行此操作,但事实证明 Stata 不会,因为我的观察值减少了大约 9,000。
解决方法
如果您知道要在其上运行回归的样本,那么明确地将回归限制在该样本上总是一个好主意。特别是如果您对所使用的命令如何处理没有变化、缺失值等没有非常精确的理解。如果您希望您的工作可重复,那么即使您了解命令的工作原理,这也是一个很好的做法它使您的代码对于可能不理解此命令的其他人也更具可读性。
我建议您创建一个名为 sample
之类的变量,将要包含在回归中的所有观察值设置为 1,然后将 xtreg
限制为该样本。在你的情况下,它会是这样的:
*Create a variable that is 1 for the intended sample
gen sample = (dvar > 0 & !missing(dvar)) // Sets sample = 1 if non-zero and non-missing,otherwise set to 0
*Run regression restricted to sample
xtreg dvar ivar1 ivar2 ivarx if sample == 1,fe vce(cluster id)
您可能需要根据 sample
中的数据格式编辑生成 dvar
的行。
最后,xtreg
可能会因其他原因丢弃观察,因此请确保回归中的 N 与您在 tab sample,m
中获得的 1 的数量相匹配,并确保这也符合您对您想到的样本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。