Несколько научных дисциплин в последние годы потрясен кризисом воспроизводимости [1]. Не так давно исследователи Bayer обнаружили, что им удалось воспроизвести только 25% важных фармацевтических статей, которые они исследовали [2], и в отчете Массачусетского технологического института о статьях по машинному обучению были получены аналогичные результаты. Некоторые области начали выходить из кризиса, но другие области, такие как психология, возможно, еще не достигли дна [3] [4].

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

В этой статье мы рассмотрим правильное использование и разделение CV, чтобы помочь нам избежать этих кризисов недостаточной производительности в наших собственных проектах.

Проверка модели

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

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

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

Важно отметить, что термин «несколько моделей» не просто означает очень разные модели, использующие разные методы (например, случайный лес или нейронная сеть). Если у нас есть логистическая регрессия, которую мы пробуем с и безконкретного предиктора или с и без взятия log переменной, у нас есть две разные модели.

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

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

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

Перекрестная проверка

Перекрестная проверка (CV) берет основную идею раздела поезд/тест и обобщает ее во что-то более эффективное и информативное. В CV мы разбиваем данные на K разделов, а затем K раз по очереди выбираем один раздел для тестирования, а оставшиеся используем для обучения. Это более «справедливо» в использовании данных, чем один раздел поезд/тест, поскольку каждый случай используется один раз при тестировании (и K-1 раз при обучении) и, конечно же, никогда не используется в обоих наборах одновременно.

Магия перекрестной проверки заключается в том, что она предоставляет нам распределение точности, а не точечную оценку. С 10-кратным CV мы получаем 10 измерений точности, что позволяет нам оценить центральную тенденцию и разброс. Распространение часто является важной частью информации, особенно при сравнении или выборе. Никогда не принимайте точечную оценку, если вместо этого вы можете получить распределение. Это решает нашу первую проблему с задержкой выборки — она не будет репрезентативной — поскольку распределение дает лучшее ожидаемое значение точности, а также достоверность (например, стандартное отклонение) для этой оценки.

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

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

Практикующим аналитикам важно понимать правильное использование CV и стратегическое проектирование разделов.

Вложенная перекрестная проверка

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

CV, эквивалентный разделению обучения/проверки/тестирования, то есть для выбора модели, требует запуска внутреннего резюме, эквивалентного разделу обучения/проверки, внутри внешнего резюме, эквивалентного разделу проверки/тестирования. Это называется вложенным резюме. Если вы слышите, как кто-то говорит: «Мы выбрали нашу окончательную модель с помощью резюме», важно знать, правильно ли они использовали вложенное резюме или по ошибке использовали только внутреннее резюме — распространенная ошибка.

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

Выбор правильной стратегии разбиения

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

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

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

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

Резюме

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

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

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

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

[1] М. Бейкер, «1500 ученых приподнимают крышку воспроизводимости», Nature, no. 533, стр. 452–454, 2016.

[2] Флориан Принц, Томас Шланге, Хусру Абдаллах, «Верьте или нет: насколько мы можем полагаться на опубликованные данные о потенциальных мишенях для наркотиков», Nature Reviews, no. 712.

[3] Open Science Collaboration, «Оценка воспроизводимости психологической науки», Science, vol. 349, нет. 6251, 2015.

[4] М. Бейкер, «Более половины психологических исследований не проходят тест на воспроизводимость», Nature, 2015.

Связанный

Читать блог «Достаточно ли хороши результаты моей модели? По-разному!"

Читайте блог 10 практических действий, которые могут улучшить вашу модель

Прочитайте блог Откуда вы знаете, что результаты вашей прогностической модели достоверны?

Первоначально опубликовано на www.elderresearch.com.