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

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

Все еще не понимаете, что такое настоящая ошибка прогнозирования?

Ознакомьтесь с нашим новым 9-минутным слайдкастом (тексты сценариев приведены ниже).

видео на YouTube

Сценарий слайдкаста:

Переобучение: ваши прогнозы могут быть не такими хорошими, как показывает оценка

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

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

Эта проблема малоизвестна по двум причинам. Во-первых, она тонкая — неочевидная и противоречащая интуиции во многих аспектах. Во-вторых, это проблема, которая озадачивает математиков с XIX века. Только в конце девяностых, всего немного более десяти лет назад, научное сообщество начало по-настоящему понимать эту проблему как на теоретическом, так и на практическом уровне.

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

Переобучение — это реальная бизнес-проблема. Переобучение обходится дорого.

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

Ключевая проблема заключается в определении истинного значения точности прогнозирования.

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

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

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

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

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

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

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

Затем мы можем увеличить сложность модели. Теперь у нас есть модель, которая примерно следует локальному среднему значению временного ряда. Эта новая модель выглядит значительно лучше предыдущей, и ошибка действительно снизилась в 5 раз, достигнув 10%.

Здесь у нас уже хорошая модель, но можем ли мы снизить ошибку еще больше? Ответ прост: да, мы можем создать модель, достигающую ошибки менее 1%.

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

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

Теперь, если сравнить последние две модели, возникает очевидная проблема: согласно нашей метрике ошибки, модель справа — та, у которой ошибка 1% — в десять раз лучше модели слева.

Хотя очевидно, что лучшей моделью является та, что слева. Эта модель сглаживает случайные колебания временного ряда.

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

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

Хотя это определение кажется полным парадоксом: как можно что-либо измерить, если, собственно, у вас нет данных!

Начиная с XIX века, статистики рассматривают эту проблему с точки зрения компромисса между смещением и дисперсией.

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

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

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

А в середине находится модель, которая уравновешивает смещение и дисперсию; и именно так нужно поступать.

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

Этот компромисс часто является скорее эвристикой, чем истинным статистическим критерием.

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

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

Как мы уже видели, эмпирическая ошибка — это просто ошибка, измеренная на исторических данных.

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

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

Если количественно оценить эти структурные риски, мы получим следующую картину.

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

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

Эта верхняя граница действует как максимальное значение для реальной ошибки.

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

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

Как мы уже видели, очевидный путь к проблемам переобучения — увеличение сложности модели.

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

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

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

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

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

Большое спасибо за проявленный интерес. Мы будем рады ответить на ваши вопросы на наших форумах.


Комментарии читателей (9)

Интересная презентация Mark (3 года назад)


Вау, какое отличное видео, спасибо, что помогли мне понять переобучение. Melford McRae (4 года назад)


Кстати, я пытался посмотреть слайдшоу в нескольких браузерах, но не смог его загрузить. Оно, похоже, никогда не загружается. Может, кто-нибудь из Lokad проверит и выяснит, в чем проблема? Shaun Snapp (4 года назад)


Я только что выложил обновленное видео, которое работает. Joannes Vermorel (4 года назад)


Похоже, что SlideShare не поддерживал своё содержимое на протяжении лет :-( Здесь находятся аудиофайл https://media.lokad.com/videos/2009-04-21-overfitting/overfitting.mp3 и файл PowerPoint https://media.lokad.com/videos/2009-04-21-overfitting/overfitting.pptx. Я объединю их в видео на YouTube. Joannes Vermorel (4 года назад)


Это довольно запутанная проблема. Нет другого способа измерить качество модели прогноза, кроме как проверять её на исторических данных, но существует тенденция переобучаться, чтобы добиться «наилучшей точности». Всё это стало бы еще большей проблемой, если бы больший процент компаний действительно использовал процедуру наилучшего соответствия в системах прогнозирования, которые они покупают, или действительно настраивал модели. Мне было бы интересно обсудить, как предотвратить переобучение при использовании процедуры наилучшего соответствия. Shaun Snapp (4 года назад)


Я оставил последующий ответ на https://blog.lokad.com/journal/2014/5/20/how-to-mitigate-overfitting-when-forecasting-demand. Надеюсь, это поможет! Joannes Vermorel (4 года назад)


Спасибо за слайдшоу. Оно помогло мне понять переобучение, не вдаваясь в математические подробности. Shyam Prasad Murarka (8 лет назад)


Спасибо за слайдшоу. Abhishek (8 лет назад)