#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 ), чтобы разрешить этот случай.