Я читаю статью, где автор отказывается от нескольких переменных из-за высокой корреляции с другими переменными, прежде чем делать PCA. Общее количество переменных составляет около 20.
Это дает какие-то преимущества? Мне это кажется непосильным, так как PCA должен справиться с этим автоматически.
correlation
pca
типа2
источник
источник
Ответы:
Это объясняется полезной подсказкой, предоставленной в комментарии @ttnphns.
Смешение почти коррелированных переменных увеличивает вклад их общего базового фактора в PCA. Мы можем видеть это геометрически. Рассмотрим эти данные в плоскости XY, представленной в виде облака точек:
Существует небольшая корреляция, приблизительно одинаковая ковариация, и данные центрированы: PCA (независимо от того, как проводится) сообщит о двух приблизительно равных компонентах.
Давайте теперь добавим третью переменную равную плюс небольшое количество случайных ошибок. Корреляционная матрица показывает это с небольшими недиагональными коэффициентами, за исключением между вторыми и третьими строками и столбцами ( и ):Y ( X , Y , Z ) Y ZZ Y ( X, Y, Z) Y Z
Геометрически мы сместили все исходные точки почти вертикально, подняв предыдущее изображение прямо из плоскости страницы. Это псевдо-трехмерное облако точек пытается проиллюстрировать подъем с помощью вида сбоку в перспективе (на основе другого набора данных, хотя и сгенерированного так же, как и раньше):
Точки изначально лежат в синей плоскости и поднимаются до красных точек. Исходная ось указывает на право. В результате наклона также растягивает точки вдоль направлений YZ, тем самым удвоив свой вклад в дисперсию. Следовательно, СПС этих новых данных будет по-прежнему идентифицировать два основных главных компонента, но теперь один из них будет иметь двойную дисперсию другого.Y
Это геометрическое ожидание подтверждается некоторыми моделями вX2 X5
R
. Для этого я повторил процедуру «подъема», создав почти коллинеарные копии второй переменной во второй, третий, четвертый и пятый раз, назвав их от до . Вот матрица рассеяния, показывающая, как эти последние четыре переменные хорошо коррелируют:X 5PCA выполняется с использованием корреляций (хотя для этих данных это не имеет значения), с использованием первых двух переменных, затем трех, ... и, наконец, пяти. Я показываю результаты, используя графики вклада основных компонентов в общую дисперсию.
Первоначально, с двумя почти некоррелированными переменными, вклады почти равны (верхний левый угол). После добавления одной переменной, соотнесенной со второй - точно так же, как на геометрической иллюстрации, - все еще остается только два основных компонента, один теперь в два раза больше другого. (Третий компонент отражает отсутствие идеальной корреляции; он измеряет «толщину» облака на трехмерной диаграмме рассеяния.) После добавления другой коррелированной переменной ( ) первый компонент теперь составляет около трех четвертей от общего числа. ; после добавления пятой части первый компонент составляет почти четыре пятых от общего числа. Во всех четырех случаях компоненты после второго, вероятно, будут считаться несущественными для большинства диагностических процедур PCA; в последнем случае этоX4 один главный компонент стоит рассмотреть.
Теперь мы можем видеть, что может быть полезно отбросить переменные, которые, как считается, измеряют один и тот же базовый (но «скрытый») аспект набора переменных , потому что включение почти избыточных переменных может привести к тому, что СПС переоценит их вклад. В такой процедуре нет ничего математически правильного (или неправильного); это суждение, основанное на аналитических целях и знаниях данных. Но должно быть совершенно ясно, что откладывание переменных, о которых известно, что они сильно коррелируют с другими, может оказать существенное влияние на результаты PCA.
Вот
R
кодисточник
Далее я проиллюстрирую тот же процесс и идею, что и @whuber, но с графиками загрузки, потому что загрузки являются основой результатов PCA.
Затем идут графики загрузок первых 2 главных компонентов. Красные пики на графиках говорят о корреляциях между переменными, так что группа из нескольких пиков - это то место, где находится кластер тесно коррелированных переменных. Компоненты - серые линии; Относительная «прочность» компонента (его относительная величина собственного значения) определяется весом линии.
Можно наблюдать два эффекта добавления «копий»:
Я не буду возобновлять мораль, потому что @whuber уже сделал это.
Addition2. Кроме того, я говорил о «переменном пространстве» и «предметном пространстве», как будто они несовместимы друг с другом, как вода и масло. Мне пришлось пересмотреть это и, возможно, сказать, что - по крайней мере, когда мы говорим о PCA - оба конца в конце изоморфны, и благодаря этому мы можем правильно отобразить все детали PCA - точки данных, переменные оси, оси компонентов, переменные как баллов, - на одном неискаженном биплоте.
Ниже приведены диаграмма рассеяния (переменное пространство) и диаграмма загрузки (пространство компонентов, которое по своему генетическому происхождению является предметным пространством). Все, что можно было показать на одном, можно было бы показать и на другом. Изображения идентичны , повернуты только на 45 градусов (и отражены, в данном конкретном случае) относительно друг друга. Это был PCA переменных v1 и v2 (стандартизированный, таким образом, именно r был проанализирован). Черные линии на картинках - это переменные в виде осей; зеленые / желтые линии являются компонентами в виде осей; синие точки - облако данных (субъекты); красные точки - это переменные, отображаемые в виде точек (векторов).
источник
The software was free to choose any orthogonal basis for that space, arbitrarily
относится к круглому облаку в переменном пространстве (то есть диаграмме рассеяния данных, как на первом изображении в вашем ответе), но график загрузки - это предметное пространство, где переменные, а не случаи, являются точками (векторами).Без подробностей из вашей статьи я бы предположил, что это отбрасывание высококоррелированных переменных было сделано просто для того, чтобы сэкономить на вычислительной мощности или рабочей нагрузке. Я не вижу причин, почему PCA «сломался» для высококоррелированных переменных. Проецирование данных обратно на базы, найденные PCA, имеет эффект отбеливания данных (или отмены их корреляции). В этом весь смысл PCA.
источник
Из моего понимания коррелированные переменные в порядке, потому что PCA выводит векторы, которые являются ортогональными.
источник
Ну, это зависит от вашего алгоритма. Высоко коррелированные переменные могут означать плохо обусловленную матрицу. Если вы используете алгоритм, который чувствителен к этому, это может иметь смысл. Но я осмелюсь сказать, что большинство современных алгоритмов, используемых для определения собственных значений и собственных векторов, устойчивы к этому. Попробуйте удалить сильно коррелированные переменные. Значительно ли меняются собственные значения и собственный вектор? Если они это сделают, то плохая обусловленность может быть ответом. Поскольку сильно коррелированные переменные не добавляют информацию, декомпозиция PCA не должна меняться
источник
Зависит от того, какой метод выбора компонентов вы используете, не так ли?
Я склонен использовать любой принципиальный компонент с собственным значением> 1. Так что это не повлияет на меня.
А из приведенных выше примеров даже метод создания осыпи обычно выбирает правильный. ЕСЛИ ВЫ СОХРАНИТЕ ВСЕ ДО ПОТЕРЯ. Однако, если вы просто выбрали основной компонент с «доминирующим» собственным значением, вы бы сбились с пути. Но это не правильный способ использования сюжета!
источник