Открыть сервис

Метод главных компонент

Метод главных компонент (англ. Principal Component Analysis, PCA) — это статистический метод, используемый для снижения размерности многомерных данных путём перехода к новым ортогональным переменным, называемым главными компонентами. Основная идея метода заключается в нахождении такого линейного преобразования исходных признаков, при котором первые несколько главных компонент объясняют максимально возможную дисперсию (вариативность) данных. Метод широко применяется в анализе данных, машинном обучении, обработке сигналов, сжатии изображений и других областях.

История

Метод главных компонент был впервые предложен Карлом Пирсоном в 1901 году в работе «On Lines and Planes of Closest Fit to Systems of Points in Space». Пирсон рассматривал задачу нахождения таких прямых и плоскостей, которые наилучшим образом аппроксимируют систему точек в многомерном пространстве, минимизируя сумму квадратов расстояний от точек до этих линий. Позднее, в 1933 году, Харольд Хотеллинг независимо разработал метод для психометрических исследований, формализовав его как процедуру анализа главных компонент. В 1960-х годах метод получил развитие в работах по численным методам и многомерному статистическому анализу, а с появлением вычислительной техники стал одним из ключевых инструментов обработки данных.

Математическая основа

Определение главных компонент

Пусть имеется набор данных, представленный матрицей X размерности n × p, где n — количество наблюдений, p — количество исходных признаков (переменных). Предполагается, что данные центрированы (то есть из каждого признака вычтено его среднее значение). Метод главных компонент ищет линейное преобразование:

Z = XW,

где Wматрица размерности p × k, столбцы которой являются собственными векторами ковариационной матрицы данных C = (1/(n-1)) XᵀX, соответствующими наибольшим собственным значениям. Столбцы матрицы Z (главные компоненты) ортогональны и упорядочены по убыванию дисперсии: первая главная компонента имеет наибольшую дисперсию, вторая — следующую по величине и так далее.

Вычисление

Основные этапы вычисления PCA:

  1. Центрирование данных: вычитание среднего значения по каждому признаку.
  2. Вычисление ковариационной матрицы (или корреляционной матрицы, если признаки имеют разные единицы измерения).
  3. Нахождение собственных значений и собственных векторов ковариационной матрицы.
  4. Сортировка собственных векторов по убыванию соответствующих собственных значений.
  5. Выбор количества главных компонент k (обычно по критерию накопленной дисперсии или по правилу «каменистой осыпи»).
  6. Проецирование данных на подпространство, образованное выбранными собственными векторами.

Свойства

Классификация и варианты

Линейный PCA

Классический метод, описанный выше, предполагает линейное преобразование данных. Он наиболее распространён и реализован во многих статистических пакетах и библиотеках машинного обучения (например, scikit-learn в Python).

Ядерный PCA (Kernel PCA)

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

Разреженный PCA (Sparse PCA)

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

Вероятностный PCA (Probabilistic PCA)

Модель, в которой PCA рассматривается как частный случай факторного анализа с изотропным шумом. Позволяет оценивать неопределённость и обрабатывать пропущенные данные.

Инкрементальный PCA (Incremental PCA)

Метод, позволяющий обновлять главные компоненты при поступлении новых данных без пересчёта всей ковариационной матрицы. Полезен для потоковой обработки больших объёмов данных.

Применение

Снижение размерности

Основное применение PCA — уменьшение числа признаков при сохранении максимальной информации. Это ускоряет обучение моделей машинного обучения, уменьшает риск переобучения и улучшает визуализацию данных (например, проецирование на 2 или 3 главные компоненты для построения графиков).

Сжатие данных

В обработке изображений и сигналов PCA используется для сжатия с потерями: сохраняются только первые несколько главных компонент, что позволяет значительно уменьшить объём данных при незначительной потере качества.

Выявление скрытых факторов

В психометрии, социологии и экономике PCA помогает выявить латентные (скрытые) переменные, которые объясняют корреляции между наблюдаемыми признаками. Например, в тестах интеллекта первые главные компоненты могут интерпретироваться как общие факторы способностей.

Шумоподавление

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

Визуализация многомерных данных

Проецирование данных на две или три главные компоненты позволяет строить двумерные или трёхмерные графики, на которых видна структура кластеров, выбросов и трендов.

Обработка изображений

PCA применяется для распознавания лиц (метод собственных лиц — eigenfaces), где изображения лиц представляются как векторы пикселей, и главные компоненты соответствуют основным вариациям формы и освещения.

Финансовый анализ

В портфельном анализе PCA используется для выделения основных факторов риска, объясняющих доходность активов. Первые компоненты часто интерпретируются как рыночный, отраслевой или валютный факторы.

Критика и ограничения

Примеры использования в России и русскоязычной науке

В России метод главных компонент активно применяется в различных областях:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →