На что указывает клиновидная форма графика PCA?

9

В своей работе по автоассоциатор для текста классификации Хинтон и Салахутдинов показал сюжет , полученный на 2-мерной LSA (который тесно связан с PCA) 2-димный LSA.

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

Если мы подадим случайные данные в PCA, мы получим шарик в форме диска, поэтому эта клиновидная форма не случайна. Означает ли это что-нибудь само по себе?

macleginn
источник
6
Я предполагаю, что все переменные положительны (или неотрицательны) и непрерывны? Если это так, то края клина - это просто точки, за которыми данные станут 0 / отрицательными. Кроме того, вы можете получить тот же шаблон, который вы показываете с положительными перекошенными правыми переменными; наблюдения сгруппированы в нижней части. Если бы у вас были положительные однородные случайные величины, вы бы увидели (повернутый) квадрат. Следовательно, шаблоны, подобные тому, который вы показываете, являются просто ограничениями для данных. Другие шаблоны могут отображаться, как подкова, но это не связано с ограничениями диапазонов переменных.
Гэвин Симпсон
1
@GavinSimpson Это значительно больше, чем комментарий. Почему бы не развернуть это в ответ?
Майк Хантер
Я спросил своих детей (3 и 4 года), что им напоминают эти фотографии, и они сказали, что это рыба. Так что, возможно, "рыбоподобная форма"?
amoeba
@GavinSimpson, спасибо! В обоих случаях переменные действительно неотрицательны, но в обоих случаях они целочисленные. Это что-то меняет?
macleginn

Ответы:

6

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

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

Вот пример использования нескольких нормально распределенных переменных:

library("vegan")
set.seed(1)
df <- data.frame(matrix(rlnorm(5*10000), ncol = 5))
plot(rda(df), display = "sites")

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

В зависимости от поворота, подразумеваемого первыми двумя ПК, вы можете увидеть клин или несколько другую версию, показанную здесь в 3d с использованием ( ordirgl()вместо plot())

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

Здесь в 3d мы видим несколько шипов, выступающих из центральной массы.

Икся~(N)(μзнак равно0,σзнак равно1)

set.seed(1)
df2 <- data.frame(matrix(rnorm(5*10000), ncol = 5))
plot(rda(df2), display = "sites")

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

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

А для равномерных положительных случайных величин мы видим куб

set.seed(1)
df3 <- data.frame(matrix(runif(3*10000), ncol = 3))
plot(rda(df3), display = "sites")

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

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

Обратите внимание, что здесь для иллюстрации я показываю форму, используя всего 3 случайные величины, поэтому точки описывают куб в 3d. При более высоких измерениях / большем количестве переменных мы не можем идеально представить 5-мерный гиперкуб в 3d, и, следовательно, отчетливая форма "куба" несколько искажается. Подобные проблемы влияют на другие показанные примеры, но все еще легко увидеть ограничения в этих примерах.

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

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

ll <- data.frame(Species1 = c(1,2,4,7,8,7,4,2,1,rep(0,10)),
                 Species2 = c(rep(0, 5),1,2,4,7,8,7,4,2,1, rep(0, 5)),
                 Species3 = c(rep(0, 10),1,2,4,7,8,7,4,2,1))
rownames(ll) <- paste0("site", seq_len(NROW(ll)))
matplot(ll, type = "o", col = 1:3, pch = 21:23, bg = 1:3,
        ylab = "Abundance", xlab = "Sites")

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

которая производит крайнюю подкову, где точки на концах осей изгибаются обратно в середину.

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

Гэвин Симпсон
источник
+1. Возможно, имеет смысл сослаться на свой собственный ответ здесь. Что такое «эффект подковы» и / или «эффект арки» в PCA / анализе корреспонденции? в последней части этого ответа.
амеба