Skip to Content

§1. Геометрия главных компонент

Допустим, что каждый из nn объектов описывается mm признаками (координатами). Представим данные (для отдельного класса объектов) в форме таблицы X=∥xil∥n×m\boldsymbol X = \|x_{il}\|_{n\times m}. Вычислим для каждого признака (столбца матрицы X\boldsymbol X) среднее значение xˉl=1n∑i=1nxil\bar x_l = \frac1n\sum_{i=1}^nx_{il} и центрируем данные: xil′=xil−xˉlx_{il}' = x_{il} - \bar x_l. Это преобразование не искажает интересующую нас внутреннюю структуру класса, характер взаимосвязей признаков. Далее в этой главе будем считать xilx_{il} уже центрированными:

Д1. xˉl=0\bar x_l = 0 для l=1,…,ml = 1, \dots, m.

Обозначим через Σ^=∥σ^kl∥m×m\hat{\boldsymbol\Sigma} = \|\hat\sigma_{kl}\|_{m\times m} выборочную ковариационную матрицу (центрированных) признаков: Σ^=1nXTX\hat{\boldsymbol\Sigma} = \frac1n\boldsymbol X^T\boldsymbol X, то есть σ^kl\hat\sigma_{kl} — выборочная ковариация kk-го и ll-го столбцов матрицы X\boldsymbol X.

Поскольку Σ^\hat{\boldsymbol\Sigma} — матрица ковариаций, она неотрицательно определена (см. П10). Следовательно, существует ортогональная матрица C\boldsymbol C, приводящая Σ^\hat{\boldsymbol\Sigma} к главным осям: CTΣ^C=Λ\boldsymbol C^T\hat{\boldsymbol\Sigma}\boldsymbol C = \boldsymbol\Lambda. Здесь Λ\boldsymbol\Lambda — диагональная матрица с неотрицательными элементами λ1≥⋯≥λm\lambda_1 \ge \dots \ge \lambda_m на главной диагонали, которые являются корнями уравнения det⁡(Σ^−λE)=0\det(\hat{\boldsymbol\Sigma} - \lambda\boldsymbol E) = 0. Они называются собственными значениями матрицы Σ^\hat{\boldsymbol\Sigma}.

Предположим, что все λl\lambda_l положительны и различны (для экспериментальных данных это условие выполняется практически всегда). При этом столбцы c1,…,cm\boldsymbol c_1, \dots, \boldsymbol c_m матрицы C\boldsymbol C (главные оси или компоненты) определяются однозначно, с точностью до выбора направления оси, то есть одновременного изменения знака всех координат вектора cl\boldsymbol c_l. Они образуют новый ортонормированный базис в Rm\mathbb R^m.

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

Свойства главных компонент

1) Проекции объектов на первую главную компоненту c1\boldsymbol c_1 имеют наибольшую выборочную дисперсию среди проекций на всевозможные направления d\boldsymbol d в пространстве Rm\mathbb R^m.

Доказательство. Вектор проекций y\boldsymbol y на направление d\boldsymbol d (dTd=1\boldsymbol d^T\boldsymbol d = 1) задаётся равенством y=Xd\boldsymbol y = \boldsymbol X\boldsymbol d. Ввиду допущения Д1

yˉ=1n∑i=1nyi=1n∑i=1n∑l=1mxildl=∑l=1mxˉldl=0.\bar y = \frac1n\sum_{i=1}^ny_i = \frac1n\sum_{i=1}^n\sum_{l=1}^mx_{il}d_l = \sum_{l=1}^m\bar x_ld_l = 0.

Тогда выборочная дисперсия проекций на направление d\boldsymbol d равна

S2(d)=1n∑i=1nyi2=1nyTy=1n(Xd)TXd=dTΣ^d.(1)S^2(\boldsymbol d) = \frac1n\sum_{i=1}^ny_i^2 = \frac1n\boldsymbol y^T\boldsymbol y = \frac1n(\boldsymbol X\boldsymbol d)^T\boldsymbol X\boldsymbol d = \boldsymbol d^T\hat{\boldsymbol\Sigma}\boldsymbol d. \tag{1}

