Как я могу избежать дыры в прогнозе сюжета с серийным сюжетом R

Пишу этот вопрос, потому что не могу связать (много раз пытался), по сюжету сериал с прогнозом.

Вот код, который я использовал.

AA1<-AA_1
str(AA1)#OUTPUT: Time-Series [1:60] from 2013 to 2018: 309 368 1602 6742 19396


Serie1<-Serie_1
str(Serie1) ##OUTPUT:Classes ‘tbl_df’, ‘tbl’ and 'data.frame':  60 obs. of  7 variables:


X_Reg_Mod_Completo <- cbind(A=ts(Serie1$A),B=ts(Serie1$B), 
                     C=ts(Serie1$C), D=ts(Serie1$D),
                     E=ts(Google1$E), F=ts(Serie1$F))

Mod_Completo<-auto.arima(AA1, xreg=X_Reg_Mod_Completo, trace = TRUE, test = "kpss", ic="aic", seasonal = TRUE)
AIC(Mod_Completo)
FOR_Mod_Completo<-forecast(Mod_Completo,xreg=X_Reg_Mod_Completo)
plot(FOR_Mod_Completo,xlim=c(2016, 2019))

Моя цель — избежать разрыва между концом 2018 года и 2018 годом.

Если кому-то нужны данные, пожалуйста, напишите комментарий, и я обновлю.

Спасибо заранее за вашу помощь.

Франческо


person Earl Mascetti    schedule 06.06.2019    source источник
comment
Привет, Франческо, возможно, это может объяснить проблему.   -  person s__    schedule 06.06.2019
comment
@s-t Спасибо за ответ и за ссылку. Это было очень полезно.   -  person Earl Mascetti    schedule 06.06.2019
comment
Добро пожаловать: если вы можете найти предложенное решение (дублировать и добавить последнее значение ts на график), вы можете опубликовать ответ здесь и пометить его как правильный.   -  person s__    schedule 06.06.2019
comment
@s_t Большое спасибо. :) скоро сделаю.   -  person Earl Mascetti    schedule 06.06.2019


Ответы (1)


Я попробовал кое-что с ggplot2, не слишком напортачив с прогнозом, может быть, это поможет для начала:

library(forecast)
library(tidyverse)
fit <- auto.arima(WWWusage)
forec <- forecast(fit,h = 10)

Теперь мы должны поместить ts и прогноз в data.frames, связать их и построить результат с ggplot2:

# time series
ts_ <- data.frame(Point.Forecast = WWWusage,
                  Lo.80=NA,
                  Hi.80=NA,
                  Lo.95=NA,
                  Hi.95=NA,
                  type = 'ts')

# forecasting
forec <- data.frame(forec, type ='fc')

# together
tot <- union_all(ts_,forec) 

# now add the date, in this case I put a sequence: len
tot$time <- seq( as.Date("2011-07-01"), by=1, len=nrow(ts_)+nrow(forec))

Теперь вы можете построить его:

  ggplot(tot) + geom_line(aes(time,Point.Forecast))+
                geom_line(aes(time, Lo.95))+
                geom_line(aes(time, Hi.95))+
                geom_line(aes(time, Lo.80))+
                geom_line(aes(time, Hi.80))+
                geom_vline(xintercept=tot$time[nrow(ts_)], color = 'red') + theme_light()

введите здесь описание изображения

person s__    schedule 06.06.2019
comment
Большое спасибо!!!! Я очень рад за вашу помощь. Оно работает!!! Теперь осталось только настроить сюжет. Еще раз спасибо. - person Earl Mascetti; 06.06.2019