После оценки модели VECM со стационарными экзогенными переменными я хотел бы вычислить предсказание с функцией прогнозирования и аргументом newdata. Я использую библиотеку Dynts, которая предлагает возможность вычислять модели VECM с экзогенными переменными, но я не вижу, как я могу использовать функцию прогнозирования с помощью newdata для интегрированных переменных AND и exogeneous. Следующий код не работает. Есть идеи ?R: предсказать с помощью VECM с переменными exogen
library(tsDyn)
Fact1<-rnorm(100,0,10)
x<-rnorm(100,0,10)
y<-rnorm(100,0,15)
i<-1:100
Yniv2<-sapply(i,function(k) sum(x[1:k]))
Facti1<-Yniv2+y
Yniv2<-Yniv2[1:99]
plot(Yniv2,type="l")#variable macro que l'on cherche à prévoir à l'instant t
lines(Facti1,col="red")#variable macro cointégrée avec Y dont on dispose l'obs en t
lines(Fact1,col="green")#variable stationnaire qui explique également Y
exog_met1v1<-Fact1[2:99]
exog_i1<-cbind(Yniv2[1:98],Facti1[1:98])
mdl<-VECM(exog_i1, 1, r=1, include = "const", estim = "ML", LRinclude = "const", exogen = exog_met1v1)
newexogi1 <-cbind(Yniv2[1:99],Facti1[1:99])
new <- Fact1[2:100]
newdata<-cbind(newexogi1,new)
Prev_H_1<-data.frame(predict(mdl, newdata))[,1] #pbbb
Первая ошибка, если я хочу на мировом FIT
Please provide newdata with nrow=lag+1 (note lag=p in VECM representation corresponds to p+1 in VAR rep)
Вторая ошибка, если я приведу только последние наблюдения
newexogi1 <-cbind(Yniv2[98:99],Facti1[98:99])
new <- Fact1[99:100]
newdata<-cbind(newexogi1,new)
Prev_H_1<-data.frame(predict(mdl, newdata))[,1] #pbbb
Erreur dans TVAR.gen(B = B, nthresh = 0, type = "simul", n = n, lag = lag, :
Матрица B плохо указано: ожидаемый 5 элементов (LAG (K + n inc) (nthresh + 1)), но имеет 6
Пожалуйста, найдите время, чтобы определить все переменные в коде и предоставить некоторые примеры вклада в сделайте свою проблему [воспроизводимой] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), в противном случае вам гораздо труднее помочь. – MrFlick
Да, это это ошибка. Я постараюсь решить это в ближайшее время. – Matifou