Анализ главных компонентов - Principal component analysis

PCA многомерного распределения Гаусса с центром в точке (1,3) со стандартным отклонением 3 примерно в направлении (0,866, 0,5) и 1 в ортогональном направлении. Векторы Указаны собственные векторы по ковариационной матрицы , масштабированного квадратному корню из соответствующего собственного значения и сдвинуты , так что их хвосты на среднее.

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

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

Из либо цель, можно показать , что основные компоненты являются собственными векторами из Дейты ковариационной матрицы . Таким образом, главные компоненты часто вычисляются путем собственного разложения ковариационной матрицы данных или разложения по сингулярным значениям матрицы данных. PCA - это простейший из истинных многомерных анализов на основе собственных векторов, который тесно связан с факторным анализом . Факторный анализ обычно включает в себя более специфичные для предметной области предположения о базовой структуре и решает собственные векторы немного другой матрицы. PCA также связан с каноническим корреляционным анализом (CCA) . CCA определяет системы координат, которые оптимально описывают кросс-ковариацию между двумя наборами данных, в то время как PCA определяет новую ортогональную систему координат, которая оптимально описывает дисперсию в одном наборе данных. Также были предложены устойчивые и основанные на норме L1 варианты стандартного PCA.

История

PCA был изобретен в 1901 году Карлом Пирсоном как аналог теоремы о главной оси в механике; Позже он был независимо разработан и назван Гарольдом Хотеллингом в 1930-х годах. В зависимости от области применения его также называют дискретным преобразованием Карунена – Лоэва (KLT) в обработке сигналов , преобразованием Хотеллинга в многомерном контроле качества, правильным ортогональным разложением (POD) в машиностроении, разложением по сингулярным значениям (SVD) X (изобретено в последней четверти XIX века), разложение по собственным значениям (EVD) X T X в линейной алгебре, факторный анализ (обсуждение различий между PCA и факторным анализом см. в главе 7 « Анализ главных компонентов» Джоллиффа ), Теорема Эккарта – Юнга (Harman, 1960) или эмпирические ортогональные функции (EOF) в метеорологии, эмпирическое разложение на собственные функции (Sirovich, 1987), эмпирический компонентный анализ (Lorenz, 1956), квазигармонические моды (Brooks et al., 1988), спектральная декомпозиция шума и вибрации, а также эмпирический модальный анализ структурной динамики.

Интуиция

PCA можно рассматривать как подгонку p -мерного эллипсоида к данным, где каждая ось эллипсоида представляет главный компонент. Если какая-то ось эллипсоида мала, то отклонение по этой оси также невелико.

Чтобы найти оси эллипсоида, мы должны сначала вычесть среднее значение каждой переменной из набора данных, чтобы центрировать данные вокруг начала координат. Затем мы вычисляем ковариационную матрицу данных и вычисляем собственные значения и соответствующие собственные векторы этой ковариационной матрицы. Затем мы должны нормализовать каждый из ортогональных собственных векторов, чтобы превратить их в единичные векторы. Как только это будет сделано, каждый из взаимно ортогональных единичных собственных векторов можно интерпретировать как ось эллипсоида, подогнанного к данным. Такой выбор базиса преобразует нашу ковариационную матрицу в диагонализованную форму с диагональными элементами, представляющими дисперсию каждой оси. Доля дисперсии, которую представляет каждый собственный вектор, может быть вычислена путем деления собственного значения, соответствующего этому собственному вектору, на сумму всех собственных значений.

Подробности

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

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

Математически, преобразование определяется набором размеров из р - мерных векторов весовых коэффициентов или коэффициентов , которые отображают каждый вектор - строку из X к новому вектору основных компонента баллов , определяется

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

Первый компонент

Таким образом, чтобы максимизировать дисперсию, первый вектор весов w (1) должен удовлетворять

Точно так же запись этого в матричной форме дает

Поскольку w (1) был определен как единичный вектор, он эквивалентно также удовлетворяет

Максимизируемое количество можно определить как коэффициент Рэлея . Стандартный результат для положительной полуопределенной матрицы, такой как X T X, состоит в том, что максимально возможное значение частного является наибольшим собственным значением матрицы, которое возникает, когда w является соответствующим собственным вектором .

Когда w (1) найден, первый главный компонент вектора данных x ( i ) может быть затем задан как оценка t 1 ( i ) = x ( i )w (1) в преобразованных координатах или как соответствующий вектор в исходных переменных, { x ( i )w (1) } w (1) .

Дополнительные компоненты

К компоненту -го можно найти путем вычитания первого K  - 1 основных компонентов из X :

а затем найти вектор весов, который извлекает максимальную дисперсию из этой новой матрицы данных

Оказывается, это дает оставшиеся собственные векторы X T X с максимальными значениями для величины в скобках, заданными их соответствующими собственными значениями. Таким образом, весовые векторы являются собственными векторами X T X .

В K -х основной компонент вектор данных х ( я ) , следовательно , может быть задан как оценка т к ( я ) = х ( я )ш ( к ) в трансформированных координатах, или в виде соответствующего вектора в пространстве исходные переменные, { х ( я )ш ( K ) } ш ( к ) , где ш ( к ) является к - й собственного вектора X Т х .

Таким образом, полное разложение X на главные компоненты можно представить в виде

