С момента последней записи о функции экспоненциального сглаживания в R прошло уже почти два месяца. А за это время в функции произошёл ряд изменений:
- Я её переименовал из «ets2» в более благозвучное es() — «Exponential Smoothing»;
- Функция теперь позволяет использовать экзогенные переменные. Делается это через параметр xreg. В параметр можно подавать как вектора (то есть только одну переменную), так и матрицы (то есть несколько переменных). Главное условие — это чтобы экзогенная переменная имела либо размер обучающей выборки, либо такой же, как и вся выборка в целом. То есть, если длина интересующей нас переменной y составляет 50 наблюдений, 40 из которых — обучающая выборка, а 10 — тестовая, то функция спокойно примет некую переменную x, если в той будет 40 или 50 наблюдений;
- Кроме того, es() теперь позволяет строить полупараметрические и непараметрические прогнозные интервалы. Первые рассчитываются на основе траекторной матрицы, вторые — на основе идеи Taylor and Bunn, 1999. Параметрических пока нет — слишком сложно и требует много времени, которого пока не нашлось;
- Ну, и, конечно же, код ещё раз оптимизирован, а несколько багов исправлены.
Функция всё так же входит в пакет «TStools» и пока всё ещё доступна только с сайта github, до cran мы пока не добрались.
Напомню, чтобы получить последнюю версию пакета «TStools» с упомянутой функцией, в R достаточно набрать:
if (!require("devtools")){install.packages("devtools")} devtools::install_github("trnnick/TStools")