Как использовать машинное обучение для прогнозирования временных рядов (или ретроспектива результатов конкурса прогнозистов Kaggle M5).

Больше года назад я внимательно следил за соревнованием прогнозистов Kagle M5 https://www.kaggle.com/c/m5-forecasting-accuracy.

TL;DR — после 40 лет, когда академия прикладного прогнозирования утверждала, что «простые методы прогнозирования работают лучше всего», кульминацией которого стало соревнование по прогнозированию M4, в котором почти не было участников из сообщества машинного обучения (тем не менее, два лучших решения использовали машинное обучение), организаторы удвоили фантастическое заявление о том, что «все еще не ясно», является ли машинное обучение лучшим подходом для прогнозирования временных рядов по сравнению с такими простыми методами, как экспоненциальное сглаживание.

Перенесемся на пару лет вперед после окончания конкурса M4 — на этот раз организаторы разместили следующий конкурс M5 на Kaggle, который впервые в своей истории представил «M-соревнования» большому сообществу экспертов по машинному обучению.

Результат — впечатляющий крах давней академической догмы прогнозирования и явные доказательства (ВСЕ лучшие решения использовали машинное обучение) что машинное обучение — это будущее прогнозирования временных рядов .

Чему мы научились с тех пор? Немало вещей — одна из них заключается в том, что в соревновании по прогнозированию М5 победители трека точечного прогнозирования не смогли конвертировать свои выигрыши в выигрыши на треке вероятностного прогнозирования.

Почему это произошло, спросите вы? Кроме того, указывает ли это на общий результат — а именно, должны ли мы предположить, что бесполезно иметь как отличные точечные прогнозы, так и отличные вероятностные прогнозы?

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

- Вероятностное прогнозирование — это трудная задача «навыков в квадрате». Составлять точные точечные прогнозы достаточно сложно, но еще труднее создавать точечные прогнозы, которыетакже являются точными вероятностными прогнозами.

  • Машинное обучение для временных рядов по-прежнему остается ремеслом, да, есть некоторые высокопроизводительные модели, такие как NBeats, но на более детальном уровне прогнозирования на уровне SKU/магазина это все еще сложно. проблема, требующая большого объема экспертной работы по принципу «а-ля-карт», создания индивидуальных функций, разработки правильной проверки на основе временных рядов, выбора правильных метрик и т. д.

- Даже если кто-то разработал хорошую модель точечного прогноза (например, студент из Южной Кореи, который много месяцев использовал и дорабатывал общедоступный подход LightGBM, как и большинство других победителей ), на это требуется чрезмерное количество времени для создания хорошо работающей вероятностной модели в дополнение к точной модели точечного прогноза. Несмотря на то, что во время конкурса M5 на Kaggle был открыт доступ к информации для всех участников (какую метрику использовать, какой тип модели использовать и т. д.), команды-победители потратили месяцы на проектирование, создание, тестирование и настройку. модели дальше.

Данные, опубликованные Walmart для конкурса Kaggle M5, содержали очень ограниченный набор данных Walmart и содержали данные только из 10 магазинов в трех штатах США. Чтобы представить ситуацию в перспективе, если бы Walmart опубликовал все свои данные, а не только 10 магазинов, которые потребовали тысяч людей на Kaggle, чтобы потратить сотни тысяч часов на решение проблемы с очень ограниченным набором данных, вероятно, потребовалось бы тысячелетие лучших и самых ярких рабочих 24 часа в сутки, 7 дней в неделю, чтобы предоставлять самые современные прогнозы по всем SKU Walmart (Walmart должен создавать прогнозы для более чем миллиарда временных рядов).

Можно только заключить, что вероятность того, что Walmart когда-либо будет использовать решение Kaggle M5 для своих систем прогнозирования в производстве, равна нулю, так же, как Netflix и позже Zillow узнали, что только потому, что что-то выигрывает конкуренцию Kaggle, не означает, что это так. будет работать в реальности

[Примечание: это не критика Kaggle, Kaggle имеет большую ценность, и, по собственному признанию, Walmart многому научился из подходов машинного обучения, используемых в Kaggle M5, и будет использовать полученные знания для расширения своих систем].

- Даже если бы кто-то построил очень хорошую модель точечного прогнозирования, было бы невозможно спроектировать еще один вероятностный прогноз a la carte поверх нее, так как это было бы 1) непомерно дорого с точки зрения времени 2) навыки точного точечного прогнозирования не могут быть переданы в экспертные навыки a la carte для вероятностного прогнозирования 3) возня с моделью точечного прогнозирования, скорее всего, ухудшит ее точечную эффективность, поэтому компании, создающей модель, придется вернуться к исходной точке.

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

Если кто-то уже усердно работал над созданием превосходной модели точечного прогнозирования, конформное прогнозирование может дополнить ее вероятностными интервалами прогнозирования, составляющими модель:

1) хорошо откалиброван — если выбрать достоверность 95 % (или 99 %), это то, что модель на основе #conformalprediction даст по умолчанию 95 % (или 99 %). Никаких «если», никаких «но» и никаких оправданий — вероятностная модель будет откалибрована по умолчанию благодаря встроенным математическим гарантиям.

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

3) не содержит параметров [следовательно, не страдает предвзятостью]. Как с академической, так и с практической точек зрения известно, что параметрические статистические модели страдают предвзятостью и дают завышенные интервалы прогнозирования.

То, что может показаться интервалом прогнозирования, покрывающим 95%, на самом деле не охватывает 95% данных [я недавно написал статью на Medium, иллюстрирующую, как Facebook Prophet не может предоставить калиброванные интервалы прогнозирования]

https://valeman.medium.com/benchmarking-facebook-prophet-53273c3ee9c6

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

5) обеспечивает встроенные гарантии достоверности в окончательных образцах. Если кто-то хочет 95%, он даст 95%, без всяких «если», без «но» и без оправданий.

Как узнать о лучших способах прогнозирования временных рядов? Следуйте за мной на Medium, LinkedIn и Twitter.

#временные ряды #машинное обучение #прогнозирование

Статья среднего размера о том, что Facebook Prophet не может дать правильные вероятностные прогнозы.

https://valeman.medium.com/benchmarking-facebook-prophet-53273c3ee9c6