где W представляет собой P матрицу с размерностью р матрица весов, столбцы которой являются собственными векторами X T X . Транспонирование W иногда называют трансформацией побеления или образования сфер . Столбцы W, умноженные на квадратный корень из соответствующих собственных значений, то есть собственные векторы, увеличенные на дисперсии, называются нагрузками в PCA или в факторном анализе.

Ковариации

Х Т Х сам по себе может быть признано пропорционально эмпирической выборкой ковариационной матрицы из набора данных Х Т .

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

где свойство собственных значений w ( k ) использовалось для перехода от строки 2 к строке 3. Однако собственные векторы w ( j ) и w ( k ), соответствующие собственным значениям симметричной матрицы, ортогональны (если собственные значения разные), или могут быть ортогонализированы (если векторы имеют одинаковое повторяющееся значение). Следовательно, продукт в последней строке равен нулю; нет выборочной ковариации между различными главными компонентами в наборе данных.

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

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

Матрица эмпирической ковариации между главными компонентами становится

где Λ диагональная матрица собственных значений Х ( к ) из X T X . λ ( k ) равно сумме квадратов по набору данных, связанному с каждым компонентом k , то есть λ ( k ) = Σ i t k 2 ( i ) = Σ i ( x ( i )w ( k ) ) 2 .

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

Преобразование T = X W отображает вектор данных x ( i ) из исходного пространства p переменных в новое пространство p переменных, которые не коррелированы по набору данных. Однако не все основные компоненты необходимо сохранять. Сохранение только первых L главных компонентов, созданных с использованием только первых L собственных векторов, дает усеченное преобразование

где матрица T L теперь имеет n строк, но только L столбцов. Другими словами, PCA изучает линейное преобразование, в котором столбцы матрицы p × L образуют ортогональный базис для L признаков (компонентов представления t ), которые декоррелированы. Благодаря построению всех преобразованных матриц данных только с L столбцами, эта матрица оценок максимизирует дисперсию в исходных данных, которые были сохранены, при минимизации общей квадратичной ошибки восстановления или .

Диаграмма рассеяния анализа основных компонентов гаплотипов Y-STR, рассчитанная на основе значений количества повторов для 37 STR-маркеров Y-хромосомы от 354 человек. PCA успешно обнаружил линейные комбинации различных маркеров, которые разделяют разные кластеры, соответствующие различным линиям генетического происхождения Y-хромосомы индивидов.

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

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

Снижение размерности также может быть целесообразным, когда переменные в наборе данных зашумлены. Если каждый столбец набора данных содержит независимый одинаково распределенный гауссовский шум, то столбцы T также будут содержать аналогично одинаково распределенный гауссовский шум (такое распределение инвариантно под влиянием матрицы W , которую можно рассматривать как многомерный вращение координатных осей). Однако, когда большая часть общей дисперсии сосредоточена в нескольких первых основных компонентах по сравнению с той же дисперсией шума, пропорциональное влияние шума меньше - первые несколько компонентов достигают более высокого отношения сигнал / шум . Таким образом, PCA может иметь эффект концентрации большей части сигнала в нескольких первых основных компонентах, которые могут быть эффективно захвачены путем уменьшения размерности; в то время как в более поздних основных компонентах может преобладать шум, и поэтому они могут быть утилизированы без больших потерь. Если набор данных не слишком велик, значимость основных компонентов можно проверить с помощью параметрической начальной загрузки , чтобы определить, сколько основных компонентов следует сохранить.

Разложение по сингулярным числам

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

Здесь Σ - это прямоугольная диагональная матрица размером n x p положительных чисел σ ( k ) , называемая сингулярными значениями X ; U представляет собой N матрицу с размерностью п матрица, столбцы которой являются ортогональными единичными векторами длины п называется левые сингулярные векторы X ; и W представляет собой P матрицу с размерностью р , столбцы которой являются ортогональными единичными векторами длиной р и называются правые сингулярные векторы X .

В терминах этой факторизации матрица X T X может быть записана

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

Используя разложение по сингулярным числам, матрицу оценок T можно записать

поэтому каждый столбец T задается одним из левых сингулярных векторов X, умноженным на соответствующее сингулярное значение. Эта форма также полярное разложение на Т .

Существуют эффективные алгоритмы для вычисления SVD X без необходимости формировать матрицу X T X , поэтому вычисление SVD теперь является стандартным способом вычисления анализа главных компонентов на основе матрицы данных, если только не требуется только несколько компонентов.

Как и в случае собственного-разложения, усеченный п × L оценка матрицы Т Ь можно получить, рассматривая только первую L крупнейшие сингулярные значения и их сингулярные векторы:

Усечение матрицы M или T с использованием усеченного разложения по сингулярным числам таким образом дает усеченную матрицу, которая является ближайшей возможной матрицей ранга L к исходной матрице в смысле разницы между двумя, имеющими наименьшую возможную норму Фробениуса. , результат, известный как теорема Эккарта – Юнга [1936].

Дальнейшие соображения

