Rolling prediction in a data frame using dplyr and rollapply
解决方案很棒。但是,如何显示系数并计算回归的RMSE? 我知道可以在不进行预测的情况下计算系数,但是我希望两者都在同一代码中进行。
谢谢!
答案 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))