MAPIE (оценщик интервала прогнозирования, не зависящего от модели) — это библиотека Scikit-learn Python, основанная на конформном прогнозировании. С конформным прогнозированием любой может создавать высококачественные модели вероятностного прогнозирования, которыегарантируют беспристрастные прогнозы независимо от распределения данных для любого размера выборки и модели прогнозирования.
MAPIE недавно стала первой библиотекой с открытым исходным кодом, которая добавила функциональность конформного прогнозирования для временных рядов.
В этой статье мы рассмотрим, как эта модель под названием EnbPI («Интервалы пакетного прогнозирования ансамбля» обеспечивает высококачественные вероятностные прогнозы с использованием дружественной функциональности, совместимой со Scikit-learn, реализованной MAPIE.
Мы будем использовать набор данных по электричеству UCI из статьи Бенчмаркинг Neural Prophet. Часть II — изучение набора данных об электроэнергии. Данные представляют собой данные о потреблении энергии домохозяйствами в Португалии.
Мы создаем модель прогнозирования машинного обучения, используя функции из набора данных, такие как функции календаря и задержки, чтобы создать мощно оптимизированный точечный регрессор с использованием случайного леса.
Хотя можно создавать высокопроизводительные машинные модели для точечного прогнозирования, подавляющее большинство моделей прогнозирования (будь то машинное обучение или статистика/эконометрика) либо не могут создавать интервалы прогнозирования, либо создают интервалы прогнозирования, которые имеют мало общего с заявил о достоверности прогнозов.
Интервалы прогнозирования, создаваемые неоткалиброванными моделями прогнозирования, неизменно будут слишком широкими или, скорее всего, слишком узкими, что приведет к неправильным прогнозам и решениям, например, на каком уровне установить запасы безопасности.
Возникающие в результате ошибки обычно дорого обходятся предприятиям, поскольку в сценариях планирования спроса крупные компании обходятся в десятки миллионов долларов либо из-за упущенных продаж, либо из-за избыточных/устаревших товарно-материальных запасов.
Для энергетических компаний неправильный вероятностный прогноз будет означать выплату значительных штрафов за занижение/завышение объемов производства для энергосистемы и так далее.
Вероятностные прогнозы требуют конкретных показателей. Об этой теме вы можете прочитать в моей статье Как оценивать вероятностные прогнозы.
Сначала мы создаем обучающие и тестовые наборы данных, чтобы сделать вероятностные прогнозы на шесть месяцев вперед и сравнить их с фактическими значениями.
Шаги для создания вероятностного прогнозирования с помощью MAPIE относительно просты:
- Загрузите данные и подготовьте набор данных
- Создайте модель точечного регрессора. В нашем случае мы используем Random Forest, надежную высокопроизводительную модель, которую относительно легко построить в Scikit-learn. Следует отметить, что Conformal Prediction может создавать калиброванные интервалы прогнозирования для любой модели прогнозирования. Здесь мы используем модель RF для демонстрации основных принципов, но любая модель из набора инструментов Scikit-learn может использоваться в MAPIE.
- Оптимизируйте базовую оценку (случайный лес).
- Оцените интервалы прогнозирования в тестовом наборе, используя реализацию EnbPI MAPIE.
Вот буквально все, единственная техническая особенность — знать, что MAPIE позволяет не один, а два способа оценки интервалов прогнозирования:
- с обычным процессом
.fit
и.predict
, ограничивающим использование остатков обучающего набора для построения интервалов прогнозирования - использование
.partial_fit
в дополнение к.fit
и.predict
позволяет MAPIE использовать новые невязки из контрольных точек по мере поступления новых данных.
Второй вариант более интересен для ситуаций с высокой волатильностью или внезапных падений/скачков временных рядов. В нашем случае мы будем использовать базовый подход EnbPI, где неопределенность оценивается с использованием остатков обучающего набора.
Построив нашу модель, мы теперь смотрим на прогнозы, сначала на точечные прогнозы. Красный — фактические значения; зеленый - точечные предсказания. Мы видим, что относительно простая модель Random Forest, на построение которой у меня ушло 5 минут, довольно хорошо отражает основную динамику потребления энергии. Мы также видим, что Random Forest дает плавные прогнозы; следовательно, наличие хорошо откалиброванных интервалов прогнозирования для таких прогнозов еще более важно для учета изменчивости данных и полученных прогнозов.
Что нас интересует, насколько хороши наши вероятностные прогнозы. Можно ли их использовать для надежной установки безопасных уровней запасов? Как насчет составления прогнозов производства энергии для электросети?
TL;DR И, оказывается, это неплохие вероятностные прогнозы! Продолжайте читать, чтобы узнать, почему и как. Мы почти у цели.
Теперь мы смотрим только на временную шкалу, соответствующую тестовому набору данных (данные за последние шесть месяцев), и строим график прогнозируемых (красный) и фактических значений энергопотребления (синий).
Мы также наносим 95% интервалы прогнозирования (нижний предел — зеленый, верхний предел — фиолетовый).
Оказывается, большинство фактических точек находятся в пределах этого 95%-го интервала прогнозирования, и только пять или около того точек едва выходят за его пределы.
Для 180 баллов * 5% = 9 баллов — это ожидаемый допуск, в то время как наша модель выдала только пять баллов за пределами интервалов предсказания — это довольно хорошо.
В заключение можно сказать, что Conformal Prediction может создавать высокопроизводительные вероятностные прогнозы, а с реализацией EnbPI в MAPIE это стало довольно простой задачей.
#временные ряды #неопределенность #прогнозирование #прогнозирование спроса #машинное обучение #конформноепредсказание #MAPIE
Дополнительные материалы:
- Удивительное конформное предсказание. Самый полный список руководств, видео, книг, документов и библиотек с открытым исходным кодом на Python и R, составленный профессионалами.
https://github.com/valeman/awesome-conformal-prediction
2. Интервал конформного предсказания для динамических временных рядов
3. Оценщик интервала прогнозирования, не зависящий от модели
[1] Чен Сюй и Яо Се. «Конформный интервал прогнозирования для динамических временных рядов». Международная конференция по машинному обучению (ICML, 2021).