Целью этой статьи является теоретическое описание этапов EDA.

Однако существует множество руководств по выполнению EDA, даже автоматически, поскольку этот анализ служит для последующего процесса моделирования ИИ, поэтому рекомендуется выполнять его вручную с помощью известных библиотек Python, таких как: Pandas, Matplotlib и других. EDA может быть организован в виде отчета, содержащего следующие компоненты:

  • Источники данных: важно понимать точки данных, это позволяет понять полноту, актуальность, качество и значение данных. Получите бизнес-контекст имеющихся у вас данных, зная источник и механизм сбора данных; например, ввод вручную, данные, собранные в цифровом виде и т. д. Это дает понимание ошибок, возникающих в данных.
  • Переменные и их распределения: Знайте все переменные, типы, их распределения, метки/классы внутри и снаружи, целевую переменную, напишите количество строк и количество функций набора данных.

Ответь на эти вопросы:

-Что означают/представляют переменные?
- Являются ли переменные непрерывными или категориальными? Какой-либо внутренний порядок?
- Какие возможные значения они могут принимать (переменные домены)?

Выполните следующие действия:

-Для непрерывных переменных проверьте распределения с помощью гистограмм, коробчатых диаграмм и внимательно изучите среднее значение, медиану, стандартные отклонения и т. д.

-Для категориальных/порядковых переменных — найдите их уникальные значения и составьте таблицу частот, проверяя наиболее/наименее встречающиеся из них.

-Сообщите о переменных, которые не понятны.

  • Шаблоны/отношения/корреляции: Целью EDA должен быть ответ или попытка ответить на некоторые вопросы, которые могут возникнуть по поводу данных. Попытайтесь проверить любые предыдущие гипотезы или предположения. Идея состоит в том, чтобы установить факты.

Ответь на эти вопросы:

— Есть ли деловая причина того, что некоторые переменные связаны друг с другом?

— Соответствуют ли переменные какому-либо конкретному распределению?

Выполните следующие действия:

-Провести визуальный двумерный анализ.

-В случае непрерывных переменных — используйте диаграммы рассеяния, создайте корреляционную матрицу/тепловые карты и т. д.

-Смесь непрерывных и порядковых/категориальных переменных. Рассмотрите возможность построения гистограмм или круговых диаграмм и создайте старые добрые таблицы непредвиденных обстоятельств для визуализации совместного возникновения.

-Vподтвердить статистические предположения, такие как нормальность, линейность или независимость. Преобразуйте данные с помощью журнала.

-Составить корреляционную матрицу и сделать выводы.

-Провести анализ PCA и сделать выводы.

  • Опишите аномалии. Находите выбросы и отличайте их от ошибок в данных. Ищите что-нибудь необычное! Хотя выбросы — это точки данных, которые необычны для данного распределения признаков, у нас могут быть просто точки данных с экстремальными значениями и вполне вескими аргументами в их пользу. Ошибки — это образцы, которых вообще не должно быть.

Ответьте на эти вопросы для выбросов:

- Существуют ли очень высокие или чрезвычайно низкие значения для определенных числовых переменных или высокая/низкая частота для переменных категориального класса?

Выполните следующие действия для выбросов:

-Изучите гистограммы, диаграммы рассеяния и гистограммы частот, чтобы понять, есть ли несколько точек данных, которые находятся дальше от остальных. Подумайте:
- Могут ли они быть правдой и принять эти крайние значения?
- Есть ли деловое обоснование или оправдание для этих крайностей?
- Повысят ли они ценность вашего анализа на более позднем этапе ?

Ответьте на следующие вопросы об ошибках:

-Есть ли в наборе данных повторяющиеся записи? Дубликаты в большинстве случаев бесполезны, поскольку не несут никакой дополнительной информации. Они могут быть результатом ошибки и могут испортить среднее значение, медиану и другие статистические данные.

-Есть ли ошибки в маркировке категориальных переменных?
Найдите уникальные значения для категориальных переменных и создайте диаграмму частот. Ищите ошибки в написании и ярлыки, которые могут обозначать схожие вещи?

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

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

Выполните следующие действия при ошибках:

— подсчитайте долю NULL или отсутствующих значений для всех переменных. Переменные с показателем более 15–20 % должны вызвать у вас подозрения. Сообщите!

— отфильтруйте строки с пропущенными значениями для столбца и проверьте, как выглядят остальные столбцы. Неужели в большинстве столбцов пропущены значения?.. есть ли закономерность? Сообщите!

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

Выполните следующие действия:

-Удалите повторяющиеся записи, если вы обнаружите какие-либо пропущенные значения и выбросы, которые не добавляют ценности вашему набору данных. Избавьтесь от ненужных строк/столбцов.

-Исправьте любые орфографические ошибки или неправильную маркировку, которые вы заметили в данных.

- Любые обнаруженные вами ошибки в данных, которые не повышают ценность данных, также необходимо удалить.

-В некоторых сценариях моделирования данных нам может потребоваться ограничить выбросы с обеих сторон. Ограничение часто осуществляется на уровне 99/95 процентиля для верхнего предела или 1/5 процентиля для нижнего предела.

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

  • Обогащение и дополнение данных: в зависимости от потребностей будущего анализа и моделирования вы можете добавить в свой набор данных дополнительные функции (переменные); такие как (не ограничиваясь):

-Создание двоичных переменных, указывающих на наличие или отсутствие чего-либо.
-Создание дополнительных меток/классов с помощью предложений IF-THEN-ELSE.
-Масштабирование или кодирование переменных в соответствии с вашими будущими потребностями аналитики.
-Объедините две или более переменных — используйте набор математических функций, таких как сумма, разница, среднее значение, журнал и многие другие преобразования.

Заключение

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