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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Метод главных компонент (англ. principal component analysis, PCA) — один из основных способов уменьшить размерность данных, потеряв наименьшее количество информации. Изобретён Карлом Пирсоном в 1901 году. Применяется во многих областях, в том числе, в эконометрике, биоинформатике, обработке изображений, для сжатия данных, в общественных науках[⇨].

Вычисление главных компонент сводится к вычислению собственных векторов и собственных значений ковариационной матрицы исходных данных. Иногда метод главных компонент называют преобразованием Кархунена — Лоэва[1] или преобразованием Хотеллинга (англ. Hotelling transform).

Содержание

Формальная постановка задачи[править | править вики-текст]

Задача анализа главных компонент имеет, как минимум, четыре базовых версии:

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

Первые три версии оперируют конечными множествами данных. Они эквивалентны и не используют никакой гипотезы о статистическом порождении данных. Четвёртая версия оперирует случайными величинами. Конечные множества появляются здесь как выборки из данного распределения, а решение трёх первых задач — как приближение к разложению по теореме Кархунена — Лоэва («истинному преобразованию Кархунена — Лоэва»). При этом возникает дополнительный и не вполне тривиальный вопрос о точности этого приближения.

Аппроксимация данных линейными многообразиями[править | править вики-текст]

Иллюстрация к знаменитой работе Пирсона (1901): даны точки  P_i на плоскости,   p_i — расстояние от   P_i до прямой  AB. Ищется прямая   AB, минимизирующая сумму \sum_i p_i^2

Метод главных компонент начинался с задачи наилучшей аппроксимации конечного множества точек прямыми и плоскостями (Пирсон, 1901). Дано конечное множество векторов x_1, x_2, \dots, x_m \in\mathbb{R}^n , для каждого  k = 0,1, \dots, n-1 среди всех k-мерных линейных многообразий в \mathbb{R}^n найти такое L_k \subset \mathbb{R}^n , что сумма квадратов уклонений  x_i от  L_k минимальна:

\sum_{i=1}^m \operatorname{dist}^2(x_i, L_k) \to \min,

где \operatorname{dist}(x_i, L_k)  — евклидово расстояние от точки до линейного многообразия. Всякое k -мерное линейное многообразие в \mathbb{R}^n  может быть задано как множество линейных комбинаций L_k = \{ a_0 +\beta_1 a_1 + \dots + \beta_k a_k | \beta_i \in \mathbb{R} \} , где параметры  \beta_i пробегают вещественную прямую \mathbb{R}, a_0 \in \mathbb{R}^n а \left\{a_1, \dots , a_k \right\} \subset \mathbb{R}^n — ортонормированный набор векторов

\operatorname{dist}^2(x_i, L_k) = \Vert x_i - a_0 - \sum_{j=1}^k a_j (a_j, x_i - a_0) \Vert ^2,

где \Vert \cdot \Vert  евклидова норма,  \left(a_j, x_i\right)  — евклидово скалярное произведение, или в координатной форме:

 \operatorname{dist}^2(x_i, L_k) = \sum_{l=1}^n \left(x_{il} - a_{0l}- \sum_{j=1}^k a_{jl} \sum_{q=1}^n a_{jq}(x_{iq} - a_{0q}) \right)^2 .

Решение задачи аппроксимации для   k = 0,1, \dots , n-1 даётся набором вложенных линейных многообразий L_0 \subset L_1 \subset \dots L_{n-1} , L_k = \{ a_0 +\beta_1 a_1 +...+ \beta_k a_k | \beta_i \in \mathbb{R} \} . Эти линейные многообразия определяются ортонормированным набором векторов \left\{a_1,..., a_{n-1} \right\} (векторами главных компонент) и вектором   a_0 . Вектор  a_0 ищется как решение задачи минимизации для  L_0 :

 a_0 = \underset{a_0\in\mathbb{R}^n}{\operatorname{argmin}} \left(\sum_{i=1}^m \operatorname{dist}^2(x_i, L_0)\right),

то есть

a_0 = \underset{a_0\in\mathbb{R}^n}{\operatorname{argmin}} \left (\sum_{i=1}^m \Vert x_i - a_0\Vert ^2\right) .

Это — выборочное среднее: a_0 = \frac{1}{m} \sum_{i=1}^m x_i = \overline{X}.

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

Векторы главных компонент могут быть найдены как решения однотипных задач оптимизации:

  1. Централизуются данные (вычитанием среднего): x_i := x_i - \overline{X}. Теперь \sum_{i=1}^m x_i =0 ;
  2. Отыскивается первая главная компонента как решение задачи:
    a_1 = \underset{\Vert a_1 \Vert =1}{\operatorname{argmin}} \left( \sum_{i=1}^m \Vert x_i - a_1 (a_1,x_i)\Vert ^2\right).
    если решение не единственно, то осуществляется выбор одного из них.
  3. Из данных вычитается проекция на первую главную компоненту:
    x_i := x_i - a_1 \left(a_1,x_i\right) ;
  4. Отыскивается вторая главная компонента как решение задачи:
    a_2 = \underset{\Vert a_2 \Vert =1}{\operatorname{argmin}} \left( \sum_{i=1}^m \Vert x_i - a_2 (a_2,x_i)\Vert ^2\right) .
    Если решение не единственно, то выбирается одно из них.

Далее процесс продолжается, то есть на шаге 2k-1 вычитается проекция на (k-1)-ю главную компоненту (к этому моменту проекции на предшествующие (k-2) главные компоненты уже вычтены):

x_i := x_i - a_{k-1} \left(a_{k-1},x_i\right) ;

и на шаге k определяется k-я главная компонента как решение задачи:

a_k = \underset{\Vert a_k \Vert =1}{\operatorname{argmin}} \left( \sum_{i=1}^m \Vert x_i - a_k (a_k,x_i)\Vert ^2\right) (если решение не единственно, то выбирается одно из них).

На каждом подготовительном шаге (2k-1) вычитается проекция на предшествующую главную компоненту. Найденные векторы \left\{a_1,..., a_{ n -1} \right\} ортонормированы просто в результате решения описанной задачи оптимизации, однако чтобы не дать ошибкам вычисления нарушить взаимную ортогональность векторов главных компонент, можно включать a_k \bot \{a_1,..., a_{k -1} \} в условия задачи оптимизации.

