MAPIE (оценщик интервала прогнозирования, не зависящего от модели) — это библиотека Scikit-learn Python, основанная на конформном прогнозировании. С конформным прогнозированием любой может создавать высококачественные модели вероятностного прогнозирования, которыегарантируют беспристрастные прогнозы независимо от распределения данных для любого размера выборки и модели прогнозирования.

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

В этой статье мы рассмотрим, как эта модель под названием EnbPI («Интервалы пакетного прогнозирования ансамбля» обеспечивает высококачественные вероятностные прогнозы с использованием дружественной функциональности, совместимой со Scikit-learn, реализованной MAPIE.

Мы будем использовать набор данных по электричеству UCI из статьи Бенчмаркинг Neural Prophet. Часть II — изучение набора данных об электроэнергии. Данные представляют собой данные о потреблении энергии домохозяйствами в Португалии.

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

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

Интервалы прогнозирования, создаваемые неоткалиброванными моделями прогнозирования, неизменно будут слишком широкими или, скорее всего, слишком узкими, что приведет к неправильным прогнозам и решениям, например, на каком уровне установить запасы безопасности.

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

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

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

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

Шаги для создания вероятностного прогнозирования с помощью MAPIE относительно просты:

  1. Загрузите данные и подготовьте набор данных
  2. Создайте модель точечного регрессора. В нашем случае мы используем Random Forest, надежную высокопроизводительную модель, которую относительно легко построить в Scikit-learn. Следует отметить, что Conformal Prediction может создавать калиброванные интервалы прогнозирования для любой модели прогнозирования. Здесь мы используем модель RF для демонстрации основных принципов, но любая модель из набора инструментов Scikit-learn может использоваться в MAPIE.
  3. Оптимизируйте базовую оценку (случайный лес).
  4. Оцените интервалы прогнозирования в тестовом наборе, используя реализацию 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

Дополнительные материалы:

  1. Удивительное конформное предсказание. Самый полный список руководств, видео, книг, документов и библиотек с открытым исходным кодом на Python и R, составленный профессионалами.

https://github.com/valeman/awesome-conformal-prediction

2. Интервал конформного предсказания для динамических временных рядов

3. Оценщик интервала прогнозирования, не зависящий от модели

[1] Чен Сюй и Яо Се. «Конформный интервал прогнозирования для динамических временных рядов». Международная конференция по машинному обучению (ICML, 2021).