что значит не проходит валидацию
Валидация — что это простыми словами? Чем отличается валидация от верификации? + ПРАКТИЧЕСКИЙ СОВЕТ
Здравствуйте, дорогие читатели! Добро пожаловать на блог!
Валидация — что это простыми словами? Чем отличается валидация от верификации? Ответы на эти вопросы — в статье.
Многие слова «валидация» и «верификация» считают синонимами. Но это не так. Разница есть, но она очень тонкая. Давайте разбираться.
Валидация и верификация — что это простыми словами?
Справедливости ради надо сказать, что в разных областях деятельности (в банках, в платежных системах, в интернете), в разных отраслях производства эти термины используются по-разному. Я решила привести здесь определение валидации и верификации из стандарта ISO 9000.
Мы видим, что определения совпадают в значительной части, но не полностью. Однако, несмотря на такое большое совпадение валидация и верификация — это разные действия.
Чтобы проще было понять, что такое валидация, давайте сначала разберемся, чем валидация отличается от верификации.
Чем отличается валидация от верификации?
Итак, что такое верификация? Более детально можете узнать из этой статьи, но здесь скажем коротко, что слово «верификация» происходит от английского слова «verification» — проверка. А слово «валидация» происходит от английского «validation» — придание законной силы.
Примеры валидации и верификации в разных сферах.
Без примеров трудно понять отличия валидации и верификации. Приведем несколько примеров из разных областей.
Пример из области медицины
Скажем, разработали новое лекарство. Провели многочисленные тесты для ПРОВЕРКИ, что лекарство лечит такую-то болезнь. Здесь речь идет о ВЕРИФИКАЦИИ (о проверке соответствия лекарства его предназначению). Но Вы знаете, что на самом деле лекарство подходит не всем. Чтобы начать лечение Вам нужна ВАЛИДАЦИЯ врача. Только врач может ПОДТВЕРДИТЬ, что это лекарство подойдет КОНКРЕТНО Вам.
ВЕРИФИКАЦИЯ — это тестирование лекарства с целью ПРОВЕРКИ на соответствие его предназначению. А ВАЛИДАЦИЯ — это ПОДТВЕРЖДЕНИЕ врача, что лекарство подойдет КОНКРЕТНОМУ больному.
Пример из области производства
Предположим завод по производству велосипедов принял заказ на партию велосипедов. Так вот, ВЕРИФИКАЦИЮ (ПРОВЕРКУ) на соответствие требованиям заказчика выполняет сам завод-производитель. А вот ВАЛИДАЦИЮ (ТЕСТИРОВАНИЕ, ПРОВЕРКУ) на соответствие своим требованиям будут выполнять представители самого заказчика.
Пример из области IT
Аналогичный пример можно привести из области IT. Компания — разработчик программного обеспечения получила заказ на разработку какого-то софта. Программа, которая была создана, прошла тестирование. Результатом тестирования является ВЕРИФИКАЦИЯ на стороне компании, выполняющей заказ, что программа полностью соответствует тех заданию заказчика. А вот ВАЛИДАЦИЮ будет выполнять сам заказчик, когда установит программное обеспечение и протестирует его.
Пример из сферы интернета
Социальная сеть Твиттер проводит ВЕРИФИКАЦИЮ аккаунтов знаменитостей, чтобы участники сети точно знали, что посты публикуются действительно этой знаменитостью. В результате верификации в аккаунте знаменитости появляется синий значок с галочкой.
Еще пример. Для того, чтобы стать продавцом на Амазоне, Вам необходимо пройти ВЕРИФИКАЦИЮ личности. Также необходимо пройти верификацию при регистрации аккаунтов во всех платежных системах (Вебмани, Яндекс.Деньги, Киви и т.д.)
Пример из законодательной области
Инициативный депутат решил улучшить жизнь и придумал прогрессивный Закон. Законотворческие органы выполнят ПРОВЕРКУ нового Закона на соответствие другим Законам и международному праву и ВЕРИФИЦИРУЮТ его. Но Закон вступит в силу не сразу, а только через месяц — после его ВАЛИДАЦИИ (придания законной силы) высшим органом законодательной власти. За этот месяц можно отозвать Закон, выявив вред для каких-то КОНКРЕТНЫХ слоев населения.
Например, соц сеть Твиттер верифицирует аккаунты знаменитостей для того, чтобы пользователи были уверены, что сообщения действительно публикует эта знаменитость или её официальный представитель. В аккаунте пользователя Твиттере, который прошел такую верификацию, ставится синий значок с галочкой.
Теперь можно сделать общий вывод, что верификация (проверка) встречается чаще, чем валидация. Валидация (подтверждение для конкретного случая) нужна не всегда.
Практический совет
Вы спросите, для чего нужно разбираться в этих терминах? Скажу, что есть и практическая польза. Главная цель верификации и валидации — безопасность, чтобы Ваши банковские карты и аккаунты были защищены. Однако, пользуясь тем, что многие не разбираются в этих терминах, злоумышленники для похищения личных данных часто применяют такой способ, как сообщение с просьбой верифицировать или валидировать вашу банковскую карту, аккаунт и т.д..
Практический совет: При появлении окна с просьбой верификации или валидации Ваших данных проверьте в адресной строке данные сайта, нет ли пропущенных или лишних символов. Либо попробуйте зайти в эту программу с другого устройства и если такого сообщения не появляется, значит Ваш компьютер надо лечить от опасных вирусов.
Резюме
Надеюсь, статья, оказалась полезной для Вас и Вы теперь знаете ответы на вопросы: Валидация — что это простыми словами? Чем отличается валидация от верификации?
Вот по традиции порция полезного видео. В котором Жак Фреско учит мыслить нестандартно, не так, как все. ЭТИ НЕСКОЛЬКО МИНУТ БУДУТ ТОЧНО ПОТРАЧЕНЫ НЕ ЗРЯ!
Желаю всем новых идей и много сил для их реализации!
Валидация что это? Это не верификация!
Ответ на вопрос Валидация что это довольно коварен, потому что его часто путают с верификацией. Но, не смотря на то, что значения терминов очень похожи, обозначают они разные действия.
Определение термина Валидация что это.
Валидация что это? Произошло слово от английского «validation», что в переводе означает подтверждение законной силы.
Валидацию проводят только при необходимости, оценивая соответствие характеристик продукции требованиям. Результатом является вывод о возможности применения продукции в определенных условиях.
Где уместно будет применить
Рассмотрим на примерах:
Разница между валидацией и верификацией
Верификация — обычно внутренний процесс управления качеством, обеспечивающий согласие с правилами, стандартами или спецификацией. Простой способ запомнить разницу между валидацией и верификацией заключается в том, что валидация подтверждает, что «вы создали правильный продукт». А верификация подтверждает, что «вы создали продукт таким, каким и намеревались его сделать».
Ещё один пример типичной верификации: проведение испытания оборудования. Имея определенные требования на руках, мы проводим испытание продукта и фиксируем, соблюдены ли требования. Результат верификации — ответ на вопрос «Соответствует ли продукт требованиям?».
Но далеко не всегда продукт, соответствующий установленным требованиям, можно применять в конкретной ситуации. Например, лекарство прошло все положенные испытания и поступило в продажу. Значит ли это, что оно может быть применено каким-то конкретным больным?
Нет, так как каждый организм имеет свои особенности и конкретно для него, это лекарство может быть губительным, то есть кто-то (врач) должен подтвердить: да, этому больному можно принимать это лекарство. То есть врач должен выполнить валидацию: придать законную силу конкретному применению.
Другой пример: предприятие выпускает трубы, предназначенные для закладки в землю, в соответствии с некоторыми ТУ (Техническими условиями). Продукция этим ТУ соответствует, но поступил заказ, предполагающий укладку труб по дну моря. Могут ли трубы, соответствующие имеющимся ТУ, быть применены в данном случае? Именно валидация и дает ответ на этот вопрос.
Можно видеть, что еще одно отличие состоит в том, что верификация производится всегда, а вот необходимость в валидации может и отсутствовать. Она появляется только тогда, когда возникают требования, связанные с конкретным применением продукции. Если фармацевтический завод выпускает лекарства, то он будет проверять лишь их соответствие требованиям, а проблемами применения конкретных лекарств конкретными пациентами заниматься не будет.
Ответ на вопрос Валидация что это
Таким образом, можно констатировать следующее:
Исходя из вышеописанного, валидация должна быть определена как подтверждение на основе представления объективных свидетельств того, что требования. Предназначенные для конкретного использования или применения, точно и в полном объёме предопределены, а цель достигнута.
Валидация моделей машинного обучения
На связи команда Advanced Analytics GlowByte и сегодня мы разберем валидацию моделей.
Иногда термин «валидация» ассоциируется с вычислением одной точечной статистической метрики (например, ROC AUC) на отложенной выборке данных. Однако такой подход может привести к ряду ошибок.
В статье разберем, о каких ошибках идет речь, подробнее рассмотрим процесс валидации и дадим ответы на вопросы:
Расширяем понятие валидации
Что не так с валидацией как вычислением одной точечной статистической метрики на отложенной выборке данных?
Аргумент против № 1: одна метрика не может учесть все аспекты качества модели. Качество модели измеряется не только предсказательной способностью, но и, например, стабильностью во времени.
Аргумент против № 2: количественные оценки не всегда согласуются с бизнес-метриками и поэтому вводятся дополнительные. Например, мы можем разработать модель с хорошей интегральной оценкой, но при попытке интерпретации модели в разрезе отдельных факторов может выясниться, что фактор, который по бизнес-логике при увеличении значения должен снижать прогнозный показатель, в разработанной модели, наоборот, его повышает.
Аргумент против № 3: точечная оценка может варьировать в зависимости от состава валидационной выборки, особенно это касается не сбалансированных выборок (с соотношением классов 1:50 или более значимым перекосом). Поэтому стоит дополнительно делать интервальные оценки.
Аргумент против № 4: актуальные данные могут отличаться от исторических, на которых была построена модель, поэтому валидацию стоит делать и на актуальном срезе данных.
Аргумент против № 5: реальные проекты обычно представляют собой набор неоднородных (по сложности и перечню используемых технологий) скриптов, в которых могут быть неточности или неучтенные варианты поведения. Поэтому для корректной работы всего проекта необходимо проводить дополнительную проверку реализации модели, подготавливаемой к развертыванию, причем стоит учитывать не только зависимости между скриптами в проекте, но и порядок их запуска: при несоблюдении порядка они могут отработать без ошибок, но сформировать абсолютно не верный результат.
Валидация и жизненный цикл модели
Валидация — комплексный процесс, который осуществляется на протяжении всего жизненного цикла модели. Ее можно декомпозировать на составные части в соответствии с этапами жизненного цикла. На схеме ниже обозначено:
Профилирование (аудит витрины) осуществляется на этапе подготовки данных. Здесь проверяется соответствие собранных данных поставленной задаче, а также с помощью простых метрик (например, число пропусков в данных, диапазон значений в разрезе отдельных атрибутов) определяется качество витрины.
Когда модель построена, выполняется первичная валидация, чтобы доказать работоспособность и оценить целесообразность внедрения разработанной модели.
На этапе внедрения проводится два вида проверок.
Тут может появиться вопрос, чем валидация отличается от мониторинга. Если коротко, то мониторинг — более легковесный процесс, проводимый с большей частотой.
Методика валидации
Все используемые при валидации тесты можно разделить на две группы: количественные и качественные.
В качестве артефакта по результатам валидации предоставляется отчет:
Рассмотрим детальнее список тестов для моделей бинарной классификации на примере модели прогноза вероятности дефолта (PD-модели) по кредитному договору (подробнее о PD-моделях см. [1]).
Количественная оценка
К группе относятся расчеты метрик и статистические тесты, которые оценивают качество модели на разных этапах и разных уровнях (перечисляем не все, возможны и другие).
1. Дискриминационная способность модели
После разработки модели первый вопрос, который интересует бизнес-заказчика: а насколько хорошо модель справляется со своей задачей? Если мы построили PD-модель, то этот вопрос звучит так: насколько хорошо модель отделяет клиентов, которые уйдут в дефолт, от тех, кто в дефолт не уйдет, и насколько лучше эта модель, чем случайное угадывание?
Чтобы ответить на это вопрос, проводим тесты:
В случае бинарного целевого события коэффициент Джини рассчитывается как отношение площадей двух фигур:
Альтернативный способ определения метрики — пузырьковая сортировка (подробнее см. [2]). Пусть имеется список значений целевого события, порядок в котором совпадает с порядком значений вероятности, прогнозируемых моделью. Тогда показатель Swaps будет обозначать количество перестановок соседних элементов для приведения списка целевых событий к отсортированному виду без инверсий.
На примере ниже число таких перестановок Swaps = 2.
где: – число перестановок для валидируемой модели,
– для случайной модели.
Однако, как видно из такой интерпретации, рост коэффициента Джини не всегда означает повышение пользы модели для бизнеса, поскольку не подразумевает изменения в ранжировании в сегменте пользователей, который интересен с точки зрения бизнеса. Ведь при подсчете перестановок не учитываются позиции элементов: на рисунке ниже отображены две возможные модели, которые улучшают базовую на одну перестановку: до порога отсечки и после. Обе модели одинаково улучшат значение метрики Джини, но с точки зрения бизнес-постановки задачи первая модель лучше, так как улучшает ранжирование после порога, среди клиентов, которым будет выдан кредит. Поэтому наравне с Джини нужны другие метрики — о них дальше.
О расчете коэффициента Джини для небинарных целевых событий см. в статье из цикла про риск-моделирование ([3]).
Если выборки не сбалансированы, то используется интервальная оценка с помощью техники бутстрэп. На основе исходной выборки генерируется B (
1000 и более) подвыборок, для каждой из которых рассчитывается коэффициент Джини. Затем проверяется, что заданный заранее перцентиль полученного распределения не пересекает фиксированный порог (например, если 2.5% перцентиль распределения коэффициентов Джини меньше 30%, то по тесту может быть выставлена оценка в виде красного сигнала).
Однако формирование подвыборок с помощью бутстрэпа – вычислительно сложная задача, которая может занять длительное время. С целью ее ускорения используется пуассоновский бутстрэп.
Извлечение с повторением элементов выборки размера n с фиксированной вероятностью можно заменить на сэмплирование с помощью биномиального распределения
частот появления каждого элемента выборки. При условии достаточно большого размера выборки выполняется следующий переход от биномиального распределения к пуассоновскому [4]:
2. Оценка стабильности
Мы разработали модель, проверили ее дискриминационную способность, задеплоили, но спустя несколько месяцев показатели нашей модели ухудшились. После выяснения причин оказалось, что для обучения были отобраны нерепрезентативные данные. Вернемся назад во времени, попробуем предотвратить такую ситуацию и добавим еще один блок в отчет о валидации: стабильность.
где: — доля наблюдений с i-м значением фактора;
— количество наблюдений, соответствующих i-му значению фактора;
— общее количество наблюдений в выборке (
— валидационная выборка,
— выборка для разработки). (Если вы хотите почитать, в каких случаях еще используется PSI, см. например, статью про моделирование компоненты LGD из цикла про риск-моделирование [3].)
Один из способов интерпретации PSI – через дивергенцию Кульбака–Лейблера [5], меру удаленности двух распределений P и Q:
Мера несимметрична () и из двух срезов данных мы не можем выбрать априорное распределение, с которым будет проводиться сравнение, поэтому для симметричности оценки можно использовать сумму двух мер от P до Q и от Q до P:
Когда мы убедились в стабильности модели, надо проверить, что уверенность модели в сформированных прогнозах соответствует моделируемым значениям целевого события. Для этого применяется калибровка. Здесь мы кратко остановимся на том, как она работает, подробности будут описаны в статье, которая выйдет чуть позже (stay tuned).
Модель считается хорошо откалиброванной, если фактический уровень целевого события (доля наблюдений с фактическим целевым событием = 1) близок к средней прогнозируемой моделью вероятности. Для оценки качества калибровки модели можно проверять попадание наблюдаемого уровня целевого события в доверительный интервал предсказанных моделью вероятностей целевого события: в целом по модели или в рамках бакетов предсказанной вероятности.
Примеры тестов и метрик:
Для проведения биномиального теста диапазон всех вероятностей целевого события разбивается на бакеты по принятой в финансовой организации шкале (мастер-шкале) или по перцентилям. Для каждого бакета рассчитывается доверительный интервал по предсказаниям модели и определяется, попадает ли фактический уровень дефолта в доверительный интервал.
Для формирования итогового решения о стратегии взаимодействия с клиентом может возникнуть необходимость определять разряд по заранее заданной шкале на основе значения вероятности дефолта, спрогнозированного моделью. В таком случае стоит проверить, что в распределении наблюдений по разрядам рейтинговой шкалы отсутствует перекос. Иными словами, чтобы предотвратить попадание большинства всех наблюдений в один-два разряда из всего набора.
Для проверки концентрации используется индекс Херфиндаля–Хиршмана как в целом по выборке, так и в разрезе отдельных сегментов.
Рассчитывается по формуле:
Подводя итог этого раздела, приведем пример пороговых значений метрик валидации моделей бинарной классификации и соответствующие им риск-зоны. В таблице для каждой метрики указаны пороговые значения риск-зон.
Мы перечислили тесты, применимые к моделям в разных доменных областях. Но могут быть метрики, которые отражают специфику конкретного продукта. Например, при моделировании операционных рисков может быть установлено дополнительное ограничение, связанное с пропускной способностью подразделения, проводящего расследования по признанным моделью подозрительными наблюдениям. После того как модель присвоила скоры всем пользователям, топ 1% или 5% пользователей по скору передается для проверки такому подразделению, другие пользователи не будут проверяться. Поэтому необходимо, чтобы максимальное число клиентов с y_true=1 попали в топ 1% или топ 5%.
Также для отдельных моделей могут быть предусмотрены специфические тесты. Например, для LGD-моделей Loss Shortfall.
Loss Shortfall – метрика, указывающая, насколько потери от фактического дефолта оказались ниже, чем было предсказано моделью (методика расчета описана в [3]). По шкале выставления оценки для метрики Loss Shortfall видно (см. рисунок ниже), что оценка риска в данном случае производится консервативно, модель считается хорошей только в тех случаях, когда предсказанные потери выше, чем наблюдаемые.
Качественные тесты
Не все аспекты качества модели можно оценить количественно, поэтому вместе с ними при валидации применяются качественные тесты. Что можно проверять с их помощью?
1. Качество документации модели. Для обеспечения воспроизводимости модели необходима хорошая документация.
Оценить качество документации можно, определив, насколько хорошо задокументированы:
2. Дополнительно можно проверить качество использованных при разработке данных:
Заказчик может дополнительно запросить интерпретацию модели: если это регрессионная модель, то коэффициенты факторов; если decision tree/decision list, то набор правил; если более сложные модели, то отчет интерпретаторов SHAP/LIME.
Эта информация поможет пройти приемку модели, поскольку наглядно показывает, что все важные фичи, на которых модель делает выводы, подкреплены бизнес-логикой.
Model performance predictor (MPP)
В определенных задачах бывает необходимо прогнозировать события, которые произойдут спустя месяцы. Например, клиент не выполнит свои обязательства по кредитному договору в течение года. Из-за этого лага возникает проблема: как понять, что модель стала хуже работать, до того как мы сможем увидеть это, до получения фактических значений целевого события?
Для решения такой проблемы наряду с основной строится дополнительная модель — Model Performance Predictor (MPP) [6].
Схема обучения MPP-модели
Для разработки MPP-модели используется тестовая выборка основной модели. Шаги по построению MPP-модели.
Заключение
В завершение сформулируем принципы, которые гарантируют, что валидация модели будет эффективна:
Бинарное целевое событие:
Тест | Блок | Виды тестирования по уровню «модель/фактор» | Дополнительные уровни тестирования |
Джини индекс: абсолютное значение | Предсказательная способность | На уровне модели / факторов | По всей выборке / на уровне сегментов |
Тест Колмогорова–Смирнова | Предсказательная способность | На уровне модели | По всей выборке / на уровне сегментов |
IV | Предсказательная способность | На уровне факторов | По всей выборке / на уровне сегментов |
Тест хи-квадрат | Калибровка | На уровне модели | По всей выборке |
Биномиальный тест | Калибровка | На уровне модели | По всей выборке |
Джини индекс: изменение | Стабильность | На уровне модели | Абсолютное / относительное изменение относительно предыдущего среза |
PSI | Стабильность | На уровне модели / факторов | По всей выборке / на уровне сегментов |
Тест Колмогорова–Смирнова | Стабильность | На уровне факторов | По всей выборке / на уровне сегментов |
Индекс Херфиндаля–Хиршмана | Концентрация | На уровне модели | По всей выборке / на уровне сегментов |
VIF | Дополнительно | На уровне факторов для линейных моделей | По всей выборке |
Парная корреляция | Дополнительно | На уровне факторов для линейных моделей | По всей выборке |
Значимость факторов (p-value) | Дополнительно | На уровне факторов для линейных моделей | По всей выборке |
Тест | Блок | Виды тестирования по уровню «модель/фактор» | Дополнительные уровни тестирования |
Джини индекс (Loss Capture Ratio): абсолютное значение | Предсказательная способность | На уровне модели / факторов | По всей выборке / на уровне сегментов |
Корреляция Спирмена: абсолютное значение | Предсказательная способность | На уровне модели / факторов | По всей выборке / на уровне сегментов |
MAE | Калибровка | На уровне модели | По всей выборке |
Тест Манна–Уитни | Калибровка | На уровне модели | По всей выборке |
Джини индекс (Loss Capture Ratio): изменение | Стабильность | На уровне модели | Абсолютное / относительное изменение относительно предыдущего среза |
Корреляция Спирмена: изменение | Стабильность | На уровне модели | Абсолютное / относительное изменение относительно предыдущего среза |
PSI | Стабильность | На уровне модели / факторов | По всей выборке / на уровне сегментов |
Тест Колмогорова–Смирнова | Стабильность | На уровне факторов | По всей выборке / на уровне сегментов |
VIF | Дополнительно | На уровне факторов для линейных моделей | По всей выборке |
Парная корреляция | Дополнительно | На уровне факторов для линейных моделей | По всей выборке |
Значимость факторов (p-value) | Дополнительно | На уровне факторов для линейных моделей | По всей выборке |
Материал подготовили: Илья Могильников (EienKotowaru), Александр Бородин (abv_gbc)