如何在单独的回归中将 y1 作为因变量,将 y2、y3 等作为自变量进行多重滚动回归:
请参见下面的示例:
library(xts)
df=data.frame(y1=rnorm(300),y2=rnorm(300),y3=rnorm(300),y4=rnorm(300),y5=rnorm(300),y6=rnorm(300))
data <- xts(df, Sys.Date()-300:1)
下面我制作了 y1 与 y2 的滚动相关性
rollingb <- rollapply(zoo(data),
width=20,
FUN = function(Z)
{
t = lm(formula=y1~ y2, data = as.data.frame(Z), na.rm=T);
return(t$coef)
},
by.column=FALSE, align="right")
结果看起来不错
plot(rollingb)
但是现在我想测试 y1 ~ y3、y1 ~ y4 等(我有一个总共 120 列的数据集)
以下帖子已接近,但我无法重现编码:
如何调整rollingb以完成工作?
@Yannis Vassiliadis 提供的解决方案有效,但是后续问题提出了如何将所有系数(beta)很好地取消列出到具有相应日期的矩阵/data.frame 中(如在 xts 中)?