Учитывая набор точек в евклидовом пространстве , первый главный компонент соответствует линии, которая проходит через многомерное среднее и минимизирует сумму квадратов расстояний между точками от прямой. Второй главный компонент соответствует той же концепции после того, как вся корреляция с первым главным компонентом была вычтена из баллов. Особые значения (в Е ) являются квадратными корнями из собственных значений матрицы Х Т X . Каждое собственное значение пропорционально части «дисперсии» (точнее, суммы квадратов расстояний между точками от их многомерного среднего), которая связана с каждым собственным вектором. Сумма всех собственных значений равна сумме квадратов расстояний между точками от их многомерного среднего. PCA по существу вращает набор точек вокруг их среднего, чтобы выровнять с основными компонентами. Это перемещает как можно большую часть дисперсии (с использованием ортогонального преобразования) в первые несколько измерений. Значения в остальных измерениях, следовательно, имеют тенденцию быть небольшими и могут быть отброшены с минимальной потерей информации (см. Ниже ). PCA часто используется таким образом для уменьшения размерности . PCA отличается тем, что является оптимальным ортогональным преобразованием для сохранения подпространства, которое имеет наибольшую «дисперсию» (как определено выше). Это преимущество, однако, достигается за счет более высоких вычислительных требований по сравнению, например, и, когда это применимо, с дискретным косинусным преобразованием и, в частности, с DCT-II, который просто известен как «DCT». Методы нелинейного уменьшения размерности обычно более требовательны к вычислениям, чем PCA.

PCA чувствителен к масштабированию переменных. Если у нас есть только две переменные, и они имеют одинаковую дисперсию выборки и положительно коррелированы, то PCA повлечет за собой поворот на 45 ° и «веса» (они являются косинусами вращения) для двух переменных по отношению к главной компонент будет равным. Но если мы умножим все значения первой переменной на 100, то первый главный компонент будет почти таким же, как эта переменная, с небольшим вкладом от другой переменной, тогда как второй компонент будет почти выровнен со второй исходной переменной. Это означает, что всякий раз, когда разные переменные имеют разные единицы измерения (например, температуру и массу), PCA является несколько произвольным методом анализа. (Различные результаты были бы получены, если использовать градусы Фаренгейта, а не Цельсия, например.) Оригинальная статья Пирсона была озаглавлена ​​«О линиях и плоскостях, наиболее приближенных к системам точек в пространстве» - «в пространстве» подразумевает физическое евклидово пространство, где такие проблемы действительно возникают. не возникнет. Один из способов сделать PCA менее произвольным - использовать переменные, масштабированные так, чтобы иметь единичную дисперсию, путем стандартизации данных и, следовательно, использовать матрицу автокорреляции вместо матрицы автоковариации в качестве основы для PCA. Однако это сжимает (или расширяет) флуктуации во всех измерениях пространства сигналов до единичной дисперсии.

Среднее вычитание (также известное как «среднее центрирование») необходимо для выполнения классического PCA, чтобы гарантировать, что первый главный компонент описывает направление максимальной дисперсии. Если вычитание среднего не выполняется, первый главный компонент может вместо этого более или менее соответствовать среднему значению данных. Для нахождения базиса, который минимизирует среднеквадратическую ошибку аппроксимации данных, необходимо нулевое среднее значение .

Центрирование среднего значения не требуется при выполнении анализа главных компонентов на корреляционной матрице, поскольку данные уже центрированы после вычисления корреляций. Корреляции выводятся из перекрестного произведения двух стандартных оценок (Z-оценок) или статистических моментов (отсюда и название: корреляция продукта-момента Пирсона ). Также см. Статью Кромри и Фостер-Джонсон (1998) «Центрирование среднего в умеренной регрессии: много шума из ничего».

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

Таблица символов и сокращений

Условное обозначение Имея в виду Габаритные размеры Индексы
матрица данных, состоящая из набора всех векторов данных, по одному вектору на строку
количество векторов-строк в наборе данных скаляр
количество элементов в каждом векторе-строке (размерность) скаляр
количество измерений в размерно уменьшенном подпространстве, скаляр
вектор эмпирических средних , одно среднее для каждого столбца j матрицы данных
вектор эмпирических стандартных отклонений , одно стандартное отклонение для каждого столбца j матрицы данных
вектор всех единиц
отклонения от среднего значения каждого столбца j матрицы данных
z-значения , вычисленные с использованием среднего и стандартного отклонения для каждой строки m матрицы данных
ковариационная матрица
корреляционная матрица
матрица , состоящая из множества всех собственных векторов из С , один собственный вектор для каждого столбца
диагональная матрица , состоящая из множества всех собственных значений из C вдоль ее главной диагонали , и 0 для всех других элементов
матрица базисных векторов, по одному вектору на столбец, где каждый базисный вектор является одним из собственных векторов C , а векторы в W являются подмножеством векторов в V
матрица , состоящая из п векторов - строк, где каждый вектор является проекцией соответствующего вектора данных из матрицы X на базисных векторов , содержащихся в столбцах матрицы W .

Свойства и ограничения PCA

Характеристики

Некоторые свойства PCA включают:

Свойство 1 : Для любого целогод, 1 ≤Qр, рассмотрим ортогональноелинейное преобразование
где - q-элементный вектор, - матрица ( q × p ), и пусть будет - ковариационная матрица дисперсии для . Тогда след , обозначенный , максимизируется взятием , где состоит из первых q столбцов, является транспонированием .
Свойство 2 : снова рассмотримортонормированное преобразование
с и определено, как и раньше. Затем минимизируется, выбирая где состоит из последних q столбцов .

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

Свойство 3 : (Спектральное разложение Σ )

