Я пытаюсь прогнозировать исторические данные, представленные в виде пары значений меток времени, хранящихся в фрейме данных R:
timestamp value
2018-08-01 11:00:00 13.00
2018-08-01 11:15:00 11.75
2018-08-01 11:30:00 13.40
...
Временные метки появляются с регулярной частотой, но этот фрейм исторических данных может содержать пропущенные метки времени.,Например: 2018-08-01 11:15:00 11.75
отсутствует.
timestamp value
2018-08-01 11:00:00 13.00
2018-08-01 11:30:00 13.40
...
Эти отсутствующие метки времени не могут быть интерполированы, потому что иногда пропуски данных слишком велики.
Таким образом, я хотел бы знать, какдолжна быть сгенерирована временная серия, чтобы справиться с таким сценарием и использоваться моделью ARIMA.
На самом деле я использую функцию ts
с ежедневной сезонностью (4 * 24) (4 наблюдения по часам).).Но этот предполагает, что нет пропущенного наблюдения:
data_df = read.table("./data/my_file.csv", header=FALSE, sep=";", col.names =c("timestamp", "value"))
data_df$timestamp = as.POSIXct(data_df$timestamp / 1000, origin="1970-01-01")
labels = as.numeric(train_df$value)
timeseries = ts(labels, frequency=96)
model = auto.arima(timeseries)
В результате, прогнозирование не является хорошим.как показано на рисунке, где зеленая линия - это фактические значения, а красная линия - это средние прогнозные значения.
По полученным результатам.Я думаю, что способ генерации и передачи серии времени в модель подразумевает результат, изображенный на графике.
Заранее благодарю за помощь и предложения.