Czy istnieje prosty sposób na przywrócenie prognozy z powrotem do szeregu czasowego do wydruku?

Jestem nowym użytkownikiem R i uznałem tę stronę za niezwykle pomocną, więc obejmuje ona drugą połowę mojego pytania (jeden problem na post). Dziękujemy za pomoc z wyprzedzeniem.

Tło: Przygotowywałem dane historyczne z wieloma prognozami nałożonymi na wizualne kontrole dokładności. Działało to doskonale, gdy wyświetlało się na osi x „obserwacji”. Jednak dane są bardziej zrozumiałe, gdy są drukowane z datami na osi x, więc zrobiłem to szeregiem czasowym za pomocą ts () i wykreśliłem dane szeregów czasowych zgodnie z oczekiwaniami. Jednak (A) nie wykreślił danych prognozy na skali czasu, ponieważ nie są szeregami czasowymi; i (B) Nie byłem pewien, jak wymusić oś x do plus 1 roku, aby umożliwić wyświetlanie prognozy.

Pytanie: (A) Jak przywrócić oryginalne znaczniki czasu do danych prognozy? Wiem, że mogę ręcznie odtworzyć szereg czasowy, ale będzie to wymagane przy każdej iteracji prognozy. Rozważyłem użycie prognozy () zamiast przewidywania (), ale dodatkowe iteracje prognozy wciąż mają ten sam problem, który nie jest szeregiem czasowym.Czy istnieje prosty sposób przywrócenia oryginalnego znacznika czasu do danych prognozy?

  require(forecast)  [EDITED for clarity]

  data <- rep(cos(1:52*(3.1416/26)),5)*100+1000

  arima.ts <- ts(data,start=c(2009,1),frequency=52) #not plotted as time series

  # Create the current fit on data and predict one year out
  plot(arima.ts, type="l", xlab="weeks", ylab="counts",
  main="Overlay forecasts & actuals",
       sub="green=FIT(1-105,by 16) wks back & PREDICT(26) wks, blue=52 wks")
  ############## This plotted correctly as "Arima(data),..."
  arima.fit <- auto.arima(tail(arima.ts,156)) 
  arima.pred <- predict(arima.fit, n.ahead=52)
  lines(arima.pred$pred, col="blue")
  lines(arima.pred$pred+2*arima.pred$se, col="red")
  lines(arima.pred$pred-2*arima.pred$se, col="red")

  # Loop back and perform comparison plotting of forecast to actuals
  for (j in seq(1,105,by=16)) { 
    result <- tryCatch({
      ############## This plotted correctly as "Arima(head(data,-j),..."
      arima1.fit <- auto.arima(head(tail(arima.ts,-j),156))
      arima1.pred <- predict(arima1.fit, n.ahead=52)
      lines(arima1.pred$pred, col="green", lty=(numtests %% 6) + 1 )
    }, error = function(e) {return(e$message)}) ## Trap errors
  }

questionAnswers(2)

yourAnswerToTheQuestion