Próbuję nauczyć się wektora autoregresyjnego modelu używając pakietu vars
w R. Ten pakiet nie ma żadnego sposobu zmierzenia dokładności zwracanego modelu.Pomiar dokładności VAR za pomocą dokładności() z prognozy
szczególności chcę użyć Mase zdefiniowane w funkcji accuracy
z pakietu forecast
w R porównać prognozowanie prognozowanie z VAR z wykorzystaniem modeli ARIMA każdego składnika szeregu czasowego (używam 4 ewentualnie skorelowanych szeregów czasowych). accuracy
nie rozpoznaje obiektu varest
zwróconego przez. Jak mogę uzyskać MASE dla każdego prognozowanego komponentu? Chcę obliczyć zarówno w próbie i out-of-sample dokładności przykład
kod:
library(vars)
library(forecast)
data(Canada)
v<- VAR(window(Canada, end=c(1998,4)), p=2)
accuracy(v$varresult[[1]])
Argument accuracy
jest obiektem lm i zwraca dokładność szkoleniowy dla serii 1, jak:
ME RMSE MAE MPE MAPE MASE
Training set 1.536303e-15 0.3346096 0.2653946 -1.288309e-05 0.0281736 0.03914555
chcę uzyskać dokładność testu out-of-sample użyciu coś jak (nie dokładnie to, ponieważ okres prognoza musi być określona):
accuracy(v$varresult[[1]], window(Canada[,1], start=c(1999,1)))
ale to nie jest obsługiwany przez lm obiektów i zwraca błąd
Error in testaccuracy(f, x, test) : Unknown list structure
A jeśli mogę użyć wartości bezpośrednio w następujący sposób, nie dostać Mase, który potrzebuje informacji na temat zestawu treningowego. To jest również podatne na błędy off-by-one, ponieważ wartości są używane i nie ts
obiektów, dla których accuracy
będzie pasował do zapisanych razy bezpośrednio:
p<-predict(v, n.ahead=8)
accuracy(p$fcst[[1]][,"fcst"],window(Canada[,1], start=c(1999,1)))
ME RMSE MAE MPE MAPE ACF1 Theil's U
Test set -0.1058358 0.8585455 0.7385238 -0.01114099 0.07694492 0.5655117 1.359761
Idealnie chciałabym go pogody jak:
fr<-forecast(v$varresult[[1]], h=8)
ale to nie może działać, ponieważ potrzebuje drugą serię dla przewidywania i daje:
Error in eval(expr, envir, enclos) : object 'datamat' not found
i może spróbować skopiować funkcjonalność forecast.Arima
itp. I spróbować napisać pakiet forecast.varresult
, ale czy istnieje prostsze wyjście?
Proszę podać nam przykład – Metrics
powtarzalną dokładność Funkcja działa teraz z obu prognoz szeregów czasowych i przekrojowych [prognoz] (http://robjhyndman.com/hyndsight/forecast4) – Metrics
Dodałem przykład kodu powyżej – Harsh