具有回归系数的滚动窗口预测

时间:2018-08-07 10:38:00

标签: r lm rolling-computation

Rolling prediction in a data frame using dplyr and rollapply

解决方案很棒。但是,如何显示系数并计算回归的RMSE? 我知道可以在不进行预测的情况下计算系数,但是我希望两者都在同一代码中进行。

谢谢!

1 个答案:

答案 0 :(得分:1)

使用在链接到的问题的答案中可重复显示的数据DF。我们从字面上显示了平方残差均值的平方根为rmse,但是如果您想要的是方差分析表中均方差的平方根,请使用sqrt(anova(fm)["Residuals", "Mean Sq"])

stats <- function(x) {
  fm <- lm(as.data.frame(x))
  c(pred = unname(tail(fitted(fm), 1)), coef(fm), rmse = sqrt(mean(resid(fm)^2)))
}
cbind(DF, rollapplyr(DF, 10, stats, by.column = FALSE, fill = NA))