Тем самым задача сводится к максимизации по d\boldsymbol d квадратичной формы dTΣ^d\boldsymbol d^T\hat{\boldsymbol\Sigma}\boldsymbol d при условии dTd=1\boldsymbol d^T\boldsymbol d = 1. Применим метод неопределённых множителей Лагранжа. Приравнивая нулю частные производные по переменным dld_l функции Лагранжа

F(d,λ)=dTΣ^d−λ(dTd−1)=∑k=1m∑l=1mσ^kldkdl−λ∑l=1mdl2+λ,F(\boldsymbol d, \lambda) = \boldsymbol d^T\hat{\boldsymbol\Sigma}\boldsymbol d - \lambda(\boldsymbol d^T\boldsymbol d - 1) = \sum_{k=1}^m\sum_{l=1}^m\hat\sigma_{kl}d_kd_l - \lambda\sum_{l=1}^md_l^2 + \lambda,

приходим к системе (линейных относительно d1,…,dmd_1, \dots, d_m) уравнений

∂∂dlF(d,λ)=2∑k=1mσ^kldk−2λdl=0,l=1,…,m.\frac{\partial}{\partial d_l}F(\boldsymbol d, \lambda) = 2\sum_{k=1}^m\hat\sigma_{kl}d_k - 2\lambda d_l = 0, \qquad l = 1, \dots, m.

Её можно записать в матричной форме:

Σ^d−λd=0  ⟺  (Σ^−λE)d=0.(2)\hat{\boldsymbol\Sigma}\boldsymbol d - \lambda\boldsymbol d = \boldsymbol 0 \iff (\hat{\boldsymbol\Sigma} - \lambda\boldsymbol E)\boldsymbol d = \boldsymbol 0. \tag{2}

Поскольку dTd=1\boldsymbol d^T\boldsymbol d = 1, нас интересуют только ненулевые решения. Для них должно выполняться условие det⁡(Σ^−λE)=0\det(\hat{\boldsymbol\Sigma} - \lambda\boldsymbol E) = 0, то есть искомое направление d\boldsymbol d обязано быть собственным вектором Σ^\hat{\boldsymbol\Sigma}, отвечающим собственному значению λ\lambda. Умножая соотношение (2) на dT\boldsymbol d^T слева, получим dTΣ^d=λdTd=λ\boldsymbol d^T\hat{\boldsymbol\Sigma}\boldsymbol d = \lambda\boldsymbol d^T\boldsymbol d = \lambda. Левая часть есть S2(d)S^2(\boldsymbol d) (см. формулу (1)). Следовательно, λ\lambda должна равняться наибольшему собственному значению λ1\lambda_1 матрицы Σ^\hat{\boldsymbol\Sigma}, а d=c1\boldsymbol d = \boldsymbol c_1. ■\blacksquare

По кирпичикам: на каждом собственном векторе дисперсия проекций равна своему собственному значению. Значит, из всех «подозреваемых» побеждает тот, у кого λ\lambda больше всех, — то есть c1\boldsymbol c_1.

2) Второй собственный вектор c2\boldsymbol c_2 характеризуется тем, что выборочная дисперсия проекций объектов на ось c2\boldsymbol c_2 максимальна среди всех направлений d\boldsymbol d, ортогональных вектору c1\boldsymbol c_1, то есть таких, что dTc1=0\boldsymbol d^T\boldsymbol c_1 = 0.

Доказательство. Функция Лагранжа в этом случае выглядит так: F(d,λ,μ)=dTΣ^d−λ(dTd−1)−μ(dTc1−0)F(\boldsymbol d, \lambda, \mu) = \boldsymbol d^T\hat{\boldsymbol\Sigma}\boldsymbol d - \lambda(\boldsymbol d^T\boldsymbol d - 1) - \mu(\boldsymbol d^T\boldsymbol c_1 - 0). Вычисляя её частные производные по dld_l, приходим к системе

Σ^d−λd−μc1=0.(3)\hat{\boldsymbol\Sigma}\boldsymbol d - \lambda\boldsymbol d - \mu\boldsymbol c_1 = \boldsymbol 0. \tag{3}

