2015-05-26 1 views
0

У меня есть кадр данных, где один столбец представляет мои ежедневные наблюдаемые значения и столбец даты, отформатированный «2014-10-01», используя функцию as.Dates.Прогнозирование объекта xts, не генерирующего даты для будущих прогнозируемых точек

Я создаю объект XTS выполнив следующие действия:

xtsObject <- as.xts(vector$values, order.by = vector$dates) 

Я затем передать xtsObject в функцию прогноза етсь и называют предсказать на полученном объекте предсказать следующие три шага времени, как так:

fit <- ets(xtsObject) 
pred <- predict(fit,3) 

результаты выглядят:

 Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 
366    0  0  0  0  0 
367    0  0  0  0  0 
368    0  0  0  0  0 

(вектор прошел I n состоял из всех нулей, поэтому прогноз работает как ожидалось)

Мой вопрос в том, чтобы связать эти три будущих прогнозируемых пункта с соответствующей датой? Мои данные ежедневно, поэтому вместо «366», «367», «368» было бы желательно увидеть «10-01-2015», «10-02-2015», «10-03-2015», чтобы знать это даты, к которым относятся эти прогнозируемые точки. Я пробовал зоопарк, xts и ts, и все они производят аналогичную продукцию. Мысли?

ответ

1

Используйте объект ввода зоопарка, а затем преобразовать предсказание в кадре данных преобразования этого кадра данных в объект зоопарка, используя соответствующим образом преобразованные имена строк для индекса:

library(zoo) 

# test input 
set.seed(123) 
z <- zoo(rnorm(25, 1:25), as.Date("2000-01-01") + 0:24) 

e <- ets(z) 
p <- predict(e, 3) 

DF <- as.data.frame(p) 
zoo(DF, as.Date(as.numeric(rownames(DF)))) 

дает:

  Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 
2000-01-26  25.15238 23.97099 26.33377 23.34559 26.95916 
2000-01-27  26.07805 24.89666 27.25945 24.27127 27.88484 
2000-01-28  27.00373 25.82234 28.18512 25.19695 28.81052 
Смежные вопросы