Перекрестная проверка [ 2] [3] [4], иногда называемая оценкой вращения [5] [6] [7] или вневыборочным тестированием , представляет собой любой из различных аналогичных методов проверки модели для оценки того, как результаты статистического анализа будут обобщены на независимый набор данных. Перекрестная проверка включает методы повторной выборки и разделения выборки, которые используют различные части данных для тестирования и обучения модели на различных итерациях. Она часто используется в условиях, когда целью является прогнозирование, и требуется оценить, насколько точно предиктивная модель будет работать на практике. Ее также можно использовать для оценки качества подобранной модели и стабильности ее параметров.
В задаче прогнозирования модели обычно предоставляется набор известных данных , на котором проводится обучение ( набор данных для обучения ), и набор неизвестных данных (или впервые обнаруженных данных), на котором модель тестируется (называемый набором данных проверки или тестовым набором ). [8] [9] Целью перекрестной проверки является проверка способности модели прогнозировать новые данные, которые не использовались при ее оценке, чтобы отметить такие проблемы, как переобучение или смещение выбора [10], и дать представление о том, как модель будет обобщаться на независимый набор данных (т. е. неизвестный набор данных, например, из реальной задачи).
Один раунд перекрестной проверки включает в себя разбиение выборки данных на дополнительные подмножества, выполнение анализа на одном подмножестве (называемое обучающим набором ) и проверку анализа на другом подмножестве (называемом проверочным набором или тестовым набором ). Чтобы уменьшить изменчивость , в большинстве методов выполняется несколько раундов перекрестной проверки с использованием различных разделов, а результаты проверки объединяются (например, усредняются) по раундам, чтобы дать оценку прогностической эффективности модели.
Подводя итог, можно сказать, что перекрестная проверка объединяет (усредняет) показатели пригодности в прогнозировании для получения более точной оценки эффективности прогнозирования модели. [11]
Предположим, что модель имеет один или несколько неизвестных параметров и набор данных, к которому может быть подогнана модель (набор обучающих данных). Процесс подгонки оптимизирует параметры модели, чтобы модель максимально хорошо подходила к обучающим данным. Если независимая выборка проверочных данных взята из той же совокупности , что и обучающие данные, то обычно оказывается, что модель не подходит к проверочным данным так же хорошо, как к обучающим данным. Размер этой разницы, вероятно, будет большим, особенно когда размер обучающего набора данных невелик или когда количество параметров в модели велико. Перекрестная проверка — это способ оценить размер этого эффекта. [ необходима цитата ]
В линейной регрессии существуют реальные значения отклика и n p -мерных векторных ковариатов x 1 , ..., x n . Компоненты вектора x i обозначаются x i 1 , ..., x ip . Если наименьшие квадраты используются для подгонки функции в форме гиперплоскости ŷ = a + β T x к данным ( x i , y i ) 1 ≤ i ≤ n , то подгонку можно оценить с помощью средней квадратичной ошибки (MSE). MSE для заданных оценочных значений параметров a и β на обучающем наборе ( x i , y i ) 1 ≤ i ≤ n определяется как:
Если модель правильно определена, можно показать при умеренных предположениях, что ожидаемое значение MSE для обучающего набора равно ( n − p − 1)/( n + p + 1) < 1 раз ожидаемого значения MSE для проверочного набора (ожидаемое значение берется по распределению обучающих наборов). Таким образом, подобранная модель и вычисленная MSE на обучающем наборе приведут к оптимистично смещенной оценке того, насколько хорошо модель будет соответствовать независимому набору данных. Эта смещенная оценка называется оценкой соответствия внутри выборки , тогда как оценка перекрестной проверки является оценкой вне выборки . [ необходима цитата ]
Поскольку в линейной регрессии можно напрямую вычислить фактор ( n − p − 1)/( n + p + 1), на который обучающая MSE занижает MSE проверки, при условии, что спецификация модели верна, перекрестная проверка может использоваться для проверки того, была ли модель переобучена , в этом случае MSE в наборе проверки существенно превысит свое ожидаемое значение. (Перекрестная проверка в контексте линейной регрессии также полезна тем, что ее можно использовать для выбора оптимально регуляризованной функции стоимости .)
В большинстве других регрессионных процедур (например, логистической регрессии ) нет простой формулы для вычисления ожидаемого соответствия вне выборки. Таким образом, перекрестная проверка является общеприменимым способом прогнозирования производительности модели на недоступных данных с использованием численных вычислений вместо теоретического анализа.
Различают два типа перекрестной проверки: исчерпывающую и неисчерпывающую.
Методы исчерпывающей перекрестной проверки — это методы перекрестной проверки, которые изучают и проверяют все возможные способы разделения исходной выборки на обучающий и проверочный наборы.
Перекрестная проверка с исключением p ( LpO CV ) подразумевает использование p наблюдений в качестве проверочного набора и оставшихся наблюдений в качестве обучающего набора. Это повторяется для всех способов сократить исходную выборку на проверочный набор из p наблюдений и обучающий набор. [12]
Перекрестная проверка LpO требует обучения и проверки времени модели, где n — количество наблюдений в исходной выборке, а где — биномиальный коэффициент . Для p > 1 и даже для умеренно больших n , LpO CV может стать вычислительно невыполнимым. Например, при n = 100 и p = 30,
Вариант перекрестной проверки LpO с p=2, известный как перекрестная проверка с исключением пар, был рекомендован как практически беспристрастный метод оценки площади под кривой ROC бинарных классификаторов. [13]
Перекрестная проверка с исключением одного элемента ( LOOCV ) является частным случаем перекрестной проверки с исключением p элементов при p = 1. Процесс похож на метод складного ножа ; однако при перекрестной проверке статистика вычисляется по исключенным образцам, тогда как при методе складного ножа статистика вычисляется только по сохраненным образцам.
Перекрестная проверка LOO требует меньше времени вычислений, чем перекрестная проверка LpO, поскольку есть только проходы, а не . Однако проходы все еще могут требовать довольно большого времени вычислений, и в этом случае другие подходы, такие как перекрестная проверка k-кратности, могут быть более подходящими. [14]
Алгоритм псевдокода:
Вход:
x
, {вектор длины N
со значениями x входящих точек}
y
, {вектор длины N
с y-значениями ожидаемого результата}
interpolate( x_in, y_in, x_out )
, { возвращает оценку для точки x_out
после обучения модели с помощью x_in
- y_in
пар}
Выход:
err
, {оценка ошибки прогноза}
Шаги:
ошибка ← 0 для i ← 1, ..., N сделать // определить подмножества перекрестной проверки x_in ← (x[1], ..., x[i − 1], x[i + 1], ..., x[N]) y_in ← (y[1], ..., y[i − 1], y[i + 1], ..., y[N]) x_out ← x[i] y_out ← интерполировать(x_in, y_in, x_out) ошибка ← ошибка + (y[i] − y_out)^2 конец для ошибка ← ошибка/N
Неисчерпывающие методы перекрестной проверки не вычисляют все способы разделения исходной выборки. Эти методы являются приближениями к перекрестной проверке с исключением p .
При k -кратной перекрестной проверке исходная выборка случайным образом разбивается на k подвыборок одинакового размера, часто называемых «складками». Из k подвыборок одна подвыборка сохраняется в качестве данных проверки для тестирования модели, а оставшиеся k − 1 подвыборок используются в качестве обучающих данных. Затем процесс перекрестной проверки повторяется k раз, причем каждая из k подвыборок используется ровно один раз в качестве данных проверки. Затем k результатов можно усреднить для получения единой оценки. Преимущество этого метода перед повторной случайной подвыборкой (см. ниже) заключается в том, что все наблюдения используются как для обучения, так и для проверки, и каждое наблюдение используется для проверки ровно один раз. Обычно используется 10-кратная перекрестная проверка, [15] , но в целом k остается нефиксированным параметром.
Например, установка k = 2 приводит к 2-кратной перекрестной проверке. При 2-кратной перекрестной проверке мы случайным образом перемешиваем набор данных в два набора d 0 и d 1 , так что оба набора имеют одинаковый размер (обычно это реализуется путем перемешивания массива данных и последующего разделения его на два). Затем мы обучаемся на d 0 и проверяем на d 1 , затем обучаемся на d 1 и проверяем на d 0 .
Когда k = n (число наблюдений), k -кратная перекрестная проверка эквивалентна перекрестной проверке с исключением одного. [16]
В стратифицированной k -кратной кросс-валидации разделы выбираются таким образом, чтобы среднее значение отклика было приблизительно одинаковым во всех разделах. В случае бинарной классификации это означает, что каждый раздел содержит примерно одинаковые пропорции двух типов меток классов.
При повторной перекрестной проверке данные случайным образом разбиваются на k разделов несколько раз. Таким образом, производительность модели может быть усреднена по нескольким запускам, но на практике это редко бывает желательно. [17]
Когда рассматривается множество различных статистических или машинных моделей обучения , можно использовать жадную k -кратную перекрестную проверку для быстрого выявления наиболее перспективных моделей-кандидатов. [18]
В методе удержания мы случайным образом назначаем точки данных двум наборам d 0 и d 1 , обычно называемым обучающим и тестовым набором соответственно. Размер каждого из наборов произволен, хотя обычно тестовый набор меньше обучающего. Затем мы обучаем (строим модель) на d 0 и тестируем (оцениваем ее производительность) на d 1 .
В типичной перекрестной проверке результаты нескольких запусков тестирования модели усредняются вместе; напротив, метод удержания, в изоляции, включает один запуск. Его следует использовать с осторожностью, поскольку без такого усреднения нескольких запусков можно получить весьма вводящие в заблуждение результаты. Индикатор точности прогнозирования (F*) будет иметь тенденцию быть нестабильным, поскольку он не будет сглажен многократными итерациями (см. ниже). Аналогично, индикаторы конкретной роли, которую играют различные предикторные переменные (например, значения коэффициентов регрессии), будут иметь тенденцию быть нестабильными.
Хотя метод удержания можно охарактеризовать как «простейший вид перекрестной проверки», [19] многие источники вместо этого классифицируют удержание как тип простой проверки, а не как простую или вырожденную форму перекрестной проверки. [6] [20]
Этот метод, также известный как перекрестная проверка Монте-Карло , [21] [22] создает несколько случайных разделений набора данных на данные обучения и проверки. [23] Для каждого такого разделения модель подгоняется под данные обучения, и точность прогнозирования оценивается с использованием данных проверки. Затем результаты усредняются по разделениям. Преимущество этого метода (по сравнению с перекрестной проверкой k -кратного порядка) заключается в том, что доля разделения обучения/проверки не зависит от количества итераций (т. е. количества разделов). Недостатком этого метода является то, что некоторые наблюдения могут никогда не быть выбраны в подвыборке проверки, тогда как другие могут быть выбраны более одного раза. Другими словами, подмножества проверки могут перекрываться. Этот метод также демонстрирует вариацию Монте-Карло , что означает, что результаты будут отличаться, если анализ повторяется с различными случайными разделениями.
По мере того как число случайных разделений приближается к бесконечности, результат повторной случайной подвыборочной проверки стремится к результату перекрестной проверки с исключением p.
В стратифицированном варианте этого подхода случайные выборки генерируются таким образом, что среднее значение отклика (т.е. зависимая переменная в регрессии) равно в обучающем и тестовом наборах. Это особенно полезно, если отклики дихотомичны с несбалансированным представлением двух значений отклика в данных.
Метод, который применяет повторную случайную подвыборку, называется RANSAC . [24]
Когда перекрестная проверка используется одновременно для выбора наилучшего набора гиперпараметров и для оценки ошибки (и оценки способности к обобщению), требуется вложенная перекрестная проверка. Существует много вариантов. Можно выделить по крайней мере два варианта:
Это действительно вложенный вариант, который содержит внешний цикл из k наборов и внутренний цикл из l наборов. Общий набор данных делится на k наборов. По одному набор выбирается в качестве (внешнего) тестового набора, а k - 1 других наборов объединяются в соответствующий внешний обучающий набор. Это повторяется для каждого из k наборов. Каждый внешний обучающий набор далее подразделяется на l наборов. По одному набор выбирается в качестве внутреннего тестового (валидационного) набора, а l - 1 других наборов объединяются в соответствующий внутренний обучающий набор. Это повторяется для каждого из l наборов. Внутренние обучающие наборы используются для подгонки параметров модели, в то время как внешний тестовый набор используется в качестве проверочного набора для предоставления беспристрастной оценки подгонки модели. Обычно это повторяется для многих различных гиперпараметров (или даже различных типов моделей), а проверочный набор используется для определения наилучшего набора гиперпараметров (и типа модели) для этого внутреннего обучающего набора. После этого новая модель подгоняется под весь внешний обучающий набор, используя лучший набор гиперпараметров из внутренней перекрестной проверки. Затем производительность этой модели оценивается с использованием внешнего тестового набора.
Это тип k*l-кратной перекрестной проверки, когда l = k - 1. Используется одна k-кратная перекрестная проверка как с проверочным, так и с тестовым набором . Общий набор данных разбивается на k наборов. По одному набору выбирается тестовый набор. Затем по одному один из оставшихся наборов используется в качестве проверочного набора, а другие k - 2 набора используются в качестве обучающих наборов, пока не будут оценены все возможные комбинации. Подобно k*l-кратной перекрестной проверке, обучающий набор используется для подгонки модели, а проверочный набор используется для оценки модели для каждого из наборов гиперпараметров. Наконец, для выбранного набора параметров тестовый набор используется для оценки модели с наилучшим набором параметров. Здесь возможны два варианта: либо оценка модели, обученной на обучающем наборе, либо оценка новой модели, которая была подобрана на комбинации обучающего и проверочного наборов.
Целью перекрестной проверки является оценка ожидаемого уровня соответствия модели набору данных, который не зависит от данных, которые использовались для обучения модели. Его можно использовать для оценки любой количественной меры соответствия, которая подходит для данных и модели. Например, для задач бинарной классификации каждый случай в наборе проверки либо предсказан правильно, либо неправильно. В этой ситуации коэффициент ошибок неправильной классификации может использоваться для обобщения соответствия, хотя другие меры, полученные из информации (например, количества, частота), содержащейся в таблице сопряженности или матрице путаницы , также могут использоваться. Когда прогнозируемое значение непрерывно распределено, для обобщения ошибок можно использовать среднеквадратичную ошибку , среднеквадратичную ошибку или медианное абсолютное отклонение .
Когда пользователи применяют перекрестную проверку для выбора хорошей конфигурации , они могут захотеть сбалансировать выбор перекрестной проверки с собственной оценкой конфигурации. Таким образом, они могут попытаться противостоять изменчивости перекрестной проверки, когда размер выборки невелик, и включить соответствующую информацию из предыдущих исследований. Например, в упражнении по комбинированию прогнозов перекрестная проверка может применяться для оценки весов, которые назначаются каждому прогнозу. Поскольку простой равновзвешенный прогноз трудно превзойти, может быть добавлен штраф за отклонение от равных весов. [25] Или, если перекрестная проверка применяется для назначения индивидуальных весов наблюдениям, то можно наказывать отклонения от равных весов, чтобы избежать потери потенциально важной информации. [25] Hoornweg (2018) показывает, как можно определить параметр настройки , чтобы пользователь мог интуитивно балансировать между точностью перекрестной проверки и простотой придерживания эталонного параметра , который определяется пользователем.
Если обозначает возможную конфигурацию, которая может быть выбрана, то функция потерь , которая должна быть минимизирована, может быть определена как
Относительная точность может быть количественно определена как , так что среднеквадратическая ошибка кандидата определяется относительно указанного пользователем . Термин относительной простоты измеряет величину, которая отклоняется от относительно максимальной величины отклонения от . Соответственно, относительная простота может быть определена как , где соответствует значению с максимально допустимым отклонением от . С помощью пользователь определяет, насколько велико влияние ссылочного параметра относительно перекрестной проверки.
Можно добавить относительные простоты для нескольких конфигураций , указав функцию потерь как
Хорнвег (2018) показывает, что функция потерь с таким компромиссом между точностью и простотой может также использоваться для интуитивного определения оценок сжатия, таких как (адаптивное) лассо и байесовская / гребневая регрессия . [25] Щелкните по лассо, чтобы увидеть пример.
Предположим, мы выбираем меру соответствия F и используем перекрестную проверку для получения оценки F * ожидаемого соответствия EF модели для независимого набора данных, взятого из той же популяции, что и обучающие данные. Если мы представим себе выборку нескольких независимых обучающих наборов, следующих одному и тому же распределению, результирующие значения для F * будут различаться. Статистические свойства F * являются результатом этой вариации.
Дисперсия F * может быть большой. [26] [27] По этой причине, если две статистические процедуры сравниваются на основе результатов перекрестной проверки, процедура с лучшей оценочной производительностью может на самом деле не быть лучшей из двух процедур (т. е. она может не иметь лучшего значения EF ). Некоторый прогресс был достигнут в построении доверительных интервалов вокруг оценок перекрестной проверки, [26] но это считается сложной проблемой.
Большинство форм перекрестной проверки просты в реализации, если доступна реализация изучаемого метода прогнозирования. В частности, метод прогнозирования может быть «черным ящиком» — нет необходимости иметь доступ к внутренним компонентам его реализации. Если метод прогнозирования дорог в обучении, перекрестная проверка может быть очень медленной, поскольку обучение должно проводиться многократно. В некоторых случаях, таких как наименьшие квадраты и ядерная регрессия , перекрестную проверку можно значительно ускорить, предварительно вычислив определенные значения, которые требуются повторно в обучении, или используя быстрые «правила обновления», такие как формула Шермана–Моррисона . Однако нужно быть осторожным, чтобы сохранить «полное ослепление» набора проверки от процедуры обучения, в противном случае может возникнуть смещение. Крайний пример ускорения перекрестной проверки происходит в линейной регрессии , где результаты перекрестной проверки имеют выражение в замкнутой форме , известное как сумма квадратов остаточной ошибки прогнозирования ( PRESS ).
Перекрестная проверка дает значимые результаты только в том случае, если проверочный и обучающий наборы взяты из одной и той же популяции и только в том случае, если контролируются человеческие предубеждения.
Во многих приложениях предиктивного моделирования структура изучаемой системы со временем развивается (т. е. она «нестационарна»). Оба эти варианта могут вносить систематические различия между обучающим и проверочным наборами. Например, если модель для прогнозирования стоимости акций обучается на данных за определенный пятилетний период, нереалистично рассматривать последующий пятилетний период как выборку из той же популяции. В качестве другого примера предположим, что модель разработана для прогнозирования риска для отдельного человека быть диагностированным с определенным заболеванием в течение следующего года. Если модель обучается с использованием данных исследования, в котором участвует только определенная группа населения (например, молодые люди или мужчины), но затем применяется к общей популяции, результаты перекрестной проверки с обучающим набором могут значительно отличаться от фактической прогностической эффективности.
Во многих приложениях модели также могут быть неправильно определены и изменяться в зависимости от предубеждений разработчика модели и/или произвольного выбора. Когда это происходит, может возникнуть иллюзия, что система изменяется во внешних выборках, тогда как причина в том, что модель пропустила критический предиктор и/или включила спутанный предиктор. Новые данные свидетельствуют о том, что перекрестная проверка сама по себе не очень предсказывает внешнюю валидность, тогда как форма экспериментальной проверки, известная как выборка со сменой, которая контролирует человеческую предвзятость, может быть гораздо более предсказательной для внешней валидности. [28] Как определено в этом большом исследовании MAQC-II по 30 000 моделей, выборка со сменой включает перекрестную проверку в том смысле, что прогнозы проверяются на независимых обучающих и проверочных выборках. Тем не менее, модели также разрабатываются на этих независимых выборках и разработчиками моделей, которые не знают друг друга. MAQC-II показывает, что если в моделях, разработанных на основе этих поменянных местами обучающих и проверочных выборок, обнаруживается несоответствие, что случается довольно часто, это будет гораздо более предсказуемым признаком плохой внешней прогностической валидности, чем традиционная перекрестная проверка.
Причина успеха перестановки выборок — встроенный контроль человеческих предубеждений при построении моделей. Помимо того, что мы слишком доверяем прогнозам, которые могут различаться у разных разработчиков моделей и приводить к плохой внешней валидности из-за этих сбивающих с толку эффектов разработчиков моделей, есть и другие способы, которыми перекрестная проверка может быть неправильно использована:
Поскольку порядок данных важен, перекрестная проверка [ указать ] может быть проблематичной для моделей временных рядов . Более подходящим подходом может быть использование скользящей перекрестной проверки. [32]
Однако если производительность описывается одной сводной статистикой , возможно, что подход, описанный Политисом и Романо как стационарный бутстрап [33], будет работать. Статистика бутстрапа должна принимать интервал временного ряда и возвращать сводную статистику по нему. Вызов стационарного бутстрапа должен указывать соответствующую среднюю длину интервала.
Перекрестная проверка может использоваться для сравнения производительности различных процедур предиктивного моделирования. Например, предположим, что нас интересует оптическое распознавание символов , и мы рассматриваем возможность использования либо машины опорных векторов (SVM), либо k -ближайших соседей (KNN) для предсказания истинного символа из изображения рукописного символа. Используя перекрестную проверку, мы можем получить эмпирические оценки, сравнивая эти два метода с точки зрения их соответствующих долей неправильно классифицированных символов. Напротив, оценка в выборке не будет представлять интересующую величину (т. е. ошибку обобщения). [34]
Перекрестная проверка также может использоваться при выборе переменных . [35] Предположим, что мы используем уровни экспрессии 20 белков, чтобы предсказать, отреагирует ли больной раком на лекарство . Практической целью было бы определить, какое подмножество из 20 признаков следует использовать для создания наилучшей прогностической модели. Для большинства процедур моделирования, если мы сравниваем подмножества признаков с использованием внутривыборочных показателей ошибок, наилучшая производительность будет достигнута при использовании всех 20 признаков. Однако при перекрестной проверке модель с наилучшим соответствием обычно будет включать только подмножество признаков, которые считаются действительно информативными.
Недавнее развитие медицинской статистики — ее использование в метаанализе. Она составляет основу статистики проверки, Vn, которая используется для проверки статистической достоверности сводных оценок метаанализа. [36] Она также использовалась в более традиционном смысле в метаанализе для оценки вероятной ошибки прогнозирования результатов метаанализа. [37]
Короче говоря, CV заключается в усреднении нескольких удерживаемых оценок риска, соответствующих различным разделениям данных.