Валидация данных (Fgln;genx ;guud])
Проверить информацию. |
Валидация данных (англ. Data validation) — это процесс проверки данных различных типов по критериям корректности и полезности для конкретного применения. Валидация данных проводится, как правило, после выполнения операций ETL и для подтверждения корректности результатов работы моделей машинного обучения (предиктов). Валидация данных применяется не только к табличным данным, но и датасетам, содержащим наборы таблиц, текстовую, графическую, звуковую информацию.
Различные методы валидации данных применяются при автоматизированной обработке информации, статистике[1], сборе и обработке результатов научных и медицинских исследований и в других областях.
Необходимость проведения валидации данных
[править | править код]Валидация данных является одним из методов, позволяющих исключить поступление на вход информационной системы или её компонент заведомо ошибочных, неполных или неточных данных, которые могут привести к ошибочным результатам работы, утрате данных и сбоям в работе систем. Причинами появления таких ошибочных данных могут быть ошибки в процессе ручного ввода данных, в результате ошибок в алгоритмах и программах, в процессе хранения и передачи данных, а также при создании данных датчиками и устройствами различного оборудования и IoT. В процессе валидации могут осуществляется корректировка либо исключение данных, файлов, пакетов и записей, информирование оператора, изменение алгоритма работы информационной системы.
Операции валидации данных
[править | править код]Методы валидации могут включать визуальную валидацию, в том числе с применение различных аналитических инструментов[2], профилирование и фильтрацию данных[3][4]. Для валидации данных с заданным или известным распределением и, в машинном обучении, для оценки дрейфа данных могут применяться статистические методы сравнения распределений, использующих Критерий согласия Колмогорова[5][6].
Наибольшее практическое применение находят методы, которые можно применить сразу в момент ввода данных в систему:
- Проверки типа данных
- подтверждают, что отдельные символы, вводимые пользователем, соответствуют символам одного или нескольких заранее определённых заданным типов данных. Например, целочисленное поле может требовать ввода только символов от 0 до 9.
- Простая проверка диапазона и ограничений
- выполняется проверка вводимых данных на соответствие заданному диапазону (минимальному/максимальному значению) или заданной последовательности символов. Например, можно потребовать, чтобы значение счетчика было неотрицательным целым числом, а пароль должен соответствовать минимальной длине и содержать символы обоих регистров и специальные символы.
- Проверка кода и перекрестных ссылок
- включает операции по проверке соответствия данных одному или нескольким правилам, требованиям или их наборами и могут включать перекрестные ссылки на предоставленные данные с известной таблицей поиска или информационной службой каталога, такой как LDAP. Например, для идентификации валюты используется код Общероссийского классификатора валют.
- Структурированная проверка
- позволяет сочетать другие виды проверки вместе с более сложной обработкой, и может включать проверку условных ограничений для всего набора данных или набора операций.
- Проверка непротиворечивости
- проверка непротиворечивости обеспечивает логичность данных. Например, дате доставки заказа должна предшествовать дата его отгрузки.
- Проверка формата
- например, географические координаты должны быть введены в формате градусы, минуты и секунды с десятичной дробью (исторически сложившаяся форма записи).
- Проверка недостающих записей
- позволяет выявить отсутствующие.
- Проверка кардинальности
- проверяет, что запись имеет допустимое количество связанных записей. Например, записи «Клиент» должен соответствовать не менее чем один «Заказ».
- Контрольные цифры
- используются для числовых данных. Для обнаружения ошибок к числу, которое вычисляется на основе других цифр, добавляется дополнительная цифра.
- Межсистемные проверки согласованности
- сравнивает данные в разных системах, чтобы убедиться в их соответствии. Системы могут представлять одни и те же данные по-разному, и в этом случае сравнение требует преобразования (например, одна система может хранить имя клиента в одном поле в формате «Фамилия, Имя, Отчество», а другая использует три поля «Фамилия», «Имя», «Отчество».
- Проверка существования файла
- проверяет, существует ли файл с указанным именем. Эта проверка необходима для программ, использующих работу с файлами.
- Проверка присутствия
- подтверждает наличие данных, например, клиенты должны иметь адрес электронной почты.
- Проверка диапазона
- подтверждает, что данные находятся в определённом диапазоне значений, например, вероятность должна быть между 0 и 1.
- Ссылочная целостность
- значения в двух таблицах реляционной базы данных могут быть связаны через внешний ключ и первичный ключ. Если значения в поле внешнего ключа не ограничены внутренними механизмами, то они должны быть проверены, чтобы убедиться, что ссылающаяся таблица всегда ссылается на строку в ссылающейся таблице.
- Проверка орфографии и грамматики
- ищет орфографические и грамматические ошибки.
- Проверка уникальности
- проверяет уникальность каждого значения. Такая проверка может быть применена сразу к нескольким полям (например, адрес, имя, фамилия).
- Проверка поиска по таблице
- сравнивает данные с набором допустимых значений.
Также могут применяться другие методы и их комбинации.
Риски использования данных без валидации
[править | править код]Использование данных, не прошедших валидацию, может приводить к получению неверных либо некорректных результатов работы информационных систем, утрате данных и их взаимосвязей (в том числе весов моделей машинного обучения), критическим сбоям в работе систем.
См. также
[править | править код]Примечания
[править | править код]- ↑ Архивированная копия . Дата обращения: 11 декабря 2021. Архивировано 1 декабря 2017 года.
- ↑ SAS Visual Statistics Features | SAS . Дата обращения: 11 декабря 2021. Архивировано 12 декабря 2021 года.
- ↑ Validate Data . Дата обращения: 11 декабря 2021. Архивировано 11 декабря 2021 года.
- ↑ Validating data quality in AWS Glue DataBrew - AWS Glue DataBrew . Дата обращения: 11 декабря 2021. Архивировано 11 декабря 2021 года.
- ↑ Data Drift Detection | Importance of Data Drift Detection . Дата обращения: 11 декабря 2021. Архивировано 2 ноября 2021 года.
- ↑ Detect data drift on datasets (preview) - Azure Machine Learning | Microsoft Docs . Дата обращения: 11 декабря 2021. Архивировано 8 марта 2022 года.