Я пробовал что-то с ggplot2
, не слишком путаясь с прогнозом, может быть, это могло бы помочь в качестве начала:
library(forecast)
library(tidyverse)
fit <- auto.arima(WWWusage)
forec <- forecast(fit,h = 10)
Теперь мы должны поместить ts и прогноз вdata.frame
s, свяжите их и нанесите результат с помощью 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()