Прежде чем мы рассмотрим его использование, мы сначала рассмотрим диагональные элементы,

Тогда, возможно, основное статистическое значение результата состоит в том, что мы можем не только разложить комбинированные дисперсии всех элементов x на убывающие вклады, причитающиеся каждому ПК, но мы также можем разложить всю ковариационную матрицу на вклады от каждого ПК. Хотя это и не строго убывает, элементы будут иметь тенденцию становиться меньше по мере увеличения, а не возрастает для увеличения , в то время как элементы имеют тенденцию оставаться примерно такого же размера из - за ограничений , нормализации: .

Ограничения

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

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

Еще одно ограничение - это процесс удаления среднего до построения ковариационной матрицы для PCA. В таких областях, как астрономия, все сигналы неотрицательны, и процесс удаления среднего приведет к тому, что среднее значение некоторых астрофизических воздействий будет равно нулю, что, следовательно, создаст нефизические отрицательные потоки, и для восстановления истинного значения необходимо выполнить прямое моделирование. величина сигналов. В качестве альтернативного метода факторизация неотрицательной матрицы, фокусирующаяся только на неотрицательных элементах в матрицах, хорошо подходит для астрофизических наблюдений. Подробнее см. Связь между PCA и неотрицательной матричной факторизацией .

PCA является недостатком, если данные не были стандартизированы до применения PCA. PCA преобразует исходные данные в данные, относящиеся к основным компонентам этих данных, что означает, что новые переменные данных не могут быть интерпретированы так же, как оригиналы. Это линейные интерпретации исходных переменных. Кроме того, если PCA не выполняется должным образом, высока вероятность потери информации.

PCA опирается на линейную модель. Если в наборе данных скрыт нелинейный шаблон, то PCA может фактически направить анализ в совершенно противоположном направлении. Исследователи из Университета штата Канзас обнаружили, что ошибка выборки в их экспериментах повлияла на смещение результатов PCA. «Если количество субъектов или блоков меньше 30, и / или исследователь интересуется ПК помимо первого, может быть лучше сначала скорректировать серийную корреляцию до того, как будет проведена PCA». Исследователи из штата Канзас также обнаружили, что PCA может быть «серьезно предвзятым, если автокорреляционная структура данных не будет правильно обработана».

PCA и теория информации

Снижение размерности, как правило, приводит к потере информации. Уменьшение размерности на основе PCA имеет тенденцию минимизировать эту потерю информации при определенных моделях сигнала и шума.

В предположении, что

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

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

Если шум по-прежнему гауссовский и имеет ковариационную матрицу, пропорциональную единичной матрице (то есть компоненты вектора равны iid ), но несущий информацию сигнал не является гауссовым (что является обычным сценарием), PCA по крайней мере минимизирует верхнюю границу потери информации , которая определяется как

Оптимальность PCA также сохраняется, если шум iid и, по крайней мере, более гауссовский (с точки зрения расходимости Кульбака – Лейблера ), чем несущий информацию сигнал . В общем, даже если описанная выше модель сигнала верна, PCA теряет свою теоретико-информационную оптимальность, как только шум становится зависимым.

Вычисление PCA методом ковариации

Ниже приводится подробное описание PCA с использованием метода ковариации (см. Также здесь ) в отличие от метода корреляции.

Цель состоит в том, чтобы превратить данное множество данных X размерности р в качестве альтернативного набора данных Y меньшего размера L . Эквивалентно, мы ищем матрицу Y , где Y - преобразование Карунена – Лоэва (KLT) матрицы X :

Организуйте набор данных

Предположим, у вас есть данные, содержащие набор наблюдений за переменными p , и вы хотите сократить данные, чтобы каждое наблюдение можно было описать только L переменными, L < p . Предположим далее, что данные организованы как набор из n векторов данных, каждый из которых представляет одно сгруппированное наблюдение p переменных.

  • Запишите как векторы-строки, каждый из которых содержит p элементов.
  • Поместите векторы-строки в одну матрицу X размером n × p .
Рассчитайте эмпирическое среднее
  • Найдите эмпирическое среднее значение по каждому столбцу j = 1, ...,  p .
  • Поместите вычисленные средние значения в вектор эмпирических средних u размером p × 1.
Рассчитайте отклонения от среднего

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

  • Вычитание эмпирического среднего вектора из каждой строки матрицы данных X .
  • Сохраните данные с вычитанием среднего значения в матрице B размера n × p .
    где h - вектор-столбец n × 1 всех единиц:

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

Найдите ковариационную матрицу
Найдите собственные векторы и собственные значения ковариационной матрицы
  • Вычислить матрицу V из собственных векторов , которые диагонализуют ковариационную матрицу C :
    где D представляет собой диагональную матрицу из собственных значений из C . Этот шаг обычно включает использование компьютерного алгоритма для вычисления собственных векторов и собственных значений . Эти алгоритмы легко доступны в качестве подкомпонентов большинства систем матричной алгебры , таких как SAS , R , MATLAB , Mathematica , SciPy , IDL ( интерактивный язык данных ) или GNU Octave, а также OpenCV .
  • Матрица D примет форму диагональной матрицы размера p × p , где
    - j- е собственное значение ковариационной матрицы C , а
  • Матрица V , а также размерности р × р , содержит р векторы - столбцы, каждый из которых длины р , которые представляют р собственных векторов ковариационной матрицы С .
  • Собственные значения и собственные векторы упорядочены и объединены в пары. J - е собственное значение соответствует J - го собственного вектора.
  • Матрица V обозначает матрицу правых собственных векторов (в отличие от левых собственных векторов). В общем, матрица правых собственных векторов не обязательно должна быть (сопряженной) транспонированной матрицей левых собственных векторов.
