Как я могу сделать множественную скользящую регрессию с 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 столбцов)
следующий пост был близок, но я не смог воспроизвести кодировку:
https://stackoverflow.com/questions/39438484/r-how-to-do-rolling-regressions-for-multiple-return-data-at-once-with-the-depe
Как настроить rollb , чтобы выполнить работу?
Предоставленное решение @Yannis Vassiliadis работает, однако возникает следующий вопрос: как правильно вывести все коэффициенты (бета-версии) в матрицу
/ data.frame с соответствующими датами (как в xts)?