Вопрос об ошибке: ошибка в etsmodel(y, errortype[i], trendtype[j], SeasonType[k], Damped[l], : неиспользуемый аргумент (метод = наивный)

У меня есть такой вектор цен: Price=rnorm(n=44, mean=510, sd=10)

Каждое число - это месячное наблюдение за ценой определенного продукта, я хотел бы спрогнозировать цену на следующие 6 или 4 месяца.

Но получил эту ошибку

Ошибка в etsmodel(y, тип_ошибки[i], тип тренда[j], тип сезона[k], демпфированный[l], : неиспользуемый аргумент (метод = "наивный")

Каждое число - это месячное наблюдение за ценой определенного продукта, я хотел бы спрогнозировать цену на следующие 6 или 4 месяца. Сначала я разбиваю кривую на сезонную, трендовую и случайную составляющие, потому что между текущими значениями и предыдущим значением не так много авторегрессионной корреляции.

monthlyts=ts(Price, start = c(2016,1), frequency = 12)
mode(monthlyts)
#--------------------------------------------------------
#decompose the time series into trend and seasonal components
decom = decompose(monthlyts,type ='multi')
plot(decom)
#-----------------------------
fcast<-forecast(decom$x,method="naive",h=6)
plot(fcast)

Я вижу эту ошибку.

Ошибка в etsmodel(y, тип_ошибки[i], тип тренда[j], тип сезона[k], демпфированный[l], : неиспользуемый аргумент (метод = "наивный")

Может ли кто-нибудь посоветовать, как это исправить? Большое спасибо!


person Cherry    schedule 15.10.2019    source источник


Ответы (1)


decom$x содержит исходные данные временного ряда monthlyts класса ts.

Таким образом, forecast() вызовет forecast.ts(), который вызывает ets(), чтобы соответствовать модели. ets() не имеет аргумента method, поэтому возвращает ошибку.

Если вам просто нужны прогнозы исходных данных, то сработает следующее.

fit <- ets(monthlyts)
fcast <- forecast(fit, h=6)
plot(fcast)
person Rob Hyndman    schedule 16.10.2019
comment
На самом деле моя цель - спрогнозировать decom$seasonal, в этом случае я должен использовать ts. В противном случае я не могу использовать функцию decompose(). Я пробовал этот метод с другими моими данными, которые представляют собой ежедневные временные ряды. Это сработало. Не уверен, в чем проблема сейчас. Но спасибо за совет! - person Cherry; 16.10.2019
comment
Сезонная составляющая носит периодический характер. Вам не нужна модель, чтобы предсказать это. - person Rob Hyndman; 16.10.2019
comment
Да, ты прав. Это всего лишь пример, я хотел бы прогнозировать компонент тренда и случайный компонент, чтобы можно было прогнозировать будущие значения временного ряда. Потому что этот временной ряд, кажется, имеет очень меньшую автокорреляцию со значениями в предыдущей метке времени. - person Cherry; 17.10.2019