Переставим собственные векторы и собственные значения
  • Отсортируйте столбцы матрицы собственных векторов V и матрицы собственных значений D в порядке убывания собственного значения.
  • Обязательно поддерживайте правильные пары между столбцами в каждой матрице.
Вычислить совокупное энергосодержание для каждого собственного вектора
  • Собственные значения представляют собой распределение энергии исходных данных между каждым из собственных векторов, где собственные векторы образуют основу для данных. Совокупное содержание энергии g для j- го собственного вектора представляет собой сумму содержания энергии по всем собственным значениям от 1 до j :
Выберите подмножество собственных векторов в качестве базисных векторов
  • Сохраните первые L столбцов V как матрицу W размера p × L :
    куда
  • С помощью вектора г в качестве руководства при выборе соответствующего значения для L . Цель состоит в том, чтобы выбрать как можно меньшее значение L при достижении достаточно высокого значения g в процентах. Например, вы можете выбрать L так, чтобы совокупная энергия g была выше определенного порога, например 90 процентов. В этом случае выберите наименьшее значение L так , чтобы
Спроецируйте данные на новую основу
  • Спроецированные точки данных - это строки матрицы

То есть первый столбец - это проекция точек данных на первый главный компонент, второй столбец - это проекция на второй главный компонент и т. Д.

Вывод PCA методом ковариации

Пусть X будет d -мерным случайным вектором, выраженным как вектор-столбец. Без ограничения общности предположим, что X имеет нулевое среднее.

Мы хотим найти в d × d ортонормированной матрица преобразования P так , что PX имеет диагональную матрицу ковариации (то есть, PX является случайным вектор со всеми его различными компонентами попарно некоррелированным).

Быстрое вычисление, предполагающее унитарную доходность:

Следовательно, имеет место тогда и только тогда, когда их можно диагонализовать с помощью .

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

Расчет без ковариации

В практических реализациях, особенно с данными большой размерности (большое p ), метод наивной ковариации используется редко, потому что он неэффективен из-за больших вычислительных затрат и затрат памяти на явное определение ковариационной матрицы. Бесковариационный подход позволяет избежать np 2 операций явного вычисления и сохранения ковариационной матрицы X T X , вместо этого используя один из безматричных методов , например, на основе функции, оценивающей произведение X T (X r) за счет от 2 ира операций.

Итерационное вычисление

Один из способов эффективного вычисления первого главного компонента показан в следующем псевдокоде для матрицы данных X с нулевым средним значением без вычисления ее ковариационной матрицы.

r = a random vector of length p
r = r / norm(r)
do c times:
      s = 0 (a vector of length p)
      for each row x in X
            s = s + (xr) x
      λ = rTs // λ is the eigenvalue
      error = |λ ⋅ rs|
      r = s / norm(s)
      exit if error < tolerance
return λ, r

Этот алгоритм степенной итерации просто вычисляет вектор X T (X r) , нормализует и помещает результат обратно в r . Собственный аппроксимируются г T (X T X) R , который является Рэлей фактором на единичном вектор г для ковариационной матрицы X T X . Если наибольшее сингулярное значение хорошо отделено от следующего по величине, вектор r приближается к первому главному компоненту X в пределах числа итераций c , которое мало по сравнению с p , с общей стоимостью 2cnp . Мощности итерация сходимость может быть ускорена без заметного ущерба небольшой стоимости за итерации с использованием более сложными нематричными метод , такие как Ланцош алгоритм или локально Оптимальное Блок предварительно сопряженный градиент ( LOBPCG метод).

Последующие главные компоненты могут быть вычислены один за другим с помощью дефляции или одновременно как блок. В первом подходе неточности в уже вычисленных приближенных главных компонентах аддитивно влияют на точность вычисляемых впоследствии главных компонентов, тем самым увеличивая ошибку с каждым новым вычислением. Последний подход в методе блока питания заменяет единичные векторы г и ев с блок-векторами, матрицами R и S . Каждый столбец R аппроксимирует одну из ведущих главных компонент, в то время как все столбцы повторяются одновременно. Основной расчет - это оценка продукта X T (XR) . Реализованная, например, в LOBPCG , эффективная блокировка устраняет накопление ошибок, позволяет использовать высокоуровневые функции произведения матрица-матрица BLAS и, как правило, приводит к более быстрой сходимости по сравнению с методом «один за одним» для одного вектора.

Метод НИПАЛС

Нелинейный итерационный метод частичных наименьших квадратов (NIPALS) представляет собой вариант классической итерации по мощности с дефляцией матрицы путем вычитания, реализованной для вычисления первых нескольких компонентов в анализе главных компонентов или частичных наименьших квадратов . Для очень многомерных наборов данных, например, созданных в * омических науках (например, геномика , метаболомика ), обычно необходимо вычислить только несколько первых компьютеров. В нелинейные итерационные частичных наименьших квадратов (NIPALS) алгоритм обновления итерационные приближения ведущих счетов и нагрузок т 1 и г 1 Т со стороны мощности итерации умножения на каждой итерации X на левой и на правой, то есть вычисление ковариационная матрица избегают, так же , как в матрице , свободной от реализации итераций мощности к X T X , на основе функции , оценивающего продукт Х Т (Х г) = ((Х г) Т Х) Т .

