автозапуск с функцией seas для сезонной декомпозиции приводит к выходу индекса ошибки за пределы

#r #ggplot2 #time-series #stl-decomposition

#r #ggplot2 #временные ряды #stl-декомпозиция

Вопрос:

Я пытаюсь использовать seasonal::seas() функцию для сезонной декомпозиции моих данных временных рядов и построения результатов. Обертывание autoplot() функции seas() обычно работает отлично, но для приведенных ниже данных я получаю сообщение об ошибке. Я видел несколько сообщений с ошибками подстрочного индекса вне границ вокруг сезонной декомпозиции, но ни одно из них не устранило проблему. seas() Функция имеет предупреждение Model used in SEATS is different: (1 1 2) , но я не знаю, почему это может вызвать ошибку. Любая помощь в решении этой проблемы была бы весьма признательна.

Код:

 library(forecast)
library(seasonal)

data <- c(11666, 18526, 14955, 13791, 13508, 15682, 23039, 24190, 23628, 23411, 25068, 20204, 16084, 15726, 13677, 14668, 17915, 25673, 30529, 31990, 31334, 30129, 24323, 19584, 20827, 19766, 21886, 25119, 31832, 31032, 26647, 28725, 26160, 22611, 20698, 21711, 20014, 21698, 27068, 27181, 23442, 25894, 22482, 21894, 20365, 20078, 20995, 22959, 25745, 33074, 29875, 27740, 29499, 27302, 19854, 19658, 20850, 20130, 21415, 25808, 35240, 31326, 31128, 29594, 25660, 26359, 25723, 26995, 25283, 26823)

time_series <- ts(data, freq=12, start=c(2013, 10))
autoplot(seas(time_series))
  

Выдает ошибку:

 Model used in SEATS is different: (1 1 2)
Error in `[.default`(object$data, , c("trend", "seasonal", "irregular")) : 
  subscript out of bounds
  

Ответ №1:

Это происходит потому, что декомпозиция не имеет сезонного компонента и autoplot() предполагает, что он есть.

Теперь я обновил версию пакета для разработчиков (https://github.com/robjhyndman/forecast ), чтобы разрешить этот случай.