Простые шаги для создания эффективного гибридного прогнозиста

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

Их эффективность подтверждена документально и, кажется, растет год от года в различных и неожиданных областях. Очень интересны свидетельства, изложенные в этой работе. Он направлен на то, чтобы отметить силу моделей повышения градиента, достигнутых в области прогнозирования временных рядов, и то, как они, как правило, превосходят подходы глубокого обучения. Это звучит странно, поскольку алгоритмы на основе деревьев имеют плохую репутацию при моделировании явлений, зависящих от времени (по крайней мере, до сегодняшнего дня).

Слабое место древовидных моделей заключается в том, что они технически не могут экстраполировать значения признаков выше/ниже, чем в обучающих данных. Для них практически невозможно предсказать значения за пределами видимого интервала. Напротив, классическая линейная регрессия может меньше страдать от динамического поведения данных. Поскольку линейная регрессия лучше всего подходит для экстраполяции тенденций, а градиентный бустинг лучше всего подходит для обучения взаимодействию, почему бы не объединить их? Мы стремимся создать «гибридные» прогнозисты, которые сочетают дополнительные алгоритмы обучения и позволяют сильным сторонам одного компенсировать недостатки. слабость другого.

При работе с глубоким обучением легче думать о гибридных моделях. Бесконечные комбинации архитектуры и персонализированный процесс обучения нейронных сетей обеспечивают большие преимущества с точки зрения настройки (например, Экспоненциальное сглаживание в сочетании с LSTM). Разработка индивидуальных гибридных решений с использованием древовидных моделей является более сложной задачей. Хорошим ресурсом в этом смысле является linear-tree: пакет Python, предоставляющий архитектуры гибридных моделей, которые сочетают в себе обучаемость древовидных и линейных моделей. Не только, но и LGBMили XGBoostпредоставили возможность согласования усиления градиента с линейными аппроксимациями в листьях дерева.

В этом посте мы попытаемся создать наш гибридный прогнозист с нуля. Все, что нам нужно сделать, это следовать двухэтапному подходу к изучению шаблонов системы подчеркивания.

ЭКСПЕРИМЕНТАЛЬНАЯ УСТАНОВКА

Чтобы разработать эффективные гибриды, нам нужно общее понимание того, как строятся временные ряды. Многие временные ряды можно точно описать, сложив вместе всего три компонента(тренд, сезон и циклы) плюс по существу непредсказуемый термин (ошибка).

series = trend + seasons + cycles + error

Изучение компонентов временного ряда можно представить как итеративную процедуру:

  • во-первых, узнать тренд и вычесть его из исходного ряда, чтобы получить ряд остатков;
  • во-вторых, узнать сезонность из остатков без тренда и вычесть времена года;
  • в конце концов, изучите циклы и вычтите циклы.

Другими словами, мы используем один алгоритм для подбора определенного ряда компонентов, а затем второй алгоритм для подбора остаточных рядов. Окончательный прогноз — это добавление прогнозов различных компонентов модели.

Чтобы поэкспериментировать с построением гибридов, мы начинаем генерировать некоторые смоделированные ряды с двойной моделью сезонности и компонентом тренда.

Неизвестный тренд получается подгонкой кубического многочлена к ряду случайных блужданий. В результате получается сглаженная линия тренда, которая добавляется к сезонному компоненту, чтобы получить окончательный временной ряд для прогнозирования. Таким образом, мы генерируем несколько временных рядов и пытаемся спрогнозировать их, сравнив различные решения.

Мы пробуем четыре разных подхода:

  • подобрать наивную линейную модель после выбора наилучшего полиномиального базиса;
  • преобразовать цель с разностным преобразованием, чтобы сделать ее стационарной;
  • гибридная добавка. Во-первых, для экстраполяции тренда используется линейная модель с оптимальной полиномиальной основой. Во-вторых, ряды без тренда моделируются с повышением градиента;
  • включая гибридные. Соответствуйте повышению градиента, включая также экстраполированный тренд (полученный при подгонке линейной модели с оптимальной полиномиальной основой) в качестве признака.

За исключением наивного решения, все подходы используют в качестве признаков некоторые сплайн-преобразования. Они хороши для того, чтобы уловить закономерности сезонности, просто взглянув на серию. Оптимальный тренд выбирается путем поиска наилучшего полиномиального базиса на обучающих данных. Повышение градиента установлено при поиске некоторых конфигураций оптимальных параметров с использованием стратегии временной перекрестной проверки.

ПОЛУЧЕННЫЕ РЕЗУЛЬТАТЫ

Для каждой имеющейся в нашем распоряжении серии мы пробуем все упомянутые подходы и сохраняем результаты на тестовых данных.

Гибридный инклюзивный подход дает наименьшую среднюю ошибку теста, за которой следует метод разности. Гибридная добавка не оправдывает наших ожиданий, поскольку регистрирует ошибку почти в три раза выше, чем разностный подход. Вообще говоря, дифференцирование цели всегда является отличным ориентиром при моделировании динамических систем (таких, как представленная в нашем эксперименте). Большим сюрпризом стала огромная разница в производительности между гибридными методами. Давайте визуально проверим некоторые результаты, чтобы увидеть, что может произойти.

Из приведенного выше набора изображений мы можем лучше понять «провал» аддитивного подхода. Его характеристики строго связаны с качеством предыдущей подгонки тренда. Если оценки тренда неточны, то и окончательные прогнозы — мусор. Такое поведение смягчается инклюзивным гибридным подходом, поскольку тренд включается в модель как функция. Следовательно, повышение градиента может исправить/смягчить окончательные ошибки прогноза.

КРАТКОЕ СОДЕРЖАНИЕ

В этом посте мы представили различные способы построения гибридной модели прогнозиста для временных рядов. Важно подчеркнуть, что существует множество способов объединения моделей машинного обучения, помимо показанного здесь. Тем не менее, если мы четко понимаем, как работают стандартные алгоритмы, легче отлаживать или понимать возможные недостатки или ловушки наших гибридных творений.

В качестве следующего чтения по теме я предлагаю Прогнозирование с помощью деревьев: гибридные классификаторы для временных рядов.

ПРОВЕРЬТЕ МОЙ РЕПО GITHUB

Оставайтесь на связи: Linkedin