Сглаживание матрицы вычитанием выполняется путем вычитания внешнего произведения t 1 r 1 T из X, оставляя спущенную остаточную матрицу, используемую для вычисления последующих ведущих PC. Для больших матриц данных или матриц, которые имеют высокую степень коллинеарности столбцов, NIPALS страдает от потери ортогональности ПК из -за ошибок округления машинной точности, накопленных в каждой итерации, и дефляции матрицы путем вычитания. Gram-Schmidt алгоритм повторно ортогонализации применяется к обоим баллами и нагрузок на каждом шаге итерации , чтобы устранить эту потерю ортогональности. Опора NIPALS на однократное умножение не может использовать преимущества высокоуровневого BLAS и приводит к медленной сходимости для кластеризованных ведущих сингулярных значений - оба эти недостатка устраняются в более сложных безматричных блочных решателях, таких как локально оптимальный блочный предварительно обусловленный сопряженный градиент ( LOBPCG ) метод.

Онлайн / последовательная оценка

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

PCA и качественные переменные

В PCA обычно мы хотим ввести качественные переменные в качестве дополнительных элементов. Например, многие количественные переменные были измерены на растениях. Для этих растений доступны некоторые качественные переменные, например, вид, к которому растение принадлежит. Эти данные были подвергнуты PCA для количественных переменных. При анализе результатов естественно связать главные компоненты с видами качественных переменных . Для этого получены следующие результаты.

  • Идентификация на факторных планах разных видов, например, с использованием разных цветов.
  • Изображение на факторных планах центров тяжести растений, принадлежащих к одному виду.
  • Для каждого центра тяжести и каждой оси значение p, чтобы судить о значимости разницы между центром тяжести и исходной точкой.

Эти результаты представляют собой то, что называется введением качественной переменной в качестве дополнительного элемента . Эта процедура подробно описана в статьях Husson, Lê & Pagès 2009 и Pagès 2013. Немногие программы предлагают эту возможность «автоматически». Это случай SPAD, который исторически, вслед за работой Людовика Лебарта , был первым, кто предложил этот вариант, и пакет R FactoMineR .

Приложения

Количественное финансирование

В количественных финансах , основной компонент анализ может быть непосредственно применен к управлению рисками в процентном ставке производных портфелей. Торговля несколькими своп-инструментами, которые обычно являются функцией 30–500 других рыночных котируемых своп-инструментов, обычно сводится к 3 или 4 основным компонентам, представляющим динамику процентных ставок на макроуровне. Преобразование рисков в факторные нагрузки (или множители) обеспечивает оценки и понимание, выходящие за рамки простого коллективного просмотра рисков для отдельных 30–500 сегментов.

PCA также применялся к портфелям акций аналогичным образом, как к риску портфеля, так и к доходности от риска . Одно из приложений - снизить риск портфеля, когда стратегии распределения применяются к «основным портфелям», а не к базовым акциям. Второй - повысить доходность портфеля, используя основные компоненты для выбора акций с потенциалом роста.

Неврология

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

В нейробиологии PCA также используется для определения идентичности нейрона по форме его потенциала действия. Сортировка спайков - важная процедура, потому что методы внеклеточной записи часто улавливают сигналы от более чем одного нейрона. При сортировке спайков сначала используется PCA для уменьшения размерности пространства форм сигналов потенциала действия, а затем выполняется кластерный анализ, чтобы связать определенные потенциалы действия с отдельными нейронами.

PCA как метод уменьшения размеров особенно подходит для обнаружения скоординированных действий больших нейронных ансамблей. Его использовали для определения коллективных переменных, то есть параметров порядка , во время фазовых переходов в мозге.

Связь с другими методами

Анализ корреспонденции

Анализ соответствия (CA) был разработан Жан-Полем Бенцекри и концептуально аналогичен PCA, но масштабирует данные (которые должны быть неотрицательными), чтобы строки и столбцы обрабатывались одинаково. Это традиционно применяется к таблицам непредвиденных обстоятельств . CA разлагает статистику хи-квадрат, связанную с этой таблицей, на ортогональные множители. Поскольку CA является описательной техникой, ее можно применять к таблицам, для которых подходит статистика хи-квадрат. Доступно несколько вариантов CA, включая анализ соответствий с исключенным трендом и анализ канонических соответствий . Одним из специальных расширений является анализ множественных соответствий , который можно рассматривать как аналог анализа главных компонентов для категориальных данных.

Факторный анализ

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

