Как создать R TimeSeries для почасовых данных
У меня есть ежечасный снимок события, начиная с 2012-05-15-0700 до 2013-05-17-1800. Как я могу создать Timeseries по этим данным и выполнить HoltWinters?
Я попробовал следующее
EventData<-ts(Eventmatrix$X20030,start=c(2012,5,15),frequency=8000)
HoltWinters(EventData)
Но я получил ошибку при разложении (ts (x [1L: wind], start = start (x), frequency = f), сезонный): временной ряд не имеет или не менее 2 периодов
Какое значение следует использовать на частоте?
Ответы
Ответ 1
Думаю, вам стоит использовать ets
из пакета forecast
для выполнения экспоненциального сглаживания. Прочитайте этот пост, чтобы сравнить между HoltWinters
и ets
.
require(xts)
require(forecast)
time_index <- seq(from = as.POSIXct("2012-05-15 07:00"),
to = as.POSIXct("2012-05-17 18:00"), by = "hour")
set.seed(1)
value <- rnorm(n = length(time_index))
eventdata <- xts(value, order.by = time_index)
ets(eventdata)
Теперь, если вы хотите узнать больше о синтаксисе ets
, просмотрите справку этой функции и онлайн-книгу Роба Хиндмана (Раздел 6 раздела 6)
Ответ 2
Пожалуйста, взгляните на следующее сообщение, которое может ответить на вопрос:
Разделить почасовые временные ряды xts
В нем объясняется, как вы можете создать объект xts с использованием объектов POSIXct. Этот объект xts может иметь свой частотный атрибут вручную, и вы, вероятно, сможете использовать HoltWinters