Использование четырех методов прогнозирования в одном временном ряду для выявления различий в эффективности

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

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

В моей демонстрации используются четыре различных метода и общедоступный набор данных: почасовая посещаемость в центре Йорка, предоставленная правительством Великобритании. Данные варьируются с 30 марта 2009 г. по 17 декабря 2018 г.

Обзор методов

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

Усреднение

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

Экспоненциальное сглаживание

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

Случайный лес

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

Машина для повышения градиента

Машины для повышения градиента обучаются путем итеративного объединения так называемых слабых учеников в одного сильного ученика. Каждая итерация направлена ​​на дальнейшее минимизацию ошибки у ранее обученных учащихся путем оценки дерева регрессии.

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

Результаты

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

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

Затем я обучил все модели в один и тот же период года, всего через год (до 9 декабря 2018 г.), и позволил им снова предсказывать на одну неделю вперед.

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

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

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