Факторный анализ аналогичен анализу главных компонентов, поскольку факторный анализ также включает линейные комбинации переменных. В отличие от PCA, факторный анализ - это подход, ориентированный на корреляцию, стремящийся воспроизвести взаимные корреляции между переменными, в котором факторы «представляют собой общую дисперсию переменных, исключая уникальную дисперсию». Что касается корреляционной матрицы, это соответствует сосредоточению внимания на объяснении недиагональных членов (то есть общей ковариации), в то время как PCA фокусируется на объяснении терминов, которые находятся на диагонали. Однако, как побочный результат, при попытке воспроизвести недиагональные члены PCA также имеет тенденцию относительно хорошо соответствовать недиагональным корреляциям. Результаты, полученные с помощью PCA и факторного анализа, очень похожи в большинстве ситуаций, но это не всегда так, и есть некоторые проблемы, когда результаты значительно отличаются. Факторный анализ обычно используется, когда целью исследования является обнаружение структуры данных (то есть скрытых конструкций или факторов) или причинного моделирования . Если факторная модель сформулирована неправильно или предположения не выполняются, то факторный анализ даст ошибочные результаты.

K- означает кластеризацию

Утверждалось, что упрощенное решение кластеризации k- средних , определяемое индикаторами кластера, задается главными компонентами, а подпространство PCA, охватываемое основными направлениями, идентично подпространству центроида кластера. Однако то, что PCA является полезным ослаблением кластеризации k- средних, не было новым результатом, и несложно обнаружить контрпримеры к утверждению, что подпространство центроида кластера охвачено основными направлениями.

Неотрицательная матричная факторизация

Графики фракционной остаточной дисперсии (FRV) для PCA и NMF; для PCA теоретические значения - это вклад остаточных собственных значений. Для сравнения, кривые FRV для PCA достигают плоского плато, на котором эффективно не улавливается никакой сигнал; в то время как кривые NMF FRV непрерывно снижаются, что указывает на лучшую способность захвата сигнала. Кривые FRV для NMF также сходятся к более высоким уровням, чем PCA, что указывает на свойство NMF с меньшей переобученностью.

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

В PCA вклад каждого компонента оценивается на основе величины его соответствующего собственного значения, что эквивалентно дробной остаточной дисперсии (FRV) при анализе эмпирических данных. Для NMF его компоненты ранжируются только на основе эмпирических кривых FRV. Графики остаточных дробных собственных значений, то есть в зависимости от количества компонентов с учетом общего количества компонентов, для PCA имеет плоское плато, на котором не собираются данные для удаления квазистатического шума, а затем кривые быстро падают, что указывает на то, что чрезмерная подгонка и захват случайного шума. Кривые FRV для NMF непрерывно уменьшаются, когда компоненты NMF построены последовательно , что указывает на непрерывный захват квазистатического шума; затем сходятся к более высоким уровням, чем PCA, что указывает на меньшее свойство подгонки NMF.

Иконография корреляций

Часто бывает трудно интерпретировать основные компоненты, когда данные включают множество переменных различного происхождения или когда некоторые переменные носят качественный характер. Это заставляет пользователя PCA деликатно исключить несколько переменных. Если наблюдения или переменные оказывают чрезмерное влияние на направление осей, их следует удалить, а затем спроецировать как дополнительные элементы. Кроме того, необходимо избегать интерпретации близости между точками, близкими к центру факторной плоскости.

Иконография корреляций - Геохимия морских аэрозолей

Иконография корреляций , наоборот, которая не является проекцией на системе осей, не имеет этих недостатков. Таким образом, мы можем сохранить все переменные.

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

Сильная корреляция не является «замечательной», если она не прямая, а вызвана влиянием третьей переменной. И наоборот, слабые корреляции могут быть «замечательными». Например, если переменная Y зависит от нескольких независимых переменных, корреляции Y с каждой из них будут слабыми, но все же «замечательными».

Обобщения

Редкий PCA

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

  • структура регрессии,
  • фреймворк выпуклой релаксации / полуопределенного программирования,
  • структура обобщенного степенного метода
  • альтернативная структура максимизации
  • жадный поиск вперед-назад и точные методы с использованием методов ветвей и границ,
  • Рамки байесовских формулировок.

Методологические и теоретические разработки Sparse PCA, а также его приложения в научных исследованиях были недавно рассмотрены в обзорной статье.

Нелинейный PCA

Сравнение линейных PCA и нелинейных главных многообразий для визуализации данных микрочипа рака молочной железы : a) Конфигурация узлов и двухмерной главной поверхности в линейном трехмерном многообразии PCA. Набор данных изогнут и не может быть адекватно отображен на главной двумерной плоскости; б) Распределение во внутренних 2D нелинейных координатах главной поверхности (ELMap2D) вместе с оценкой плотности точек; c) То же, что и b), но для линейного 2D-коллектора PCA (PCA2D). «Базальный» подтип рака груди более адекватно визуализируется с помощью ELMap2D, и некоторые особенности распределения становятся лучше разрешенными по сравнению с PCA2D. Основные многообразия создаются с помощью алгоритма упругих карт . Данные доступны для публичного конкурса. Программное обеспечение доступно для бесплатного некоммерческого использования.

Большинство современных методов нелинейного уменьшения размерности находят свои теоретические и алгоритмические корни в PCA или K-средних. Первоначальная идея Пирсона заключалась в том, чтобы взять прямую линию (или плоскость), которая будет «наилучшим образом соответствовать» набору точек данных. Тревор Гесте расширил эту концепцию, предложив Основные кривые как естественное расширение для геометрической интерпретации PCA, который явно строит коллектор для данных аппроксимации с последующим проецированием точки на ней, как это показан на рисе. Смотри также упругая карта алгоритм и принципиальный геодезический анализ . Другое популярное обобщение - это PCA ядра , которое соответствует PCA, выполняемому в гильбертовом пространстве воспроизводящего ядра, связанном с положительно определенным ядром.

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

