0
私はデータセットを持っており、本質的にローリング時間ウィンドウ付きの線形モデルに適合し、適合した値を見つけ出し、推定値の誤差を計算したいと考えています。私はエラーを計算する関数を持っていますが、アルゴリズムの開始点がありますが、以下のアルゴリズムではnullの時系列が得られます。誰でもそれを修正することができますか?ローリングウィンドウ回帰 - エラー計算
rollerOLS <- function(data, measure, predict, predictor){
error <- c()
m <- dim(data)[1]
for(i in 1:(floor(m/142)-10)){
data.new <- as.data.frame(data[c((1+(142*(i-1))):((i+9)*142)),])
data.pred <- as.data.frame(data[c((1+(142*(i+9))):((i+10)*142)-1),])
n <- dim(data.new)[1]
k <- dim(data.pred)[1]
x <- data.new[-1,predictor]
y <- data.new[-n, predict]
mod <- lm(y ~ x)
ts <- predict.lm(mod, newdata = data.frame(data.pred[, predictor]), interval="none")
actual <- data.pred[-k,predict]
error[i] <- measure(ts, actual)
}
return(mod)
}
142は私のデータセットに固有のものです。