Транспонируем равенство (3), умножим на c1\boldsymbol c_1 справа и воспользуемся тем, что c1\boldsymbol c_1 — собственный вектор с собственным значением λ1\lambda_1 (то есть Σ^c1=λ1c1\hat{\boldsymbol\Sigma}\boldsymbol c_1 = \lambda_1\boldsymbol c_1), а также условием dTc1=0\boldsymbol d^T\boldsymbol c_1 = 0:

dTΣ^c1−λdTc1−μc1Tc1=0  ⟺  λ1⋅0−λ⋅0−μ⋅1=0.\boldsymbol d^T\hat{\boldsymbol\Sigma}\boldsymbol c_1 - \lambda\boldsymbol d^T\boldsymbol c_1 - \mu\boldsymbol c_1^T\boldsymbol c_1 = 0 \iff \lambda_1\cdot0 - \lambda\cdot0 - \mu\cdot1 = 0.

Отсюда μ=0\mu = 0. С учётом этого из (3) вытекает, что d\boldsymbol d — собственный вектор матрицы Σ^\hat{\boldsymbol\Sigma} с собственным значением λ\lambda. Умножая равенство (3) слева на dT\boldsymbol d^T, выводим, что λ=λ2\lambda = \lambda_2 и d=c2\boldsymbol d = \boldsymbol c_2. ■\blacksquare

3) При l≥3l \ge 3 аналогично устанавливается, что cl\boldsymbol c_l — направление с наибольшей выборочной дисперсией проекций объектов среди направлений, ортогональных векторам c1,…,cl−1\boldsymbol c_1, \dots, \boldsymbol c_{l-1}.

4) Сумма выборочных дисперсий исходных признаков (столбцов матрицы X\boldsymbol X) σ^11+⋯+σ^mm=tr⁡Σ^\hat\sigma_{11} + \dots + \hat\sigma_{mm} = \operatorname{tr}\hat{\boldsymbol\Sigma} в силу подобия матриц Σ^\hat{\boldsymbol\Sigma} и Λ\boldsymbol\Lambda (см. П10) равна tr⁡Λ=λ1+⋯+λm=S2(c1)+⋯+S2(cm)\operatorname{tr}\boldsymbol\Lambda = \lambda_1 + \dots + \lambda_m = S^2(\boldsymbol c_1) + \dots + S^2(\boldsymbol c_m). То есть общий разброс сохраняется при повороте — он лишь перераспределяется по новым осям. Эта величина может рассматриваться как мера общего разброса объектов относительно их центра масс. Представляет интерес относительная доля разброса, приходящаяся на kk первых главных осей:

γk=(λ1+⋯+λk)/(λ1+⋯+λm),k≤m.\gamma_k = (\lambda_1 + \dots + \lambda_k)/(\lambda_1 + \dots + \lambda_m), \qquad k \le m.

Если эта величина при некотором kk достаточно близка к 1, то возможно уменьшение размерности пространства признаков за счёт перехода от mm исходных признаков к kk новым признакам — первым главным компонентам. На практике нередко удаётся ограничиться двумя или тремя компонентами без существенной потери информации. Объекты описываются координатами в новых осях, которым специалисты-прикладники, как правило, могут придать содержательную интерпретацию.

Математика приводит нас к дверям истины, но самих дверей не открывает.

— В. Ф. Одоевский

Смысл по-пацански: шесть признаков описывают череп, но на деле они «шепчутся» между собой: длинный череп — длинная челюсть. Главные компоненты собирают этот шёпот в одну громкую ось «общий размер», а то, что осталось, раскладывают по убыванию.

Пример 1. Собаки и волки

Найдём и интерпретируем главные компоненты для данных примера 4 главы 19. Напомним, что исходными признаками там были следующие:

  1. длина черепа;
  2. длина верхней челюсти;
  3. ширина верхней челюсти;
  4. длина верхнего карнивора;
  5. длина первого верхнего моляра;
  6. ширина первого верхнего моляра.

Очевидно, что при нормировке данных с помощью средних арифметических и стандартных отклонений признаков (N2 из §1 главы 19) выборочная ковариационная матрица Σ^\hat{\boldsymbol\Sigma} совпадает с выборочной корреляционной матрицей исходных признаков (рис. 3 у Лагутина; таблицу можно увидеть в §4 и в виджете ниже).