N- сторонний анализ главных компонентов может выполняться с помощью таких моделей, как разложение Такера , PARAFAC , многофакторный анализ, коинерционный анализ, STATIS и DISTATIS.

Надежный PCA

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

На основе рецептур L1-нормы ( L1-PCA ) также были предложены резко устойчивые к выбросам варианты PCA .

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

Подобные техники

Независимый компонентный анализ

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

Анализ сетевых компонентов

Учитывая матрицу , он пытается разложить ее на две матрицы так, чтобы . Ключевое отличие от таких методов, как PCA и ICA, состоит в том, что некоторые записи ограничены равными 0. Здесь это называется регуляторным уровнем. Хотя в общем случае такое разложение может иметь несколько решений, они доказывают, что при выполнении следующих условий:

  1. имеет полный ранг столбца
  2. Каждый столбец должен иметь как минимум нули, где - количество столбцов (или, альтернативно, количество строк ). Обоснование этого критерия состоит в том, что если узел удаляется из уровня регулирования вместе со всеми подключенными к нему выходными узлами, результат все равно должен характеризоваться матрицей связности с полным рангом столбца.
  3. должен иметь полный ранг строки.

то разложение единственно с точностью до умножения на скаляр.

Компонентный анализ дискриминантного анализа

Дискриминантный анализ основных компонентов (DAPC) - это многомерный метод, используемый для идентификации и описания кластеров генетически связанных людей. Генетическая изменчивость делится на две составляющие: вариации между группами и внутри групп, и она максимизирует первую. Линейные дискриминанты - это линейные комбинации аллелей, которые лучше всего разделяют кластеры. Следовательно, аллели, которые больше всего способствуют этой дискриминации, - это те, которые наиболее заметно различаются в разных группах. Вклад аллелей в группы, идентифицированные DAPC, может позволить идентифицировать области генома, приводящие к генетической дивергенции между группами. В DAPC данные сначала преобразуются с использованием анализа главных компонентов (PCA), а затем кластеры идентифицируются с помощью дискриминантного анализа (DA).

DAPC может быть реализован на R с помощью пакета Adegenet. (подробнее: https://adegenet.r-forge.r-project.org/ )

Программное обеспечение / исходный код

  • ALGLIB - библиотека C ++ и C #, реализующая PCA и усеченный PCA
  • Analytica - встроенная функция EigenDecomp вычисляет главные компоненты.
  • ELKI - включает PCA для проектирования, включая надежные варианты PCA, а также алгоритмы кластеризации на основе PCA .
  • Gretl - анализ главных компонент может выполняться либо с помощью pcaкоманды, либо с помощью princomp()функции.
  • Джулия - Поддерживает PCA с помощью pcaфункции в пакете MultivariateStats
  • KNIME - программное обеспечение узловой компоновки на основе Java для анализа, в котором узлы, называемые PCA, PCA compute, PCA Apply, PCA inverse, делают это легко.
  • Mathematica - реализует анализ главных компонентов с помощью команды PrincipalComponents, используя методы ковариации и корреляции.
  • MathPHP - математическая библиотека PHP с поддержкой PCA.
  • MATLAB Statistics Toolbox - функции princompи pca(R2012b) дают главные компоненты, в то время как функция pcaresдает остатки и восстановленную матрицу для приближения PCA низкого ранга.
  • Matplotlib - библиотека Python имеет пакет PCA в модуле .mlab.
  • mlpack - обеспечивает реализацию анализа главных компонентов на C ++ .
  • Библиотека NAG - анализ основных компонентов осуществляется с помощью g03aaпроцедуры (доступной в обеих версиях библиотеки на языке Fortran).
  • NMath - Собственная числовая библиотека, содержащая PCA для .NET Framework .
  • GNU Octave - Свободная программная вычислительная среда, в основном совместимая с MATLAB, функция princompдает главный компонент.
  • OpenCV
  • Oracle Database 12c - реализуется с помощью DBMS_DATA_MINING.SVDS_SCORING_MODEуказания значения параметраSVDS_SCORING_PCA
  • Orange (программное обеспечение) - интегрирует PCA в среду визуального программирования. PCA отображает диаграмму осыпи (степень объясненной дисперсии), где пользователь может интерактивно выбрать количество основных компонентов.
  • Origin - содержит PCA в его версии Pro.
  • Qlucore - коммерческое программное обеспечение для анализа многомерных данных с мгновенным ответом с использованием PCA.
  • R - бесплатный статистический пакет, функции princompи prcompмогут быть использованы для анализа главных компонент; prcompиспользует разложение по сингулярным числам, которое обычно дает лучшую числовую точность. Некоторые пакеты, реализующие PCA в R, включают в себя, но не ограничиваются ими: ade4, vegan, ExPosition, dimRed, и FactoMineR.
  • SAS - фирменное программное обеспечение; например, см.
  • Scikit-learn - библиотека Python для машинного обучения, которая содержит PCA, Probabilistic PCA, Kernel PCA, Sparse PCA и другие методы в модуле декомпозиции.
  • Weka - Java-библиотека для машинного обучения, которая содержит модули для вычисления основных компонентов.

Смотрите также

использованная литература

дальнейшее чтение

внешние ссылки