Быстрое решение для получения лучшей модели ARIMA в R (функция `auto.arima`) - PullRequest
0 голосов
/ 21 июня 2019

У меня есть ряд данных, состоящий из 2775 элементов:

mean(series)
[1] 21.24862
length(series)
[1] 2775
max(series)
[1] 81.22
min(series)
[1] 9.192

Я хотел бы получить лучшую модель ARIMA, используя функцию auto.arima пакета forecast:

library(forecast)
fit=auto.arima(Netherlands,stepwise=F,approximation = F)

Но у меня большая проблема: RStudio работает полтора часа безрезультатно.(Я разработал код R для выполнения этих вычислений на компьютере под управлением Windows, оснащенном процессором Intel® R (Core) i7 с тактовой частотой 2,80 ГГц и 16,0 ГБ ОЗУ.) Я подозреваю, что это связано с длительностью временных рядов.Решением может быть распараллеливание?(Но я не знаю, как это применить).

В любом случае, предложения по ускорению этого кода?Спасибо!

1 Ответ

1 голос
/ 21 июня 2019

Пакет прогноза имеет множество функций, построенных с учетом параллельной обработки.Один из аргументов функции auto.arima () является «параллельным».

В соответствии с документацией пакета «Если [параллельный =] ИСТИНА и пошаговый = ЛОЖЬ, то спецификацияпоиск выполняется параллельно. Это может значительно ускорить работу многоядерных машин ».

Если параллель = ИСТИНА, он автоматически выберет, сколько «ядер» использовать (для ноутбука или настольного компьютера это часто число ядер * 2. Например, у меня есть 4 ядра, и каждое ядро ​​имеет2 процессора = 8 «ядер»).Если вы хотите вручную установить количество ядер, также используйте аргумент num.cores.

Я бы порекомендовал проверить электронную книгу , написанную Хиндманом, о пакете.Это как Библия прогнозирования временных рядов.

...