Как запустить квантильную регрессию, которая добавляет дополнительную четверть данных в каждом цикле - PullRequest
0 голосов
/ 31 мая 2019

Я хочу вычислить серию прогнозов вне выборки.Мне нужно запустить квантильную регрессию, которая использует первые 20 кварталов данных и создает прогноз, сохраняет последнее наблюдение из ряда, которое является прогнозом, а затем повторно запускает квантильную регрессию, используя 21 квартал данных, чтобы создать новый прогнозза следующий квартал, затем 22 квартала данных и так далее.

Я попытался использовать цикл, чтобы расширить «окно» для данных, но я не могу заставить цикл работать.

Затем я попытался использовать данные xts, но у меня та же проблема


quarters1 <- c(0,3,2,1,0,3,2,1)
years1 <-    c(2,1,1,1,1,0,0,0)
dates1 <- cbind(years1, quarters1)

for (i in 1:nrow(dates1)) {

window(flows, start(flows), (end(flows) - dates1[i,1:2]))
window(rhsflows, start(rhsflows), (end(rhsflows) - dates1[i,1:2]))
window(bbb, start(bbb), (end(bbb) - dates1[i,1:2]))
window(yield, start(yield), (end(yield) - dates1[i,1:2]))
window(usd, start(usd), (end(usd) - dates1[i,1:2]))
window(gdp, start(gdp), (end(gdp) - dates1[i,1:2]))


vg_qt <- dynrq(flows ~ L(rhsflows, nlag) + bbb + yield + usd + gdp, tau = tau_vec, method = "br")

dyhat_qt <- predict(vg_qt)
colnames(dyhat_qt) <- tau_vec


dyhat_qt <- ts(data = dyhat_qt, start = forecastflowsbegin, frequency = ts_freq)

dyhat_qt1 <- tail(dyhat_qt,1)

dyhat_qt_oos <- rbind(dyhat_qt_oos, c(dyhat_qt1))
}

Я ожидаю, что строки dyhat_qt_oos будут разными, но все они одинаковы

...