Неединственность в определении  a_k помимо тривиального произвола в выборе знака (  a_k и   -a_k решают ту же задачу) может быть более существенной и происходить, например, из условий симметрии данных. Последняя главная компонента  a_n — единичный вектор, ортогональный всем предыдущим  a_k.

Поиск ортогональных проекций с наибольшим рассеянием[править | править вики-текст]

Первая главная компонента максимизирует выборочную дисперсию проекции данных

Пусть нам дан центрированный набор векторов данных x_i\in\mathbb{R}^n \; (i=1,...,m) (среднее арифметическое значение  x_i равно нулю). Задача — найти такое ортогональное преобразование в новую систему координат, для которого были бы верны следующие условия:

  • Выборочная дисперсия данных вдоль первой координаты максимальна (эту координату называют первой главной компонентой);
  • Выборочная дисперсия данных вдоль второй координаты максимальна при условии ортогональности первой координате (вторая главная компонента);
  • Выборочная дисперсия данных вдоль значений k-ой координаты максимальна при условии ортогональности первым k-1 координатам;

Выборочная дисперсия данных вдоль направления, заданного нормированным вектором  a_k, это

S^2_m \left[ (X, a_k) \right ] =  \frac{1}{m} \sum\limits_{i=1}^m (a_k,x_i)^2 = \frac{1}{m} \sum\limits_{i=1}^m \left(\sum\limits_{j=1}^n x_{ij}a_{kj} \right)^2

(поскольку данные центрированы, выборочная дисперсия здесь совпадает со средним квадратом уклонения от нуля).

Решение задачи о наилучшей аппроксимации даёт то же множество главных компонент \left\{a_i\right\}, что и поиск ортогональных проекций с наибольшим рассеянием, по очень простой причине: \Vert x_i - a_k (a_k,x_i)\Vert ^2 = \Vert x_i\Vert ^2 - (a_k,x_i)^2, и первое слагаемое не зависит от  a_k.

Поиск ортогональных проекций с наибольшим среднеквадратичным расстоянием между точками[править | править вики-текст]

Ещё одна эквивалентная формулировка следует из очевидного тождества, верного для любых m векторов  x_i:

\frac{1}{m(m-1)}\sum_{i,j=1}^m (x_i-x_j)^2 =\frac{2m^2}{m(m-1)}\left[\frac{1}{m}\sum_{i=1}^m x_i^2 - \left(\frac{1}{m}\sum_{i}^m x_i \right)^2\right].

В левой части этого тождества стоит среднеквадратичное расстояние между точками, а в квадратных скобках справа — выборочная дисперсия. Таким образом, в методе главных компонент ищутся подпространства, в проекции на которые среднеквадратичное расстояние между точками максимально (или, что то же самое, его искажение в результате проекции минимально)[2]. Такая переформулировка позволяет строить обобщения с взвешиванием различных парных расстояний (а не только точек).

Аннулирование корреляций между координатами[править | править вики-текст]

Для заданной  n-мерной случайной величины  X найти такой ортонормированный базис, \left\{a_1,..., a_n \right\}, в котором коэффициент ковариации между различными координатами равен нулю. После преобразования к этому базису

\operatorname{cov}(X_i,X_j)=0 для i \neq j .

Здесь  \operatorname{cov}(X_i,X_j)= \operatorname{E}[(X_i-\overline{X_i})(X_j-\overline{X_j})]  — коэффициент ковариации.

Диагонализация ковариационной матрицы[править | править вики-текст]

Все задачи о главных компонентах приводят к задаче диагонализации ковариационной матрицы или выборочной ковариационной матрицы. Эмпирическая или выборочная ковариационная матрица, это

C = [c_{ij}],\ c_{ij} = \frac{1}{m-1} \sum_{l=1}^m (x_{li}-\overline{X_{i}})(x_{lj}-\overline{X_{j}}).

Ковариационная матрица многомерной случайной величины  X, это

\Sigma = [\sigma_{ij}],\ \sigma_{ij} = \operatorname{cov}(X_i,X_j)=E[(X_i-E X_i)(X_j-E X_j)].

Векторы главных компонент для задач о наилучшей аппроксимации и о поиске ортогональных проекций с наибольшим рассеянием — это ортонормированный набор  \left\{a_1,..., a_n \right\} собственных векторов эмпирической ковариационной матрицы C, расположенных в порядке убывания собственных значений \lambda: \lambda_1 \ge \lambda_2 \ge ... \ge \lambda_n \ge 0. Эти векторы служат оценкой для собственных векторов ковариационной матрицы \operatorname{cov}(X_i,X_j) . В базисе из собственных векторов ковариационной матрицы она, естественно, диагональна, и в этом базисе коэффициент ковариации между различными координатами равен нулю.

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

Сингулярное разложение матрицы данных[править | править вики-текст]

Идея сингулярного разложения[править | править вики-текст]

Математическое содержание метода главных компонент — это спектральное разложение ковариационной матрицы  C , то есть представление пространства данных в виде суммы взаимно ортогональных собственных подпространств  C , а самой матрицы  C  — в виде линейной комбинации ортогональных проекторов на эти подпространства с коэффициентами  \lambda_i . Если \operatorname{X}=\left\{x_1,..., x_m \right\}^T — матрица, составленная из векторов-строк (размерности n) центрированных данных, то  C =\frac{1}{m-1} \operatorname{X}^T\operatorname{X} и задача о спектральном разложении ковариационной матрицы C превращается в задачу о сингулярном разложении матрицы данных \operatorname{X}.

Число  \sigma \geq 0 называется сингулярным числом матрицы \operatorname{X} тогда и только тогда, когда существуют правый и левый сингулярные векторы: такие m-мерный вектор-строка b_{\sigma} и n-мерный вектор-столбец a_{\sigma} (оба единичной длины), что выполнено два равенства:

\operatorname{X} a_{\sigma} = \sigma b_{\sigma}^T ;\, \, b_{\sigma} \operatorname{X}= \sigma a_{\sigma}^T.

