Метод главных компонент, или PCA, — это способ уменьшить число признаков в данных без резкой потери смысла. Он преобразует исходные переменные в новый набор компонентов, которые сохраняют основную изменчивость набора данных.
PCA применяют в статистике, анализе данных и машинном обучении. Метод помогает упростить набор признаков, убрать сильные взаимосвязи между ними и сделать данные удобнее для визуализации, моделирования и предварительной обработки.
Содержание статьи
Как коротко определить PCA
PCA — это метод снижения размерности, который заменяет множество исходных признаков меньшим числом новых переменных, называемых главными компонентами. Эти компоненты не коррелируют друг с другом и объясняют как можно большую долю вариации в данных.
Если в таблице много столбцов, часть из них часто описывает похожие свойства. PCA находит направления, в которых данные меняются сильнее всего, и строит новые оси именно по этим направлениям. За счёт этого набор становится компактнее.
Такой подход особенно полезен, когда признаков много, а наблюдений тоже немало. В этом случае модель или аналитик работают не со всем исходным пространством, а с его более коротким представлением.
Зачем используют метод главных компонент
PCA нужен для сокращения числа признаков, выделения самой информативной структуры данных и уменьшения проблем, связанных с высокой размерностью.
Когда признаков слишком много, анализ усложняется. Некоторые переменные дублируют друг друга, часть добавляет шум, а визуально понять структуру массива почти невозможно. PCA помогает привести данные к более сжатому виду.
На практике его используют в нескольких типичных задачах:
- предварительная обработка данных перед обучением модели;
- визуализация многомерных данных в двух или трёх измерениях;
- уменьшение мультиколлинеарности между признаками;
- выделение наиболее информативных направлений изменчивости;
- поиск аномалий, кластерной структуры и общих паттернов.
Метод часто применяют перед регрессией, классификацией и кластеризацией. Ещё он встречается в обработке сигналов, изображений и в задачах распознавания образов.
Как работает метод главных компонент
PCA строит новые признаки как линейные комбинации исходных переменных и упорядочивает их по тому, сколько вариации данных они объясняют.
Представьте облако точек в пространстве признаков. Одни направления внутри этого облака почти ничего не дают, другие отражают основные различия между объектами. PCA ищет именно такие направления.
Первая главная компонента фиксирует максимальную возможную вариацию. Вторая объясняет следующую по величине часть вариации и при этом не коррелирует с первой. Остальные компоненты строятся по тому же правилу.
В результате данные переводятся в новую систему координат. Исходные столбцы остаются в прошлом пространстве, а анализ можно вести уже в пространстве главных компонент.
Первая главная компонента
Первая главная компонента — это направление, вдоль которого разброс данных максимален. Она сохраняет больше информации о различиях между объектами, чем любая другая отдельная компонента.
Если после преобразования оставить только её, данные станут сильно упрощёнными. Но даже в таком виде можно сохранить важную часть структуры исходного массива.
Вторая и следующие компоненты
Вторая главная компонента объясняет следующую по величине долю вариации и не зависит от первой в терминах корреляции.
Геометрически это означает, что она направлена поперёк первой. Следующие компоненты тоже не коррелируют с предыдущими и последовательно описывают оставшуюся изменчивость.
Что такое собственные векторы и собственные значения в PCA
Собственные векторы задают направления главных компонент, а собственные значения показывают, насколько важны эти направления для описания разброса данных.
Вычисления PCA опираются на линейную алгебру и матричные операции. Обычно анализируют ковариационную матрицу, которая показывает, как признаки изменяются относительно друг друга.
Собственный вектор указывает направление новой оси. Собственное значение при нём показывает, какая доля вариации приходится на эту ось. Чем выше значение, тем значимее компонента.
Именно поэтому компоненты ранжируют по убыванию собственных значений. Сначала идут самые информативные, потом менее значимые.
Какие шаги включает PCA
Расчёт PCA обычно состоит из стандартизации данных, вычисления ковариационной матрицы, нахождения собственных векторов и значений, выбора числа компонент и преобразования данных в новое пространство.
Стандартизация признаков
Перед PCA признаки часто приводят к одной шкале. Это нужно, чтобы переменные с большими числовыми значениями не начали доминировать только из-за масштаба.
Обычно из каждого значения вычитают среднее, а затем делят результат на стандартное отклонение. После этого признаки становятся сопоставимыми между собой.
Построение ковариационной матрицы
Ковариационная матрица показывает, как признаки связаны друг с другом по изменчивости.
Если два признака растут или уменьшаются вместе, ковариация положительная. Если один растёт, а другой снижается, она отрицательная. Если связи почти нет, значение близко к нулю.
- Положительное значение — признаки изменяются в одном направлении.
- Отрицательное значение — признаки изменяются в противоположных направлениях.
- Ноль или близко к нулю — выраженной линейной связи нет.
Нахождение главных компонент
После этого из ковариационной матрицы получают собственные векторы и собственные значения.
Собственные векторы становятся направлениями главных компонент. Собственные значения показывают, сколько вариации объясняет каждая компонента. По ним можно отсортировать компоненты от самых значимых к менее значимым.
Выбор числа компонент
Оставляют только те компоненты, которые дают заметную часть полезной информации.
Для этого смотрят на долю объяснённой вариации. Часто используют график собственных значений, где ищут точку перегиба. После неё вклад новых компонент обычно уменьшается заметно быстрее.
Преобразование исходных данных
На последнем шаге данные проецируют на новые оси, заданные главными компонентами.
В результате получается новый набор признаков. Их меньше, они не коррелируют между собой и при этом сохраняют значимую часть структуры исходного массива.
Как интерпретировать результаты PCA
Результаты PCA читают по доле объяснённой вариации, числу сохранённых компонент и вкладу исходных признаков в каждую компоненту.
Если построен график по первым двум компонентам, каждая точка показывает положение объекта в новом пространстве признаков. Это помогает заметить группы, выбросы и общие направления различий.
Отдельно анализируют нагрузки признаков на компоненты. Нагрузка показывает, насколько сильно исходная переменная связана с конкретной компонентой. Высокая нагрузка означает заметный вклад признака в соответствующее направление вариации.
Чем больше суммарной объяснённой вариации сохраняют выбранные компоненты, тем больше информации осталось после сокращения размерности. Но слишком большое число компонент снижает смысл такого сжатия и усложняет интерпретацию.
PCA, LDA и факторный анализ: в чём разница
PCA уменьшает размерность за счёт максимального сохранения вариации, LDA ищет направления разделения классов, а факторный анализ пытается выявить скрытые факторы, стоящие за наблюдаемыми переменными.
PCA относится к методам снижения размерности и может использоваться без меток классов. Это удобно для разведочного анализа и подготовки данных в задачах без учителя.
LDA тоже уменьшает размерность, но его цель другая: он ищет такие проекции, в которых классы лучше разделяются. Поэтому для LDA нужны метки классов.
Факторный анализ близок по форме, но отвечает на другой вопрос. Он не просто сжимает признаки, а помогает понять, какие скрытые факторы могут объяснять наблюдаемые связи между переменными.
| Метод | Главная цель | Нужны метки классов |
| PCA | Снижение размерности с сохранением вариации | Нет |
| LDA | Проекция данных для лучшего разделения классов | Да |
| Факторный анализ | Выявление скрытых факторов | Нет |
Чем PCA отличается от кластеризации k-средних
PCA уменьшает число признаков, а k-средних группирует объекты по сходству. Это разные задачи, хотя оба подхода часто используют в анализе данных без учителя.
PCA создаёт новые переменные как линейные комбинации исходных. Результат его работы — новое представление данных в пространстве меньшей размерности.
Алгоритм k-средних работает иначе. Он делит наблюдения на кластеры на основе расстояния до центров групп. Его результат — набор кластеров, а не новые признаки.
На практике методы могут использоваться вместе. Сначала данные упрощают с помощью PCA, а затем уже ищут кластеры в сокращённом пространстве.
Когда метод главных компонент особенно полезен
PCA уместен, когда в данных много числовых признаков, между ними есть линейные связи и нужно сократить размерность без грубой потери структуры.
Метод хорошо подходит для предварительной обработки, когда исходное пространство слишком велико. Он также полезен для визуального анализа многомерных наборов данных.
Есть несколько практических ориентиров:
- признаков много, и часть из них сильно коррелирует между собой;
- нужно уменьшить риск переобучения из-за лишних переменных;
- требуется упростить входные данные для модели;
- нужно показать структуру многомерного набора на плоскости;
- важно сохранить линейную вариацию, а не локальную геометрию соседей.
Какие ограничения есть у PCA
PCA не является универсальным методом и лучше работает там, где структура данных описывается линейными зависимостями.
Если важные связи между признаками нелинейные, метод может упустить существенную часть структуры. Кроме того, сами главные компоненты часто труднее интерпретировать, чем исходные признаки, потому что каждая компонента складывается из нескольких переменных сразу.
Ещё один нюанс связан с масштабом. Без стандартизации признаки с крупными значениями могут непропорционально влиять на результат. По этой причине подготовка данных здесь особенно важна.
И наконец, PCA не знает ничего о целевой переменной, если она есть. Он сохраняет вариацию в данных, но не обязан сохранять именно ту информацию, которая лучше всего помогает в предсказании класса или значения.
Где применяют метод главных компонент
PCA используют там, где нужно упростить многомерные данные и сохранить их основную структуру.
Он встречается в обработке изображений, сигналов, биостатистике, распознавании образов, исследовательском анализе данных и подготовке признаков для моделей машинного обучения.
В медицинской аналитике метод также применяют как этап подготовки данных. В подобных задачах PCA может уменьшать число признаков перед использованием алгоритмов классификации, например логистической регрессии.
Общая идея везде одна: убрать лишнюю размерность, оставить самое содержательное и сделать дальнейший анализ устойчивее и проще.
Когда выбрать PCA, а когда смотреть на другие методы
PCA выбирают, если данные в основном подчиняются линейной структуре, нужен быстрый расчёт и важно получить новые компактные признаки.
Если задача связана именно с визуализацией сложной нелинейной структуры, могут рассматривать и другие методы снижения размерности, например UMAP или t-SNE. Они лучше сохраняют локальное соседство точек, но решают другую задачу и обычно требуют более тяжёлых вычислений.
Если нужны направления, которые разделяют известные классы, чаще смотрят в сторону LDA. Если требуется понять скрытые причины совместного поведения признаков, полезнее факторный анализ.
PCA остаётся одним из самых понятных и часто используемых методов там, где нужно компактное представление числовых данных без лишних переменных.