【问题标题】:constrained regression with many variables多变量约束回归
【发布时间】:2014-05-22 16:47:02
【问题描述】:

我有大约 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 指南中大量阅读之后,我不清楚如何以矩阵形式进行约束,甚至是否可能。

【问题讨论】:

    标签: matrix constraints stata


    【解决方案1】:

    这至少有两个方面,如何做以及它是否会在任何统计意义上起作用。

    如何做到这一点似乎比你担心的要容易,因为困难的地方只是在变量名之间插入“+”号,这就是字符串操作。像

    unab myvars : dummy_* 
    local myvars : subinstr local myvars " " "+", all
    mac li 
    constraint 1 `myvars' = 1 
    

    应该让你开始。 macro list 是为了让你可以看到你做了什么,特别是如果它不是你想要的。

    它在统计上是否对您有用不在本论坛的讨论范围内,但如果这是唯一的限制,请注意它与各种负系数和正系数一致。也许你的问题有一些特殊的特征使它成为一个自然的约束,但我的直觉是这样的模型很难估计。

    【讨论】:

      【解决方案2】:

      我会采取完全不同的方法。当为一组指示变量尝试不同的编码方案时,通常会出现这种约束。如果是这种情况,那么我会使用 Stata 的 factor variables,结合 margins with the contrast operators

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 2015-08-31
        • 1970-01-01
        • 2014-01-30
        • 1970-01-01
        • 1970-01-01
        • 2018-06-19
        相关资源
        最近更新 更多