Обратим внимание, что длина черепа (признак 1) и длина верхней челюсти (признак 2) сильно коррелируют (ρ^12=0,96\hat\rho_{12} = 0{,}96), поэтому целесообразно оставить в модели только один из них. Признаки 4, 5 и 6, относящиеся к зубам, также очень тесно связаны между собой, поскольку ρ^45=0,89\hat\rho_{45} = 0{,}89, ρ^46=0,76\hat\rho_{46} = 0{,}76 и ρ^56=0,79\hat\rho_{56} = 0{,}79.

Собственные значения λk\lambda_k, соответствующие им доли следа λk/∑λl\lambda_k/\sum\lambda_l (в %) и накопленные доли γk\gamma_k (в %):

Номера компонент123456
Собственные значения4,1000,8830,6390,2590,0970,022
Проценты от следа68,314,710,74,31,60,4
Накопленные проценты68,383,093,798,099,6100,0

Мы пересчитали всё по таблице рис. 16 главы 19 (все 43 животных, включая неизвестное) — собственные значения и собственные векторы рис. 4 воспроизводятся до последнего знака.

На первые 3 компоненты приходится 93,7 % полной дисперсии «облака».

  • Первая компонента имеет смысл общего размера. Это следует из того, что все координаты у c1\boldsymbol c_1 одного знака и примерно одинаковы по величине (0,42–0,46): при проецировании на эту ось координаты нормированных признаков просто складываются.
  • Вторая компонента, по существу, отвечает за ширину верхней челюсти (признак 3), поскольку третья координата у c2\boldsymbol c_2 по абсолютной величине равна 0,89≈10{,}89 \approx 1. Эта ось отражает различие в пропорциях челюстей и отличает удлинённые формы от укороченных (гончих и колли от бульдогов и боксёров). На вторую ось волки проецируются в основном рядом с немецкими овчарками.
  • Третья ось противопоставляет размеры челюстей размерам зубов: первые три координаты у c3\boldsymbol c_3 примерно равны по абсолютной величине последним трём координатам, но противоположны по знаку. Другими словами, третья ось отражает относительную (по сравнению с размерами черепа) величину зубов. Она позволяет отличить животных с развитыми зубами (волки, немецкие овчарки, доберманы) от собак других пород (сенбернары, мастифы, сеттеры).

Главные компоненты: собаки и волки

Ось X:
Ось Y:
c1c2

компонентаc1c2c3c4c5c6
собственное значение4,1000,8830,6390,2590,0970,022
% от следа68,314,710,64,31,60,4
накоплено, %68,383,093,798,099,6100,0
1. длина черепа0,430,230,530,110,050,68
2. длина верхней челюсти0,430,380,390,01-0,20-0,69
3. ширина верхней челюсти0,23-0,890,37-0,02-0,00-0,13
4. длина верхнего карнивора0,44-0,07-0,40-0,53-0,580,18
5. длина первого верхнего моляра0,460,02-0,27-0,310,78-0,09
6. ширина первого верхнего моляра0,42-0,10-0,440,79-0,09-0,01
Синие клетки — положительные координаты собственных векторов, красные — отрицательные (рис. 4). 95 %-й асимптотический интервал для λ₁ при n = 43: от 2,88 до 7,1.

Поставь оси c1\boldsymbol c_1 и c3\boldsymbol c_3: волки уходят в сторону «больших относительно черепа зубов». А по c1\boldsymbol c_1 и c2\boldsymbol c_2 они сидят среди крупных собак — по общему размеру волка от овчарки не отличишь.

Смысл по-пацански: первая компонента говорит «большой или маленький», вторая — «морда длинная или короткая», третья — «зубы большие для такой башки или нет». Именно третья и выдаёт волка.