Пусть p= \operatorname{rang} \operatorname{X} \leq \min\{n,m\} — ранг матрицы данных. Сингулярное разложение матрицы данных \operatorname{X} — это её представление в виде

\operatorname{X}= \sum_{l=1}^p \sigma_l b_l^T a_l^T ; \;\operatorname{X}^T= \sum_{l=1}^p \sigma_l a_l b_l \; \left(x_{ij}=\sum_{l=1}^p \sigma_l b_{li}a_{lj}\right),

где \sigma_l > 0 — сингулярное число, a_l=(a_{li}), \, i=1,... n — соответствующий правый сингулярный вектор-столбец, а b_l=(b_{li}), \, i=1,... m — соответствующий левый сингулярный вектор-строка (l=1,...p). Правые сингулярные векторы-столбцы a_l, участвующие в этом разложении, являются векторами главных компонент и собственными векторами эмпирической ковариационной матрицы C =\frac{1}{m-1}\operatorname{X} ^T \operatorname{X} , отвечающими положительным собственным числам  \lambda_l=\frac{1}{m-1}\sigma_l^2 > 0 .

Хотя формально задачи сингулярного разложения матрицы данных и спектрального разложения ковариационной матрицы совпадают, алгоритмы вычисления сингулярного разложения напрямую, без вычисления ковариационной матрицы и её спектра, более эффективны и устойчивы[3].

Теория сингулярного разложения была создана Джеймсом Джозефом Сильвестром в 1889 году и изложена во всех подробных руководствах по теории матриц[4].

Простой итерационный алгоритм сингулярного разложения[править | править вики-текст]

Основная процедура — поиск наилучшего приближения произвольной m \times n матрицы X=(x_{ij}) матрицей вида b \otimes a = (b_i a_j) (где b — m-мерный вектор, а a — n-мерный вектор) методом наименьших квадратов:

F(b, a) = \frac{1}{2}\sum_{i=1}^m \sum_{j=1}^n (x_{ij} - b_i a_j )^2 \to \min

Решение этой задачи дается последовательными итерациями по явным формулам. При фиксированном векторе a=(a_j) значения b=(b_i) , доставляющие минимум форме F(b, a) , однозначно и явно определяются из равенств \partial F/ \partial b_i = 0 :

\frac{\partial F}{\partial b_i} = - \sum_{j=1}^n (x_{ij} - b_i a_j )a_j = 0; \;\; b_i = \frac{\sum_{j=1}^n x_{ij}  a_j}{\sum_{j=1}^n a_j^2 }\, .

Аналогично, при фиксированном векторе b =(b_ i) определяются значения a=(a_j) :

a_j = \frac{\sum_{i=1}^m b_i x_{ij} }{\sum_{i =1}^m b_i ^2 }\, .

B качестве начального приближения вектора a берётся случайный вектор единичной длины, вычисляем вектор b, далее для этого вектора b вычисляем вектор a и т. д. Каждый шаг уменьшает значение F(b, a) . В качестве критерия остановки используется малость относительного уменьшения значения минимизируемого функционала F(b, a) за шаг итерации (\Delta F / F ) или малость самого значения F.

В результате для матрицы X=(x_{ij}) получается наилучшее приближение матрицей P_1 вида b^1 \otimes a^1 = (b_i^1  a_j^1) (здесь верхним индексом обозначен номер приближения). Далее, из матрицы X вычитается полученная матрицу P_1, и для полученной матрицы уклонений X_1=X-P_1 вновь ищется наилучшее приближение P_2 этого же вида и т. д., пока, например, норма X_k не станет достаточно малой. В результате получили итерационную процедуру разложения матрицы X в виде суммы матриц ранга 1, то есть X=P_1+P_2+... +P_q  \;  (P_l = b^l \otimes a^l) . Полагаем  \sigma_l = \|a^l\| \|b^l\| и нормируем векторы  a^l \, , \, b^l: a^l:= a^l/ \| a^l\|; \, \, b^l:= b^l/ \| b^l\|. В результате получена аппроксимация сингулярных чисел  \sigma_l и сингулярных векторов (правых —  a^l и левых — b^l).

К достоинствам этого алгоритма относится его исключительная простота и возможность почти без изменений перенести его на данные с пробелами[5], а также взвешенные данные.

Существуют различные модификации базового алгоритма, улучшающие точность и устойчивость. Например, векторы главных компонент a^l при разных l должны быть ортогональны «по построению», однако при большом числе итерации (большая размерность, много компонент) малые отклонения от ортогональности накапливаются и может потребоваться специальная коррекция a^l на каждом шаге, обеспечивающая его ортогональность ранее найденным главным компонентам.

Для квадратных симметричных положительно определённых матриц описанный алгоритм превращается в метод прямых итераций для поиска собственных векторов (см. статью Собственные векторы, значения и пространства).

Сингулярное разложение тензоров и тензорный метод главных компонент[править | править вики-текст]

Часто вектор данных имеет дополнительную структуру прямоугольной таблицы (например, плоское изображение) или даже многомерной таблицы — то есть тензора: x_{i_{1}i_{2}...i_{q}}, 1 \leq i_{j} \leq n_j. В этом случае также эффективно применять сингулярное разложение. Определение, основные формулы и алгоритмы переносятся практически без изменений: вместо матрицы данных имеем q+1-индексную величину \operatorname{X}=(x_{i_{0}i_{1}i_{2}...i_{q}}), где первый индекс i_{0}-номер точки (тензора) данных.

Основная процедура — поиск наилучшего приближения тензора x_{i_{0}i_{1}i_{2}...i_{q}} тензором вида a^0_{i_{0}} a^1_{i_{1}}a^2_{i_{2}}...a^q_{i_{q}} (где a^0=(a^0_{i_{0}}) — m-мерный вектор (m — число точек данных), a^l=(a^l_{i_{l}}) — вектор размерности n_l при l>0) методом наименьших квадратов:

F= \frac{1}{2}\sum_{i_{0}=1}^m \sum_{i_{1}=1}^{n_1}...\sum_{i_{q}=1}^{n_q} (x_{i_{0}i_{1}...i_{q}} - a^0_{i_{0}} a^1_{i_{1}}...a^q_{i_{q}})^2 \to \min

