Как обрабатывать серию времени с отсутствующими временными метками на регулярной основе в R? - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь прогнозировать исторические данные, представленные в виде пары значений меток времени, хранящихся в фрейме данных 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) 

В результате, прогнозирование не является хорошим.как показано на рисунке, где зеленая линия - это фактические значения, а красная линия - это средние прогнозные значения.enter image description here

По полученным результатам.Я думаю, что способ генерации и передачи серии времени в модель подразумевает результат, изображенный на графике.

Заранее благодарю за помощь и предложения.

...