Matrix 多变量约束回归
我有大约200个假人,并希望运行一个约束OLS回归,在这里我强制要求假人上所有系数的总和等于1 一个选项是键入:Matrix 多变量约束回归,matrix,constraints,stata,Matrix,Constraints,Stata,我有大约200个假人,并希望运行一个约束OLS回归,在这里我强制要求假人上所有系数的总和等于1 一个选项是键入: constraint define 1 dummy_1+dummy_2 +...+dummy_200=1 cnsreg y x_1 x_2 dummy_1-dummy_200, c(1) …但键入约束显然会非常痛苦 有没有办法快速定义如此大的约束?矩阵形式将是非常快速和直接的,但在网上和Stata指南中大量阅读之后,我不清楚如何以矩阵形式进行约束,以及它们是否可行。这至少有两个方
constraint define 1 dummy_1+dummy_2 +...+dummy_200=1
cnsreg y x_1 x_2 dummy_1-dummy_200, c(1)
…但键入约束显然会非常痛苦
有没有办法快速定义如此大的约束?矩阵形式将是非常快速和直接的,但在网上和Stata指南中大量阅读之后,我不清楚如何以矩阵形式进行约束,以及它们是否可行。这至少有两个方面,如何进行以及它是否在统计意义上有效 如何做到这一点似乎比您担心的要容易,因为困难之处在于在变量名之间插入“+”符号,这就是字符串操作。差不多
unab myvars : dummy_*
local myvars : subinstr local myvars " " "+", all
mac li
constraint 1 `myvars' = 1
你应该开始了。宏列表
是这样的,您可以看到您所做的事情,特别是如果它不是您想要的
从统计学上讲,它是否适用于你不在本论坛讨论范围之内,但如果这是唯一的限制,请注意,它与所有类型的负系数和正系数一致。也许你的问题有一些特殊的特点,使它成为一个自然的约束,但我的直觉是,这样的模型将很难估计 我会采取完全不同的方法。这种约束通常发生在为一组指标变量尝试不同的编码方案时。如果是这样的话,我会使用Stata's,并结合使用