Решение этой задачи дается последовательными итерациями по явным формулам. Если заданы все векторы-сомножители кроме одного a^k_{i_{k}}, то этот оставшийся определяется явно из достаточных условий минимума.

a^k_{i_{k}}= \frac{\sum_{i_{0}=1}^m
\sum_{i_{1}=1}^{n_1}...\sum_{i_{k-1}=1}^{n_{k-1}}\sum_{i_{k+1}=1}^{n_{k+1}}...\sum_{i_{q}=1}^{n_{q}}
x_{i_{0}i_{1}...i_{k-1}i_{k}i_{k+1}...i_{q}} a^0_{i_{0}}
a^{k-1}_{i_{k-1}}a^{k+1}_{i_{k+1}}...a^q_{i_{q}}}{\prod_{j\neq k}
\|a^j\|^2 }\, .

B качестве начального приближения векторов a^l=(a^l_{i_{l}}) (l>0) берутся случайные векторы единичной длины, вычислим вектор a^0, далее для этого вектора a^0 и данных векторов a^2 , a^3, ... вычисляется вектор a^1 и так далее (циклически перебирая индексы). Каждый шаг уменьшает значение F(b, a). Алгоритм, очевидно, сходится. В качестве критерия остановки используется малость относительного уменьшения значения минимизируемого функционала F за цикл или малость самого значения F. Далее, из тензора \operatorname {X} вычитается полученное приближение a^0_{i_{0}} a^1_{i_{1}}a^2_{i_{2}}...a^q_{i_{q}} и для остатка вновь ищется наилучшее приближение этого же вида и т. д., пока, например, норма очередного остатка не станет достаточно малой.

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

Матрица преобразования к главным компонентам[править | править вики-текст]

Матрица A преобразования данных к главным компонентам состоит из векторов главных компонент, расположенных в порядке убывания собственных значений:

A=\left \{a_1,...,a_n \right \}^T ({\,}^T означает транспонирование),

причём

A A^T=1.

То есть, матрица A является ортогональной.

Большая часть вариации данных будет сосредоточена в первых координатах, что позволяет перейти к пространству меньшей размерности.

Остаточная дисперсия[править | править вики-текст]

Пусть данные центрированы, \overline{ X}=0. При замене векторов данных  x_i на их проекцию на первые  k главных компонент x_i \mapsto \sum_{j=1}^k a_j (a_j, x_i) вносится средний квадрат ошибки в расчете на один вектор данных:

\frac{1}{m} \sum_{i=1}^m \left\Vert x_i - \sum_{j=1}^k a_j (a_j, x_i) \right \Vert ^2=\sum_{l=k+1}^n \lambda_l,

где \lambda_1 \ge \lambda_2 \ge ... \ge \lambda_n \ge 0 собственные значения эмпирической ковариационной матрицы C, расположенные в порядке убывания, с учетом кратности.

Эта величина называется остаточной дисперсией. Величина

\frac{1}{m} \sum_{i=1}^m \left\Vert \sum_{j=1}^k a_j (a_j, x_i) \right \Vert ^2=
\frac{1}{m} \sum_{i=1}^m  \sum_{j=1}^k (a_j, x_i)^2=\sum_{l=1}^k \lambda_l

называется объяснённой дисперсией. Их сумма равна выборочной дисперсии. Соответствующий квадрат относительной ошибки — это отношение остаточной дисперсии к выборочной дисперсии (то есть доля необъяснённой дисперсии):

\delta^2_k=\frac{\lambda_{k+1}+\lambda_{k+2}+...+\lambda_{n}}{\lambda_{1}+\lambda_{2}+...+\lambda_{n}}.

По относительной ошибке  \delta_k оценивается применимость метода главных компонент с проецированием на первые  k компонент.

Замечание: в большинстве вычислительных алгоритмов собственные числа  \lambda_i с соответствующими собственными векторами — главными компонентами  a_i вычисляются в порядке «от больших  \lambda_i — к меньшим». Для вычисления  \delta_k достаточно вычислить первые  k собственных чисел и след эмпирической ковариационной матрицы C, \operatorname{tr} C (сумму диагональных элементов C, то есть дисперсий по осям). Тогда

\delta^2_k=\frac{1}{\operatorname{tr} C}\left(\operatorname{tr} C -\sum_{i=1}^k \lambda_{i}\right).

Отбор главных компонент по правилу Кайзера[править | править вики-текст]

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

Вопрос: как оценить число необходимых главных компонент, если отношение «сигнал/шум» заранее неизвестно?