5) Наименьшее искажение геометрической структуры. Пусть MkM_k — это подпространство, натянутое на главные оси c1,…,ck\boldsymbol c_1, \dots, \boldsymbol c_k. Оказывается, при проецировании объектов на произвольное подпространство LkL_k размерности kk в Rm\mathbb R^m геометрическая структура искажается в наименьшей степени, если этим подпространством является MkM_k:

  • а) сумма квадратов расстояний от объектов до их проекций на LkL_k минимальна, когда Lk=MkL_k = M_k; в этом случае она равна n(λk+1+⋯+λm)n(\lambda_{k+1} + \dots + \lambda_m);
  • б) при проецировании на MkM_k наименее искажается сумма квадратов расстояний между всевозможными парами объектов; для MkM_k её изменение составляет n2(λk+1+⋯+λm)n^2(\lambda_{k+1} + \dots + \lambda_m);
  • в) когда Lk=MkL_k = M_k, в наименьшей степени искажаются расстояния от объектов до их центра масс (совпадающего с началом координат 0\boldsymbol 0 ввиду допущения Д1), а также углы между всевозможными парами прямых, соединяющих объекты с 0\boldsymbol 0.

Поясним последнее свойство. Рассмотрим матрицу скалярных произведений G=∥gij∥n×n=XXT\boldsymbol G = \|g_{ij}\|_{n\times n} = \boldsymbol X\boldsymbol X^T. Нетрудно понять геометрический смысл элементов этой матрицы:

  • gii=∑l=1mxil2g_{ii} = \sum_{l=1}^mx_{il}^2 представляет собой квадрат расстояния от ii-го объекта до 0\boldsymbol 0;
  • а при i≠ji \ne j величина gij=∑l=1mxilxjlg_{ij} = \sum_{l=1}^mx_{il}x_{jl} пропорциональна косинусу угла между прямыми, соединяющими ii-й и jj-й объекты с началом координат.

Обозначим через Y=∥yil∥n×m\boldsymbol Y = \|y_{il}\|_{n\times m} матрицу координат проекций объектов на подпространство LkL_k. Ей соответствует H=∥hij∥n×n=YYT\boldsymbol H = \|h_{ij}\|_{n\times n} = \boldsymbol Y\boldsymbol Y^T. Тогда при Lk=MkL_k = M_k достигается

min⁡Lk∣G−H∣2=n2(λk+12+⋯+λm2),(4)\min_{L_k}|\boldsymbol G - \boldsymbol H|^2 = n^2(\lambda_{k+1}^2 + \dots + \lambda_m^2), \tag{4}

где ∣A∣2=∑aij2|\boldsymbol A|^2 = \sum a_{ij}^2 — квадрат евклидовой нормы матрицы A\boldsymbol A.

Загрузка редактора…

Замечание 1. Проецирование на плоскость двух первых компонент часто применяется ещё на этапе классификации (выделения однородных групп). Расчёт тут такой: наибольший разброс данные будут иметь в направлениях, «соединяющих» центры групп, а значит, проекции на старшие главные компоненты обеспечат наилучшую «точку зрения» на данные, когда группы видны на наибольших расстояниях и не закрывают одна другую.

Замечание 2. Следует иметь в виду, что главные компоненты вычисляются по выборочной ковариационной матрице Σ^\hat{\boldsymbol\Sigma} и поэтому зависят от масштаба признаков. Скажем, если один из признаков принимает значения от 0 до 100, а другие — от 0 до 10, то независимо от структуры данных первый признак будет отождествляться с первой главной компонентой. Чтобы избежать этого, обычно перед вычислением главных компонент данные нормируют (см. §1 главы 19).

В виджете выше нажми «Без нормировки»: длина черепа в миллиметрах — числа порядка 200, ширина моляра — порядка 15, и первая «главная» компонента забирает 91 % разброса. При этом она почти целиком состоит из длины черепа и длины челюсти (координаты 0,88 и 0,47), а зубы в ней едва заметны.

Смысл по-пацански: главные компоненты слушают того, кто громче орёт. Без нормировки громче всех тот признак, который измерен в самых мелких единицах. Сначала всех «уравняй в правах» — потом крути оси.

Проверь себя

Тест

Собственные значения ковариационной матрицы: 5, 3, 1, 1. Какую долю общего разброса объясняют две первые главные компоненты?

Тест

У первой главной компоненты все координаты положительны и примерно равны. Как её обычно интерпретируют?
Обновлено