【发布时间】:2018-03-12 03:34:44
【问题描述】:
请原谅我的幼稚。我不确定这种模型叫什么——也许是面板回归。
假设我有以下数据:
n <- 100
x1 <- rnorm(n)
y1 <- x1 * 0.5 + rnorm(n)/2
x2 <- rnorm(n)
y2 <- x2 * 0.5 + rnorm(n)/2
x3 <- rnorm(n)
y3 <- x3 * 0.25 + rnorm(n)/2
x4 <- rnorm(n)
y4 <- x4 * 0 + rnorm(n)/2
x5 <- rnorm(n)
y5 <- x5 * -0.25 + rnorm(n)/2
x6 <- rnorm(n)
y6 <- x6 * -0.5 + rnorm(n) + rnorm(n)/2
x7 <- rnorm(n)
y7 <- x7 * -0.75 + rnorm(n)/2
foo <- data.frame(s=rep(1:100,times=7),
y=c(y1,y2,y3,y4,y5,y6,y7),
x=c(x1,x2,x3,x4,x5,x6,x7),
i=rep(1:7,each=n))
其中 y 和 x 是在 100 秒内测量的单个 AR1 时间序列(我使用“s”而不是“t”作为时间变量)平均分为组 (i)。我希望将这些建模为:
y_t= b_0 + b_1(y_{t-1}) + b_2(x_{t}) + e_t
但在考虑组 (i) 时:
y_{it)= b_0 + b_1(y_{it-1}) + b_2(x_{it}) + e_{it}
我想知道 b_2(x 上的系数)是否可以很好地预测 y,以及该系数如何随组而变化。我还想按组了解 R2 和 RMSE,并在给定 x_i 和 i 的情况下预测 y_i。分组变量可以是离散的或连续的。
我认为这类问题称为面板回归,但它不是我熟悉的术语。在 R 中使用 plm 是调查此问题的好方法吗?
根据下面的评论,我想这是一个简单的开始:
require(dplyr)
require(broom)
fitted_models <- foo %>% group_by(grp) %>% do(model = lm(y ~ x, data = .))
fitted_models %>% tidy(model)
fitted_models %>% glance(model)
【问题讨论】:
-
您的符号不明确。您不写 b_{i1},而是谈论 b_1 跨组的可变性。我相信您想为每个组估计不同的 b_1。那么问题是您的模型中各组的共同点是什么?现在看起来什么都没有。在这种情况下,不需要
plm和lm就足够了。 -
道歉。我想知道 x (b_2) 上的系数。例如,该变量是否随组 (i) 变化以及如何变化。据我了解的问题,系列 y_i 和 x_i 是单独的样本(未及时重新测量)但相关。
-
然后我们有 b_{i2}。那么自回归项呢?您认为各组的系数相同吗?还有,有多少组?
-
各组的 AR1 可能相同。很可能很接近。大约有 100 个组,时间序列长约 100 秒。