Нет модели ARIMA, способной оценить ошибку в пакете R forecast — auto.arima

#r #time-series #arima

#r #временные ряды #arima

Вопрос:

Я использую пакет auto.arima из forecast для нескольких наборов данных на сервере HPC. Данные о поездах всегда содержат 24 точки данных с данными по месяцам за последние 2 года. Данные также содержат внешний регрессор. С давних пор она работала нормально, но я внезапно столкнулся с ошибкой только для одного набора данных.В сообщении об ошибке говорится-

 <simpleError in search.arima(x, d, D, max.p, max.q, max.P, max.Q, max.order,     stationary, ic, trace, approximation, xreg = xreg, offset = offset,     allowdrift = allowdrift, allowmean = allowmean, parallel = parallel,     num.cores = num.cores): No ARIMA model able to be estimated>
  

Код, который я использовал, является —

 auto_arima <- ts(data$y, start=min(data$DATE), frequency=12)
auto_arima <- auto.arima(auto_arima, xreg = data$x1, stepwise=FALSE, approximation=FALSE, seasonal=TRUE)
  

Набор данных, который вызвал ошибку, является

 structure(list(DATE = structure(c(17804, 17835, 17865, 17896, 
17927, 17955, 17986, 18016, 18047, 18077, 18108, 18139, 18169, 
18200, 18230, 18261, 18292, 18321, 18352, 18382, 18413, 18443, 
18474, 18505), class = "Date"), x1 = c(21, 22, 21, 22, 22, 19, 
22, 21, 22, 21, 22, 22, 21, 22, 21, 22, 22, 19, 22, 21, 22, 21, 
22, 22), y = c(17532306871, 41826190703, 7748403270, 14959015398, 
15241717931, 18655759009, 15393151016, 15251081090, 14516497716, 
13974303432, 11254893416, 17410813458, 14446411746, 12876827127, 
17609512917, 12179664532, 17473491954, 18447419416, 28262667160, 
36623989143, 28711285833, 28711285833, 28711285833, 28711285833
)), row.names = c(NA, 24L), class = "data.frame")
  

Когда я запускаю этот код на своем компьютере с Windows с установленной версией 4.0.2, он работает нормально (создается модель ARIMA (0,1,0)), но при запуске того же кода с теми же данными на сервере HPC я сталкиваюсь с ошибкой, описанной выше. Я сталкиваюсь с той же ошибкой, даже когда пытаюсь выполнить тот же код с Rversion 3.6.1, установленной из RStudio на другом компьютере с Windows.

Это из-за разницы в версии R или я что-то упускаю? Пожалуйста, помогите мне с этим.

Ответ №1:

Версия R, вероятно, здесь не имеет значения. Версия пакета — это то, что имеет большее значение. Здесь вы используете пакет forecast, и auto.arima в алгоритме за эти годы было несколько улучшений и исправлений ошибок. Текущая CRAN-версия forecast — v8.12, и она возвращает модель ARIMA (0,1,0).

Комментарии:

1. Спасибо Робу Хайндману. Я понимаю это и должен обновить pckg до последней версии. Мне любопытно узнать, есть ли какая-либо техническая причина для этой ошибки при использовании более старой версии forecast pkg. Используя те же данные, если я уменьшу значение 22-й точки данных на 1000, более старая версия также вернет модель ARIMA (0,1,0). Я не понимаю разницы между исходными данными и обновленными. Я не понимаю, почему первая выдает ошибку, в то время как более поздняя возвращает действительную модель ARIMA. Я буду благодарен, если вы сможете пролить некоторый свет на это или указать мне на какие-либо материалы или документацию. Заранее спасибо

2. Вы не сказали, какие версии пакета вы используете, поэтому невозможно ответить, какие изменения могли привести к этим результатам. Вы можете просмотреть полную историю изменений в auto.arima() функции на github.com/robjhyndman/forecast/commits/master/R/newarima2.R

3. Хорошо. Большое вам спасибо. Это действительно помогает.