Неортогональная техника, аналогичная PCA


9

Предположим, у меня есть набор точечных данных 2D, и я хочу определить направления всех локальных максимумов дисперсии в данных, например:

введите описание изображения здесь

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

Пожалуйста, порекомендуйте любую технику, которая подходит для этой цели. Спасибо.


Не могли бы вы предоставить свой пример данных? Я хотел бы попробовать что-то для вас. С уважением, Эрик
Эрик Мелс

Ответы:


10

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

В Интернете есть много хороших учебных пособий и несколько бесплатных реализаций, которые можно попробовать (например, в Scikit или MDP ).

Когда ICA не работает?

Как и другие алгоритмы, ICA является оптимальным, когда применяются предположения, для которых он был получен. В частности,

  1. источники статистически независимы
  2. независимые компоненты негауссовы
  3. смешивающая матрица обратима

ICA возвращает оценку матрицы смешения и независимых компонентов.

Если ваши источники гауссовские, то ICA не может найти компоненты. Представьте, что у вас есть два независимых компонента: и , которые равны . Тогда x1x2N(0,I)

p(x1,x2)=p(x1)p(x2)=12πexp(x12+x222)=12πexp||x||22

где, является нормой двумерного вектора. Если они смешаны с ортогональным преобразованием (например, вращением ), мы имеем,, что означает, что распределение вероятности не изменяется при вращении. Следовательно, ICA не может найти матрицу смешения по данным.R | | R x | | = | | х | |||.||R||Rx||=||x||


Да, это должно быть ( scikit-learn.org/stable/auto_examples/decomposition/… ), спасибо большое! : D
Ахмед

1
Это может превратиться в действительно глубокий ответ, если вы скажете больше; в частности, решите сравнить предложение @ Gottfried (PCA с наклонной ротацией) с вашим предложением (ICA) - каковы различия и недостатки этих двух.
ttnphns

Я вижу, что на этот вопрос ответили частично. Проверьте редактирование, добавив простой пример, для которого ICA не применяется.
jpmuc

3

Существуют процедуры, подобные PCA, для так называемого «косого» случая. В программном обеспечении stat, таком как SPSS (и, возможно, также в его бесплатном клоне), PSPP можно найти эквивалентно называемые «наклонные вращения», а их экземпляры называют «oblimin», «promax» и что-то еще. Если я правильно понимаю, программа пытается «прямоугольнить» факторные нагрузки путем пересчета их координат в ортогональном, евклидовом пространстве (как, например, показано на вашем рисунке) в координаты пространства, оси которого неортогональны, возможно, с некоторая техника известна из множественной регрессии. Более того, я думаю, что это работает только итеративно и использует одну или несколько степеней свободы при статистическом тестировании модели.

сравнивающую PCA и наклонного вращения эталонным-руководство по SPSS (на IBM-сайте) для косых-вращений содержит даже формулы для вычисления.

[Обновить] (Upps, извините, только что проверил, что PSPP не обеспечивает «вращения» косого типа)


1
Хм, после третьего чтения я вижу, что ваш вопрос немного отличается от логического обоснования наклонного вращения: в вашем облаке данных даже нет того, что среднее значение находится в источнике / что данные даже не центрированы, поэтому вы может иметь в виду нечто иное, чем я описал здесь в своем ответе. Если это так, я могу удалить ответ позже ...
Готфрид Хелмс

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


2

Другие ответы уже дали некоторые полезные советы о методах, которые вы можете рассмотреть, но никто, кажется, не указал, что ваше предположение неверно: линии, показанные синим на вашей схематической картине, НЕ являются локальными максимумами дисперсии.

Чтобы увидеть это, обратите внимание, что дисперсия в направлении задается как , где обозначает ковариационную матрицу данные. Чтобы найти локальные максимумы, нам нужно положить производную этого выражения в ноль. Поскольку ограничен длиной единицы, нам нужно добавить термин где - множитель Лагранжа. Дифференцируя, мы получаем следующее уравнение:wΣ w Σ w λ ( ww - 1 ) λ Σ w - λ w = 0.wwΣwΣwλ(ww1)λ

Σwλw=0.

Это означает, что должен быть собственным вектором ковариационной матрицы, то есть одним из главных векторов. Другими словами, PCA дает вам все локальные максимумы, других нет.w


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

@ Ахмед: я не уверен, это зависит от того, что вы уже знаете. Полагаю, вам понадобятся приличные учебники по линейной алгебре и анализу. Это довольно простой материал, который должен быть освещен в любом приличном учебнике.
амеба
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.