【问题标题】:R : constraining coefficients and error variance over multiple subsample regressions [closed]R:多个子样本回归的约束系数和误差方差
【发布时间】:2017-01-04 20:29:14
【问题描述】:

我正在与 R 一起处理包含 145 个观测值的样本。我创建了五个子样本,每个子样本有 29 个观察值,而响应变量 q 已排序。结果,subset1 包含输出最低的数据帧的 29 行,subset2 包含以下 29 行,依此类推。

我在预测变量 x1x2x3 上对变量 q 进行回归。我现在需要进行两个实验:

  1. 将所有子样本的误差方差限制为相同;
  2. x2x3 的系数以及误差方差限制为在5 个OLS 回归中相同。

到目前为止,我的方法是使用包plm,它允许执行面板回归。但是,我不知道具体限制误差方差或特定系数。此外,我认为必须有一种方法可以使用 R 中包含的更基本的工具来做到这一点。

请不要犹豫,提供替代方法。提前感谢您的帮助!

【问题讨论】:

    标签: r regression linear-regression lm


    【解决方案1】:

    看起来这就是你所需要的:

    set.seed(0)
    dat <- data.frame(q = sort(rnorm(145)), x1 = rnorm(145), x2 = rnorm(145),
                      x3 = rnorm(145), group = gl(5, 29))
    
    fit <- lm(q ~ x1 * group + x2 + x3, data = dat)
    
    #Coefficients:
    #(Intercept)           x1       group2       group3       group4       group5  
    #  -1.211435     0.049316     0.610405     1.128571     1.631891     2.502886  
    #         x2           x3    x1:group2    x1:group3    x1:group4    x1:group5  
    #  -0.027927    -0.015151    -0.004244    -0.074085    -0.044885    -0.074637
    

    在这里,我引入了一个分组因子变量group。所有五组的模型估计同时进行。用公式:

    q ~ x1 * group + x2 + x3
    

    x2x3 的系数对于所有组都是相同的。虽然x1*group 的交互表明我们对于不同的组对x1 有不同的截距和斜率。

    如果您不希望每个组有不同的截距,您可以使用公式:

    q ~ x1 + x1 : group + x2 + x3
    

    【讨论】:

    • 谢谢,成功了!我不知道 gl 函数,也不知道获取不同截距的最后一种语法。
    猜你喜欢
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多