Вы не поверите! Пакет smooth для R обновился до версии 2.0.0 и теперь доступен в CRAN. Такой красивый номер в версии не часто встречается, поэтому я решил немного написать о том, что же нового появилось в пакете.
Во-первых, в пакете есть новая функция, ves() — Векторное Экспоненциальное Сглаживание. Эта модель позволяет оценивать несколько рядов одновременно и улавливать возможные связи между ними. Функция позволяет использовать одинаковые постоянные сглаживания, стартовые значения и т.п. для нескольких рядов. Это регулируется параметрами persistence, initial, initialSeason, transition и phi (параметр демпфирования). Имейте в виду, что векторные модели могут быть требовательными к размеру выборки, так что подходить к их использованию нужно с умом.
Функция на данный момент поддерживает аддитивные и мультипликативные модели, но смешанные модели в ней не доступны (и навряд ли будут). Дело в том, что я считаю, что смешанные модели — это зло, которое усложняет жизнь честным прогнозистам. Они даже противоречат общим принципам моделирования… В любом случае, я решил сильно не заморачиваться и реализовал упрощённую версию мультипликативных моделей. Фактически та же самая VES(M,N,N) — это VES(A,N,N), применённая к логарифмированным данным. Это упрощение облегчает большую часть вычислений, не меняя значительно сути мультипликативного экспоненциального сглаживания.
В функции на данный момент не хватает несколько важных элементов (таких как прогнозных интервалов и экзогенных переменных), но я буду её улучшать, и, возможно, к версии 2.5.0, она уже буде близка к идеалу. В виньетах есть несколько примеров использования функции — посмотрите, если интересно. Я так же напишу пару постов об этой функции в какой-то момент, так что следите за обновлениями!
Во-вторых, я оптимизировал код C++ в пакете, что, судя по всему, привело к увеличению производительности в среднем примерно на 25%.
В-третьих, теперь основные прогнозные функции возвращают imodel, часть модели, ответственную за моделирование вероятности возникновения спроса (мы ещё поговорим об этом в отдельном посте про целочисленный спрос). В вызове функций так же появился параметр imodel, которые позволяет передать тип экспоненциального сглаживания в соответствующую часть модели. Пока что это работает только с методом Croston, в других моделях всё несколько сложней. Суть идеи в том, что вероятность возникновения может быть смоделирована сама по себе с использованием какой-нибудь модели тренда. Так что можно попробовать передать imodel=»MMN» и посмотреть, что получится.
В пакете есть и другие нововведения и исправления, которые я здесь не рассматриваю. Если интересно, посмотрите сами здесь. Далее я собираюсь развивать и улучшать VES, а так же дорабатывать ту самую часть imodel.
Такие дела.
До связи!