Как создать 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