Простейший и старейший метод отбора главных компонент даёт правило Кайзера (англ. Kaiser's rule): значимы те главные компоненты, для которых

\lambda_i > \frac{1}{n} \operatorname{tr} C ,

то есть \lambda_i превосходит среднее значение \lambda (среднюю выборочную дисперсию координат вектора данных). Правило Кайзера хорошо работает в простых случаях, когда есть несколько главных компонент с \lambda_i , намного превосходящими среднее значение, а остальные собственные числа меньше него. В более сложных случаях оно может давать слишком много значимых главных компонент. Если данные нормированы на единичную выборочную дисперсию по осям, то правило Кайзера приобретает особо простой вид: значимы только те главные компоненты, для которых \lambda_i > 1 .

Оценка числа главных компонент по правилу сломанной трости[править | править вики-текст]

Пример: оценка числа главных компонент по правилу сломанной трости в размерности 5.

Одним из наиболее популярных эвристических подходов к оценке числа необходимых главных компонент является правило сломанной трости (англ. Broken stick model)[6]. Набор нормированных на единичную сумму собственных чисел (\lambda_i / \operatorname{tr} C, i=1,...n) сравнивается с распределением длин обломков трости единичной длины, сломанной в n-1-й случайно выбранной точке (точки разлома выбираются независимо и равнораспределены по длине трости). Пусть L_i (i=1,...n) — длины полученных кусков трости, занумерованные в порядке убывания длины: L_1 \geq L_2 \geq... L_n. Нетрудно найти математическое ожидание L_i:

l_i=\operatorname{E}(L_i)=\frac{1}{n}\sum_{j=i}^{n} \frac{1}{j}.

По правилу сломанной трости k-й собственный вектор (в порядке убывания собственных чисел \lambda_i) сохраняется в списке главных компонент, если

\frac{\lambda_1}{\operatorname{tr} C}>l_1 \; and \; \frac{\lambda_2}{\operatorname{tr} C}>l_2  \; and \; ... \frac{\lambda_k}{\operatorname{tr} C}>l_k .

На Рис. приведён пример для 5-мерного случая:

l_1=(1+1/2+1/3+1/4+1/5)/5; l_2=(1/2+1/3+1/4+1/5)/5; l_3=(1/3+1/4+1/5)/5; l_4=(1/4+1/5)/5; l_5=(1/5)/5.

Для примера выбрано

\frac{\lambda_1}{\operatorname{tr} C}=0.5; \frac{\lambda_2}{\operatorname{tr} C}=0.3; \frac{\lambda_3}{\operatorname{tr} C}=0.1; \frac{\lambda_4}{\operatorname{tr} C}=0.06; \frac{\lambda_5}{\operatorname{tr} C}=0.04.

По правилу сломанной трости в этом примере следует оставлять 2 главных компоненты:

\frac{\lambda_1}{\operatorname{tr} C}>l_1 \;; \; \frac{\lambda_2}{\operatorname{tr} C}>l_2 \;; \;\frac{\lambda_3}{\operatorname{tr} C}<l_3\;.

По оценкам пользователей, правило сломанной трости имеет тенденцию занижать количество значимых главных компонент.

Нормировка[править | править вики-текст]

Нормировка после приведения к главным компонентам[править | править вики-текст]

После проецирования на первые  k главных компонент с \lambda_1 \ge \lambda_2 \ge ... \ge \lambda_k > 0 удобно произвести нормировку на единичную (выборочную) дисперсию по осям. Дисперсия вдоль  iй главной компоненты равна \lambda_i > 0 \; (1 \le i \le k), поэтому для нормировки надо разделить соответствующую координату на  \sqrt{ \lambda_i}. Это преобразование не является ортогональным и не сохраняет скалярного произведения. Ковариационная матрица проекции данных после нормировки становится единичной, проекции на любые два ортогональных направления становятся независимыми величинами, а любой ортонормированный базис становится базисом главных компонент (напомним, что нормировка меняет отношение ортогональности векторов). Отображение из пространства исходных данных на первые  k главных компонент вместе с нормировкой задается матрицей

K=\left \{\frac{a_1}{\sqrt{ \lambda_1}},\frac{a_2}{\sqrt{ \lambda_2}},...,\frac{a_k}{\sqrt{ \lambda_k}} \right \}^T.

Именно это преобразование чаще всего называется преобразованием Кархунена — Лоэва. Здесь  a_i — векторы-столбцы, а верхний индекс  T означает транспонирование.

Нормировка до вычисления главных компонент[править | править вики-текст]

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

Есть три существенно различных стандартных подхода к такой нормировке: на единичную дисперсию по осям (масштабы по осям равны средним квадратичным уклонениям — после этого преобразования ковариационная матрица совпадает с матрицей коэффициентов корреляции), на равную точность измерения (масштаб по оси пропорционален точности измерения данной величины) и на равные требования в задаче (масштаб по оси определяется требуемой точностью прогноза данной величины или допустимым её искажением — уровнем толерантности). На выбор предобработки влияют содержательная постановка задачи, а также условия сбора данных (например, если коллекция данных принципиально не завершена и данные будут ещё поступать, то нерационально выбирать нормировку строго на единичную дисперсию, даже если это соответствует смыслу задачи, поскольку это предполагает перенормировку всех данных после получения новой порции; разумнее выбрать некоторый масштаб, грубо оценивающий стандартное отклонение, и далее его не менять).

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

Механическая аналогия и метод главных компонент для взвешенных данных[править | править вики-текст]

Если сопоставить каждому вектору данных единичную массу, то эмпирическая ковариационная матрица  C совпадёт с тензором инерции этой системы точечных масс (делённым на полную массу  m), а задача о главных компонентах — с задачей приведения тензора инерции к главным осям. Можно использовать дополнительную свободу в выборе значений масс для учета важности точек данных или надежности их значений (важным данным или данным из более надежных источников приписываются бо́льшие массы). Если вектору данных  x_l придаётся масса  w_l, то вместо эмпирической ковариационной матрицы  C получим

C^w = [c^w_{ij}],\ c^w_{ij} = \frac{1}{\sum_{l} w_l} \sum_{l=1}^m w_l(x_{li}-\overline{X_{i}})(x_{lj}-\overline{X_{j}}).

Все дальнейшие операции по приведению к главным компонентам производятся так же, как и в основной версии метода: ищется ортонормированный собственный базис  C^w, упорядочивается по убыванию собственных значений, оценивается средневзвешенная ошибка аппроксимации данных первыми k компонентами (по суммам собственных чисел  C^w), проводится нормировка и так далее.

Более общий способ взвешивания даёт максимизация взвешенной суммы попарных расстояний[7] между проекциями. Для каждых двух точек данных, x_l , \ x_q вводится вес d_{lq}; d_{lq}=d_{ql} и d_{l}=\sum_{q=1}^m d_{lq}. Вместо эмпирической ковариационной матрицы  C используется

C^d = [c^d_{ij}],\ c^d_{ij} =\sum_{l=1}^m d_l (x_{li}-\overline{X_{i}})(x_{lj}-\overline{X_{j}})  -\sum_{l \neq q, \ l,q=1}^m d_{lq}(x_{li} - \overline{X_{i}})(x_{qj}- \overline{X_{j}}).

При d_{lq}>0 симметричная матрица C^d положительно определена, поскольку положительна квадратичная форма:

\sum_{ij} c^d_{ij}a_i a_j = \frac{1}{2}\sum_{lq}d_{lq}\left(\sum_ia_i(x_{li}-x_{qi})\right)^2.

Далее ищем ортонормированный собственный базис  C^d, упорядочиваем его по убыванию собственных значений, оцениваем средневзвешенную ошибку аппроксимации данных первыми  k компонентами и т. д. — в точности так же, как и в основном алгоритме.

Этот способ применяется при наличии классов: для x_l , \ x_q из разных классов вес d_{lq} вес выбирается бо́льшим, чем для точек одного класса. В результате, в проекции на взвешенные главные компоненты различные классы «раздвигаются» на большее расстояние.

Другое применение — снижение влияния больших уклонений, так называемых аутлайеров (англ. outlier), которые могут искажать картину из-за использования среднеквадратичного расстояния: если выбрать d_{lq}=1/ \| x_l -x_q \|, то влияние больших уклонений будет уменьшено. Таким образом, описанная модификация метода главных компонент является более робастной, чем классическая.

Специальная терминология[править | править вики-текст]

В статистике при использовании метода главных компонент используют несколько специальных терминов.

  • Матрица данных — \mathbf{X}=\{x_1,... x_m\}^T; каждая строка — вектор предобработанных данных (центрированных и правильно нормированных), число строк — m (количество векторов данных), число столбцов — n (размерность пространства данных);
  • Матрица нагрузок (англ. loadings) — \mathbf{P}=\{a_1,... a_k\}; каждый столбец — вектор главных компонент, число строк — n (размерность пространства данных), число столбцов — k (количество векторов главных компонент, выбранных для проецирования);
  • Матрица счетов (англ. scores — \mathbf{T}=[t_{ij}]; \; t_{ij}=(x_i,a_j); каждая строка — проекция вектора данных на k главных компонент; число строк — m (количество векторов данных), число столбцов — k (количество векторов главных компонент, выбранных для проецирования);
  • Матрица Z-счетов ({{lang-en|Z-scores) \mathbf{Z}=[z_{ij}]; \; z_{ij}=\frac{(x_i,a_j)}{\sqrt{ \lambda_j}}; каждая строка — проекция вектора данных на k главных компонент, нормированная на единичную выборочную дисперсию; число строк — m (количество векторов данных), число столбцов — k (количество векторов главных компонент, выбранных для проецирования);
  • Матрица ошибок (или остатков) (англ. errors или residuals) - \mathbf{E}=\mathbf{X}-\mathbf{T}\mathbf{P}^T.
  • Основная формула: \mathbf{X}=\mathbf{T}\mathbf{P}^T+\mathbf{E}.

Пределы применимости и ограничения эффективности метода[править | править вики-текст]

Построение ветвящихся главных компонент методом топологических грамматик. Крестики — точки данных, красное дерево с желтыми узлами — аппроксимирующий дендрит[8].

Метод главных компонент применим всегда. Распространённое утверждение о том, что он применим только к нормально распределённым данным (или для распределений, близких к нормальным) неверно: в исходной формулировке Пирсона ставится задача об аппроксимации конечного множества данных и отсутствует даже гипотеза о их статистическом порождении, не говоря уж о распределении.

Однако метод не всегда эффективно снижает размерность при заданных ограничениях на точность  \delta_k. Прямые и плоскости не всегда обеспечивают хорошую аппроксимацию. Например, данные могут с хорошей точностью следовать какой-нибудь кривой, а эта кривая может быть сложно расположена в пространстве данных. В этом случае метод главных компонент для приемлемой точности потребует нескольких компонент (вместо одной), или вообще не даст снижения размерности при приемлемой точности. Для работы с такими «кривыми» главными компонентами изобретен метод главных многообразий[9] и различные версии нелинейного метода главных компонент[10][11]. Больше неприятностей могут доставить данные сложной топологии. Для их аппроксимации также изобретены различные методы, например самоорганизующиеся карты Кохонена, нейронный газ[12] или топологические грамматики[8]. Если данные статистически порождены с распределением, сильно отличающимся от нормального, то для аппроксимации распределения полезно перейти от главных компонент к независимым компонентам[13], которые уже не ортогональны в исходном скалярном произведении. Наконец, для изотропного распределения (даже нормального) вместо эллипсоида рассеяния получаем шар, и уменьшить размерность методами аппроксимации невозможно.

Примеры использования[править | править вики-текст]

Визуализация данных[править | править вики-текст]

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

Первым выбором в визуализации множества данных является ортогональное проецирование на плоскость первых двух главных компонент (или 3-мерное пространство первых трёх главных компонент). Плоскость проектирования является, по сути плоским двумерным «экраном», расположенным таким образом, чтобы обеспечить «картинку» данных с наименьшими искажениями. Такая проекция будет оптимальна (среди всех ортогональных проекций на разные двумерные экраны) в трех отношениях:

  1. Минимальна сумма квадратов расстояний от точек данных до проекций на плоскость первых главных компонент, то есть экран расположен максимально близко по отношению к облаку точек.
  2. Минимальна сумма искажений квадратов расстояний между всеми парами точек из облака данных после проецирования точек на плоскость.
  3. Минимальна сумма искажений квадратов расстояний между всеми точками данных и их «центром тяжести».

Визуализация данных является одним из наиболее широко используемых приложений метода главных компонент и его нелинейных обобщений[2].

Компрессия изображений и видео[править | править вики-текст]

Для уменьшения пространственной избыточности пикселей при кодировании изображений и видео используется линейное преобразование блоков пикселей. Последующие квантования полученных коэффициентов и кодирование без потерь позволяют получить значительные коэффициенты сжатия. Использование преобразования PCA в качестве линейного преобразования является для некоторых типов данных оптимальным с точки зрения размера полученных данных при одинаковом искажении[14]. На данный момент этот метод активно не используется, в основном из-за большой вычислительной сложности. Также сжатия данных можно достичь отбрасывая последние коэффициенты преобразования.

Подавление шума на изображениях[править | править вики-текст]

Основная суть метода[15] — при удалении шума из блока пикселей представить окрестность этого блока в виде набора точек в многомерном пространстве, применить к нему PCA и оставить только первые компоненты преобразования. При этом предполагается, что в первых компонентах содержится основная полезная информация, оставшиеся же компоненты содержат ненужный шум. Применив обратное преобразование после редукции базиса главных компонент, мы получим изображение без шума.

Индексация видео[править | править вики-текст]

Основная идея — представить при помощи PCA каждый кадр видео несколькими значениями, которые в дальнейшем будут использоваться при построении базы данных и запросам к ней. Столь существенная редукция данных позволяет значительно увеличить скорость работы и устойчивость к ряду искажений в видео.

Биоинформатика[править | править вики-текст]

Рис. А. Проекция ДНК-блуждания на первые 2 главные компоненты для генома бактерии Streptomyces coelicolor
Рис. Б. Проекция ДНК-блуждания на первые 3 главные компоненты для генома бактерии Streptomyces coelicolor. Вращение применяется для визуализации трехмерной конфигурации

Метод главных компонент интенсивно используется в биоинформатике для сокращения размерности описания, выделения значимой информации, визуализации данных и др. Один из распространённых вариантов использования — анализ соответствий[16][17][18]. На иллюстрациях (Рис. А, Б) генетический текст[19] представлен как множество точек в 64-мерном пространстве частот триплетов. Каждая точка соответствует фрагменту ДНК в скользящем окне длиной 300 нуклеотидов (ДНК-блуждание). Этот фрагмент разбивается на неперекрывающиеся триплеты, начиная с первой позиции. Относительные частоты этих триплетов в фрагменте и составляют 64-мерный вектор. На Рис. А представлена проекция на первые 2 главные компоненты для генома бактерии Streptomyces coelicolor. На Рис. Б представлена проекция на первые 3 главные компоненты. Оттенками красного и коричневого выделены фрагменты кодирующих последовательностей в прямой цепи ДНК, а оттенками зелёного выделены фрагменты кодирующих последовательностей в обратной цепи ДНК. Чёрным помечены фрагменты, принадлежащие некодирующей части. Анализ методом главных компонент большинства известных бактериальных геномов представлен на специализированном сайте[20].

Хемометрика[править | править вики-текст]

Метод главных компонент — один из основных методов в хемометрике. Позволяет разделить матрицу исходных данных X на две части: «содержательную» и «шум».

Психодиагностика[править | править вики-текст]

Психодиагностика является одной из наиболее разработанных областей приложения метода главных компонент[21]. Стратегия использования основывается на гипотезе об автоинформативности экспериментальных данных, которая подразумевает, что диагностическую модель можно создать путем аппроксимации геометрической структуры множества объектов в пространстве исходных признаков. Хорошую линейную диагностическую модель удается построить, когда значительная часть исходных признаков внутренне согласованна. Если эта внутренняя согласованность отражает искомый психологический конструкт, то параметры линейной диагностической модели (веса признаков) дает метод главных компонент.

Эконометрика[править | править вики-текст]

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

Социология[править | править вики-текст]

В социологии метод необходим для решения первых двух основных задач[22]:

  1. анализ данных (описание результатов опросов или других исследований, представленных в виде массивов числовых данных);
  2. описание социальных явлений (построение моделей явлений, в том числе и математических моделей).

Политология[править | править вики-текст]

В политологии метод главных компонент был основным инструментом проекта «Политический атлас современности»[23] для линейного и нелинейного анализа рейтингов 192 стран мира по пяти специально разработанным интегральным индексам (уровня жизни, международного влияния, угроз, государственности и демократии). Для картографии результатов этого анализа разработана специальная геоинформационная система, объединяющая географическое пространство с пространством признаков. Также созданы карты данных политического атласа, использующие в качестве подложки двумерные главные многообразия в пятимерном пространстве стран. Отличие карты данных от географической карты заключается в том, что на географической карте рядом оказываются объекты, которые имеют сходные географические координаты, в то время как на карте данных рядом оказываются объекты (страны) с похожими признаками (индексами).

Сокращение размерности динамических моделей[править | править вики-текст]

Проклятие размерности затрудняет моделирование сложных систем. Сокращение размерности модели — необходимое условие успеха моделирования. Для достижения этой цели создана разветвленная математическая технология. Метод главных компонент также используется в этих задачах (часто под названием истинное или собственное ортогональное разложение — англ. proper orthogonal decomposition (POD)). Например, при описании динамики турбулентности динамические переменные — поле скоростей — принадлежат бесконечномерному пространству (или, если представлять поле его значениями на достаточно мелкой сетке, — конечномерному пространству большой размерности). Можно набрать большую коллекцию мгновенных значений полей и применить к этому множеству многомерных «векторов данных» метод главных компонент. Эти главные компоненты называются также эмпирические собственные векторы. В некоторых случаях (структурная турбулентность) метод дает впечатляющее сокращение размерности[24] Другие области применения этой техники сокращения динамических моделей чрезвычайно разнообразны — от теоретических основ химической технологии до океанологии и климатологии.

Альтернативы и обобщения[править | править вики-текст]

Метод главных компонент — наиболее распространённый подход к снижению размерности[en], однако существуют и другие способы, в частности, метод независимых компонент, многомерное шкалирование, а также многочисленные нелинейные обобщения: метод главных кривых и многообразий, метод упругих карт, поиск наилучшей проекции (англ. Projection Pursuit), нейросетевые методы «узкого горла», самоорганизующиеся карты Кохонена.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Фактически, метод является эмпирической реализацией теоремы Кархунена — Лоэва, согласно которой любой случайный процесс может быть представлен в виде бесконечного ряда ортогональных функций. В русскоязычной научной литературе распространено также написание «преобразование Карунена — Лоэва», соответствующее английскому прочтению финской фамилии
  2. 1 2 Зиновьев А. Ю., Визуализация многомерных данных, Красноярск, Изд. КГТУ, 2000.
  3. Bau III, D., Trefethen, L. N., Numerical linear algebra, Philadelphia: Society for Industrial and Applied Mathematics, 1997. (Lecture 31) ISBN 978-0-89871-361-9
  4. Гантмахер Ф. Р., Теория матриц. — М.: Наука, 1966. — 576 стр.
  5. Россиев А. А.,: Итерационное моделирование неполных данных с помощью многообразий малой размерности, Изд-во СО РАН, 2005.
  6. Cangelosi R. , Goriely A., Component retention in principal component analysis with application to cDNA microarray data, Biology Direct 2007, 2:2. А также на сайте PCA.
  7. Koren Y., Carmel L., Robust linear dimensionality reduction, IEEE Transactions on Visualisation and Computer Graphics, 10 (4) (2004), 459—470. А также на сайте PCA
  8. 1 2 Описание метода можно найти в статье: Gorban A. N. , Sumner N. R., and Zinovyev A. Y., Topological grammars for data approximation, Applied Mathematics Letters, Volume 20, Issue 4 (2007), 382—386; или Gorban A. N. , Sumner N. R., and Zinovyev A. Y., Beyond The Concept of Manifolds: Principal Trees, Metro Maps, and Elastic Cubic Complexes In: Gorban A. N. et al (Eds.), LNCSE 58, Springer, 2007 ISBN 978-3-540-73749-0; а также в arXiv
  9. С этой работы началось изучение главных многообразий. Диссертация T. Хасти: Hastie T., Principal Curves and Surfaces, Ph.D Dissertation, Stanford Linear Accelerator Center, Stanford University, Stanford, California, US, November 1984. А также на сайте PCA
  10. Scholz M., Fraunholz M., Selbig J., Nonlinear Principal Component Analysis: Neural Network Models and Applications, In: Gorban A. N. et al (Eds.), LNCSE 58, Springer, 2007 ISBN 978-3-540-73749-0
  11. Yin H. Learning Nonlinear Principal Manifolds by Self-Organising Maps, In: Gorban A. N. et al (Eds.), LNCSE 58, Springer, 2007 ISBN 978-3-540-73749-0
  12. Martinetz, T.M., Berkovich, S.G., and Schulten K.J., Neural-gas network for vector quantization and its application to time-series prediction. IEEE Transactions on Neural Networks, 4 (1993) #4, 558—569. На сайте PCA
  13. Hyvdrinen A, Karhunen J., and Oja E., Independent Component Analysis, A Volume in the Wiley Series on Adaptive and Learning Systems for Signal Processing, Communications, and Control. — John Wiley & Sons, Inc., 2001. — XVI+481 pp. ISBN 0-471-40540-X
  14. Rao, K., Yip P. (eds.), The Transform and Data Compression Handbook, CRC Press, Baton Rouge, 2001.
  15. Muresan D. D., Parks T. W., Adaptive Principal Components and Image Denoising, in: Image Processing, 2003, Proceedings 2003 IEEE International Conference on Image Processing (ICIP), 14-17 Sept. 2003, V. 1, pp. I-101-104. На сайте PCA
  16. англ. Correspondence Analysis
  17. Benzécri, J.-P., L’Analyse des Données. Volume II. L’Analyse des Correspondences, Dunod, Paris, France, 1973.
  18. Tekaia F., Use of Correspondence Analysis in Genome Exploration.
  19. См. статью Трансляция (биология)
  20. Zinovyev A., Сluster structures in genomic word frequency distributions; а также в arXiv: PCA and K-Means decipher genome.
  21. Дюк В. А., Компьютерная психодиагностика, С-Пб., 1994; отдельные разделы см. на сайте «Пси-фактор»
  22. Гуц А. К., Фролова Ю. В., Математические методы в социологии, Серия: Синергетика: от прошлого к будущему. — Издательство «УРСС», 2007. — 216 с.
  23. Политический атлас современности: Опыт многомерного статистического анализа политических систем современных государств. — М.: Изд-во «МГИМО-Университет», 2007. — 272 с.
  24. Berkooz G, Holmes Ph., and. Lumley J. L, The proper orthogonal decomposition in the analysis of turbulent flows, Annu. Rev. Fluid Mech. 25 (1993), 539—575. Первая публикация для анализа турбулентности — Lumley, J. L., The structure of inhomogeneous turbulence. In Atmospheric Turbulence and Wave Propagation, ed. A. M. Yaglom, V. I. Tatarski, pp. 166—178. Moscow: Nauka, 1967. (Атмосферная турбулентность и распространение радиоволн. Труды Международного коллоквиума. Москва, 15—22 июня 1965 г. Под ред. А. М. Яглома и В. И. Татарского. М.: Наука, 1967, 374 стр. с илл. и карт. (АН СССР. Междувед. геофиз. ком. Ин-т физики атмосферы). Интересно, что авторы этих работ возводят историю своего подхода к работам Косамби (1943), Лоэва (1945), Кархунена (1946), Пугачёва (1953) и Обухова (1954), не обратив внимание на работы Пирсона и 40 лет предшествующей истории метода.

Литература[править | править вики-текст]

Классические работы
  • Pearson K., On lines and planes of closest fit to systems of points in space, Philosophical Magazine, (1901) 2, 559—572; а также на сайте PCA.
  • Sylvester J.J., On the reduction of a bilinear quantic of the nth order to the form of a sum of n products by a double orthogonal substitution, Messenger of Mathematics, 19 (1889), 42—46; а также на сайте PCA.
  • Frećhet M. Les élements aléatoires de nature quelconque dans un espace distancié. Ann. Inst. H. Poincaré, 10 (1948), 215—310.
Основные руководства
  • Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д. Прикладная статистика. Классификация и снижение размерности.— М.: Финансы и статистика, 1989.— 607 с.
  • Jolliffe I.T. Principal Component Analysis, Series: Springer Series in Statistics, 2nd ed., Springer, NY, 2002, XXIX, 487 p. 28 illus. ISBN 978-0-387-95442-4
Современные обзоры
Учебное программное обеспечение
  • Java-апплет «Метод главных компонент и самоорганизующиеся карты» (E.M. Mirkes, Principal Component Analysis and Self-Organizing Maps: applet. University of Leicester, 2011). Свободно распространяемая программа с моделями метода главных компонент, самоорганизуюшихся карт (SOM) и растущих самоорганизующихся карт (Growing Self-Organized Maps, GSOM). Дано описание алгоритмов (англ.), приведены руководства и некоторые публикации. Используется для выполнения небольших студенческих исследовательских работ по сравнению различных алгоритмов аппроксимации данных.

Ссылки[править | править вики-текст]