Rolling prediction in a data frame using dplyr and rollapply
解决方案是伟大的。但是,怎么可能表现出回归的系数和计算RMSE?我知道这是可以计算的系数不预测,但我想无论是在相同的代码。
提前致谢!
使用在回答重复地显示链接到的质疑数据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))