R:多个子样本回归的约束系数和误差方差

R : constraining coefficients and error variance over multiple subsample regressions

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

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

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

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

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

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

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