Метод перекрестной проверки в статистике
В статистике и науке о данных одной из самых больших проблем является обеспечение того, чтобы модель хорошо работала не только на данных, на которых она обучалась, но и на новых, ранее не встречавшихся данных. Эту проблему часто называют обобщением. Именно здесь на помощь приходит перекрестная проверка: метод оценки модели, разработанный для более справедливого и последовательного измерения производительности модели, чем однократная оценка с использованием одного набора данных.
Зачем нужна перекрестная проверка?
При построении прогностической модели — например, регрессионной модели для прогнозирования цен на жилье или модели классификации для обнаружения спама — мы обычно разделяем данные на две части: обучающую и тестовую выборки. Модель обучается на обучающих данных, а затем оценивается на тестовых данных. Этот подход прост, но имеет недостаток: результаты оценки могут сильно зависеть от способа разделения данных. Если тестовые данные окажутся «легкими», производительность будет высокой; если тестовые данные окажутся «сложными», производительность будет низкой.
Перекрестная проверка снижает зависимость от одного набора данных за счет выполнения нескольких процессов обучения и тестирования на разных наборах данных с последующим усреднением результатов. Это позволяет получить оценки производительности, более точно отражающие реальные условия.
Основные понятия перекрестной проверки
Суть перекрестной проверки заключается в разделении данных на несколько частей (флоков). На каждой итерации некоторые флокы используются для обучения модели, а один флок — для ее тестирования. Этот процесс повторяется до тех пор, пока каждый флок не будет использован в качестве тестовых данных. Затем оценки, полученные на каждой итерации, объединяются (обычно со средним значением, а иногда и со стандартным отклонением), чтобы получить общее представление о производительности модели.
Например, при k-кратной перекрестной проверке с k=5 данные делятся на 5 частей. Первая итерация: часть 1 в качестве тестовой, части 2–5 в качестве обучающей. Вторая итерация: часть 2 в качестве тестовой и так далее до части 5.
Распространенные типы перекрестной проверки
1. Отложенная проверка (разделение на обучающую и тестовую выборки)
Хотя технически это не «повторная» перекрестная проверка, метод отложенной выборки часто считается базовым этапом валидации. Данные разделяются один раз, например, на 80% для обучения и на 20% для тестирования. Преимущество заключается в скорости и простоте, но недостаток – в высокой дисперсии результатов, поскольку он основан на однократном разделении.
Этот метод обычно используется, когда объем данных очень велик, так что даже одно деление является достаточно репрезентативным.
2. K-кратная перекрестная проверка
Это наиболее популярная форма перекрестной проверки. Параметр k часто выбирают равным 5 или 10, поскольку считается, что это позволяет сбалансировать вычислительные затраты и качество оценки.
Kelebihan:
– Более эффективное использование данных (каждый набор данных становится частью обучающей и тестовой выборок).
– Оценки производительности более стабильны, чем в контрольной группе.
Кекуранган:
– Это занимает больше времени, потому что модель обучается k раз.
– Если объем данных очень велик или модель очень сложна, вычислительные затраты могут быть высокими.
3. Стратифицированная K-кратная перекрестная проверка
В задачах классификации, особенно если классы несбалансированы (например, 90% отрицательных, 10% положительных), обычный k-кратный свертывание может создавать свертки с асимметричным распределением классов. Стратифицированное k-кратное свертывание гарантирует, что доля классов в каждой свертке будет приблизительно такой же, как и доля классов в исходных данных.
Это особенно важно при оценке моделей выявления заболеваний, мошенничества или других случаев, когда численность меньшинства невелика.
4. Перекрестная проверка с исключением одного элемента (LOOCV)
В методе перекрестной проверки с исключением одного образца (LOOCV) количество складок равно объему данных (k = n). Это означает, что в каждой итерации только одно наблюдение становится тестовыми данными, а остальные — обучающими.
Kelebihan:
– Практически все данные используются для обучения на каждой итерации, поэтому погрешность оценки может быть небольшой.
Кекуранган:
– Чрезвычайно ресурсоемкий процесс для больших наборов данных.
– В некоторых типах задач дисперсия оценок может быть высокой, поскольку тестовый набор содержит всего одну точку на итерацию.
Метод LOOCV часто используется при очень небольшом объеме данных, например, в исследованиях с малой выборкой.
5. Повторная K-кратная перекрестная проверка
Этот метод повторяет k-кратную фолд-модель несколько раз с различными (случайными) назначениями фолдов. Цель состоит в том, чтобы уменьшить зависимость от одного единственного назначения фолда и получить более стабильные оценки.
Например, «10-кратное повторение 3 раза» означает выполнение 10-кратного повторения 3 раза (всего 30 тренировок и оценок).
6. Перекрестная проверка временных рядов
Для временных рядов традиционная перекрестная проверка не подходит, поскольку она может «просачиваться в будущее» в процесс обучения. В случае временных рядов необходимо сохранять временной порядок. Поэтому используются такие подходы, как:
– Скользящее окно: обучение в начальный период, затем тестирование в следующий период, после чего окно сдвигается.
– Расширение временного окна: объем обучающих данных увеличивается со временем, затем тестирование проводится в следующий период.
Этот метод актуален для прогнозирования ежемесячных продаж, цен на акции или для мониторинга в режиме реального времени.
Метрики оценки в кросс-валидации
Перекрестная проверка — это лишь инструмент оценки; используемые метрики зависят от типа задачи:
– Регрессионный анализ: MSE, RMSE, MAE, R-квадрат.
– Классификация: точность, прецизионность, полнота, F1-мера, ROC-AUC.
– Несбалансированная классификация: ROC-AUC, PR-AUC (точность-полнота), сбалансированная точность.
Результаты перекрестной проверки обычно представляются в виде среднего значения и стандартного отклонения (например, точность 0,89 ± 0,03). Стандартное отклонение помогает понять стабильность модели.
Перекрестная проверка для выбора модели и настройки параметров.
Одно из основных применений перекрестной проверки — это выбор модели и настройка гиперпараметров. Например:
– Выбор k в алгоритме k-NN.
– Выберите максимальную глубину в дереве решений.
– Определить параметры регуляризации в регрессии гребневой/лассо-регрессии.
– Определите значения C и gamma в SVM.
В соответствии с передовой практикой, процесс настройки выполняется на обучающих данных с использованием перекрестной проверки, в то время как окончательные тестовые данные хранятся отдельно для окончательной оценки. Это предотвращает «чрезмерный оптимизм», возникающий из-за переобучения модели на оценочных данных.
Более строгий подход называется вложенной перекрестной проверкой, которая представляет собой перекрестную проверку внутри перекрестной проверки: внешний цикл предназначен для оценки, а внутренний — для настройки. Этот метод популярен в исследованиях, поскольку он обеспечивает более объективные оценки производительности.
Преимущества и ограничения перекрестной проверки
Основные преимущества:
1. Обеспечивает более стабильные оценки производительности, чем разделение на отдельные части.
2. Эффективно используйте данные, особенно когда набор данных невелик.
3. Помогает выбрать более общую модель и снижает риск переобучения.
Кетербатасан:
1. Вычислительные затраты возрастают по мере многократного повторения обучения.
2. Утечки данных всё ещё могут произойти, если предварительная обработка выполнена неправильно.
3. Для сгруппированных данных (например, данных о пациентах, содержащих несколько записей) необходим специальный метод, такой как групповая k-кратная корреляция, чтобы один и тот же индивид не появлялся одновременно в обучающей и тестовой выборках.
Передовые методы использования перекрестной проверки
Для того чтобы оценка была достоверной, необходимо соблюдать несколько важных принципов:
– Выполняйте предварительную обработку (нормализацию, заполнение пропущенных данных, отбор признаков) внутри каждой группы данных, а не один раз для всех данных. В противном случае информация из тестовой группы может просочиться в обучающую группу.
– Используйте стратифицированный k-кратный метод для классификации с несбалансированными классами.
– Используйте специальную схему для обработки данных временных рядов, чтобы не нарушать порядок.
– Если ваша цель — оценить окончательную производительность модели перед развертыванием, отложите в сторону заключительный набор тестовых данных.
обложка
Перекрестная проверка — это фундаментальный инструмент в прикладной статистике и машинном обучении, позволяющий более справедливо и надежно оценивать производительность модели. Используя многократное совместное использование данных, перекрестная проверка помогает уменьшить смещение, вызванное выбором обучающей и тестовой выборок, выявляет переобучение и поддерживает выбор модели и настройку гиперпараметров. Хотя вычислительные затраты выше, преимущества часто оправдывают себя, особенно когда набор данных невелик или когда решения, основанные на результатах модели, имеют значительные последствия. Выбирая правильный тип перекрестной проверки и внедряя лучшие практики, мы можем создавать более надежные модели, готовые к использованию на реальных данных.