Предварительный анализ данных
Материал из MachineLearning.
Предварительный анализ данных (англ. Exploratory Data Analysis, EDA) — это подход, философия и набор методов анализа данных, целью которых является максимальное проникновение в суть данных, выявление их внутренней структуры, обнаружение аномалий, проверка исходных предположений и формулировка гипотез, прежде чем переходить к формальному моделированию или подтверждающему анализу. В отличие от подтверждающего анализа, EDA не проверяет заранее заданные гипотезы, а помогает обнаруживать их, позволяя данным «говорить самим за себя».
Содержание |
Философия и история
Термин «Exploratory Data Analysis» был введён выдающимся американским статистиком Джоном Уайлдером Тьюки (John W. Tukey) в его знаковой книге «Exploratory Data Analysis», опубликованной в 1977 году. Тьюки позиционировал EDA не как простой набор инструментов, а как подход или философию анализа данных, которая откладывает в сторону жёсткие допущения о модели данных и отдаёт предпочтение прямому исследованию, позволяя данным самим раскрывать свою структуру. По его мнению, наибольшая ценность визуализации — в её способности «заставить нас заметить то, чего мы никогда не ожидали увидеть». Идеи Тьюки в значительной степени опирались на опыт его наставника, Чарльза П. Уинзора (Charles P. Winsor), который учил его многим практическим аспектам работы с данными, «которых нет в книгах».
Цель и место в процессе анализа данных
Главная цель EDA — изучить данные, а не очистить их. Это критически важное различие. Сама по себе EDA не решает проблемы пропусков или выбросов, но помогает их обнаружить и понять их природу. Решения о том, как обрабатывать эти проблемы (например, чем заполнять пропуски — средним, медианой или моделью, и что делать с выбросами — удалять или заменять), принимаются на последующем этапе предобработки данных на основе инсайтов, полученных в ходе EDA. Принцип «Garbage In, Garbage Out» (GIGO) подчёркивает, что качество любого последующего машинного обучения или статистического вывода критически зависит от глубины понимания данных, достигнутой на этапе EDA. EDA даёт ответы на вопросы, которые определяют стратегию предобработки: нужно ли масштабировать данные и какой метод выбрать, как кодировать категориальные признаки и какие статистические тесты будут корректны.
Результаты EDA напрямую влияют на выбор конкретных методов предобработки. Например, обнаружение сильной асимметрии указывает на необходимость применения преобразований (логарифмического или Box-Cox) перед использованием методов, чувствительных к нормальности. Выявление категориальных признаков с большим числом уникальных значений требует специальных стратегий кодирования, учитывающих связь с целевой переменной. Анализ диапазонов значений показывает, необходимо ли масштабирование признаков для алгоритмов, использующих метрики расстояния (например, k-ближайших соседей, SVM). Обнаружение мультиколлинеарности (сильной корреляции между признаками) диктует необходимость отбора признаков или использования регуляризованных моделей. Таким образом, EDA выступает мостом между сырыми данными и осмысленной предобработкой, превращая её из рутинной процедуры в целенаправленную стратегию.
Основные задачи и принципы
В ходе предварительного анализа решаются следующие ключевые задачи:
- Обнаружение проблем (пропуски, выбросы, нереалистичные значения, ошибки ввода).
- Понимание структуры (распределение переменных, взаимосвязи и корреляции, наличие кластеров или групп).
- Проверка предположений (например, о нормальности распределения, гомоскедастичности, линейности связей), необходимых для многих статистических методов.
- Формулировка гипотез о скрытых закономерностях, которые впоследствии могут быть проверены на новых данных.
Ключевой принцип EDA — максимальное использование возможностей человеческого восприятия, поэтому основным инструментом здесь является статистическая графика.
Методология и методы
EDA опирается на комбинацию графических и количественных методов.
Визуальный анализ
Большинство методов EDA являются графическими, поскольку позволяют увидеть структуру данных целиком и обнаружить неожиданные паттерны. Ниже приведены основные типы графиков, используемых в EDA, с краткими описаниями их устройства и назначения.
- Гистограмма (histogram) — столбчатый график, где диапазон значений переменной разбивается на интервалы (бины), а высота каждого столбца соответствует частоте (или плотности) попаданий значений в этот интервал. Гистограмма позволяет оценить форму распределения (симметричность, асимметрию, мультимодальность, наличие «тяжёлых хвостов»), а также обнаружить необычные пики или разрывы, которые могут указывать на ошибки в данных или смешанные популяции.
- Ящик с усами (box plot) — график, основанный на пяти описательных статистиках: минимуме, первом квартиле (Q1), медиане (Q2), третьем квартиле (Q3) и максимуме. «Ящик» простирается от Q1 до Q3, линия внутри показывает медиану. «Усы» обычно тянутся до значений, не выходящих за пределы 1.5 межквартильного размаха (IQR), а точки за их пределами маркируются как потенциальные выбросы. Боксплот компактно показывает центр разброса, скошенность и наличие выбросов, позволяя быстро сравнивать распределения нескольких групп (например, зарплаты по разным отделам) на одном графике.
- Диаграмма рассеяния (scatter plot) — точечный график, где каждая точка представляет одно наблюдение, а её координаты по осям X и Y соответствуют значениям двух количественных переменных. Диаграмма рассеяния — основной инструмент для визуализации связи между двумя переменными: она позволяет увидеть форму связи (линейную, экспоненциальную, циклическую), направление (положительную или отрицательную корреляцию), силу разброса вокруг тренда, а также обнаружить выбросы, которые не видны в одномерных графиках (например, значения, нарушающие общую закономерность).
- Столбчатая диаграмма (bar chart) — график с отдельными столбцами, высота которых пропорциональна частоте (или доле) каждой категории для номинальных или порядковых переменных. В отличие от гистограммы, столбцы здесь не соприкасаются, так как категории дискретны. Столбчатая диаграмма позволяет быстро оценить распределение категорий, выявить доминирующие классы, редкие категории, которые могут потребовать объединения, и проверить соответствие данных ожидаемым пропорциям.
- Тепловая карта (heatmap) — матрица, в которой ячейки окрашены в цвета в соответствии со значениями некоторой метрики. Чаще всего в EDA используется корреляционная тепловая карта, где цвет каждой ячейки показывает коэффициент корреляции Пирсона между парой признаков (от ярко-синего для сильной отрицательной корреляции до ярко-красного для сильной положительной). Тепловая карта незаменима для быстрого визуального обнаружения мультиколлинеарности среди десятков и сотен признаков, позволяя с первого взгляда выделить группы сильно связанных переменных.
Количественные методы
Визуализация часто дополняется расчётом простых статистик.
Описательные статистики
- Меры центральной тенденции: среднее, медиана, мода.
- Меры разброса (вариации): Дисперсия, Стандартное отклонение, межквартильный размах (IQR), размах (минимум и максимум).
- Меры формы распределения: Асимметрия (skewness) и Эксцесс (kurtosis).
Важно не просто рассчитывать эти статистики, но и интерпретировать их совместно. Например, если коэффициент асимметрии для признака «заработная плата» превышает 1, это означает, что распределение смещено вправо (положительная асимметрия) за счёт небольшого числа очень высоких доходов, которые «вытягивают» среднее значение вверх. В таких случаях медиана является более надёжной и репрезентативной мерой центральной тенденции, чем среднее арифметическое, поскольку она устойчива к выбросам.
Меры взаимосвязи
- Коэффициент корреляции Пирсона — для оценки силы линейной связи между количественными переменными.
- Ранговые коэффициенты корреляции (например, Спирмена) — для порядковых переменных или в случае нарушения предположений о нормальности.
Важно помнить, что корреляция не равна причинно-следственной связи. EDA помогает обнаружить корреляции, но интерпретировать их как причинно-следственные можно только с привлечением предметных знаний и последующих экспериментов.
Связь с шкалами измерений
Выбор конкретных методов EDA критически зависит от типа шкалы измерений анализируемых переменных. Понимание этой связи — основа корректного анализа.
| Тип шкалы | Допустимые методы EDA | Примеры |
|---|---|---|
| Номинальная шкала (категории без порядка) | Частотные таблицы, мода, мозаичные графики, столбчатые диаграммы. | Цвет, пол, страна. |
| Порядковая шкала (категории с порядком) | Медиана, квартили, процентили, ранговые корреляции, ящики с усами. | Уровень образования, баллы удовлетворённости (1-5). |
| Интервальная шкала (количественная, нет естественного нуля) | Среднее, стандартное отклонение, гистограммы, диаграммы рассеяния, корреляция Пирсона. | Температура в °C, год. |
| Шкала отношений (количественная, есть естественный нуль) | Среднее, стандартное отклонение, гистограммы, диаграммы рассеяния, коэффициент вариации. | Возраст, доход, рост, цена. |
Например, вычисление среднего значения для номинальной переменной (например, «средний цвет»), как и построение гистограммы для неё, бессмысленно. Этот фундаментальный принцип является одним из первых, которые проверяются в ходе EDA.
Инструменты для EDA на практике
В современной практике анализа данных EDA почти всегда выполняется программно. Наиболее популярные экосистемы — это Python и R, которые предоставляют как базовые средства для построения графиков, так и специализированные библиотеки для автоматизированного исследования. В Python ключевыми библиотеками являются Matplotlib и Seaborn для статической визуализации, Plotly для интерактивных графиков, а также Pandas для быстрого расчёта описательных статистик и сводных таблиц. Для ускорения работы всё чаще используются автоматические профилировщики данных (например, Pandas Profiling, D-Tale, Sweetviz), которые за одну команду генерируют интерактивный HTML-отчёт, содержащий гистограммы, боксплоты, матрицы корреляций, сводку по пропускам и даже предупреждения о потенциальных проблемах (высокая корреляция, сильная асимметрия, дисбаланс категорий). Эти инструменты не заменяют вдумчивый анализ, но служат отличной отправной точкой, позволяя быстро составить «карту местности» и сфокусировать внимание на наиболее интересных или подозрительных областях данных. В профессиональной среде EDA часто ведётся в интерактивных средах, таких как Jupyter Notebook, где код, визуализации и текстовые комментарии с выводами объединяются в единый исследовательский документ.
Примечания
Литература
- Tukey J. W. Exploratory Data Analysis. — Reading, MA: Addison-Wesley, 1977. — ISBN 0-201-07616-0
- Behrens J. T. Principles and Procedures of Exploratory Data Analysis. — APA Handbook of Research Methods in Psychology. — 2012 T. 2. — С. 65—87.
- Wickham H., Grolemund G. R for Data Science: Import, Tidy, Transform, Visualize, and Model Data. — Sebastopol, CA: O'Reilly Media, 2017. — ISBN 978-1-491-91039-9 (глава об EDA)
- Хасти Т., Тибширани Р., Фридман Дж. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. — 2-е изд.. — Нью-Йорк: Springer, 2009. — ISBN 978-0-387-84857-0 (разделы о разведочном анализе)

