PCA в R - нужно ли переназначать элементы «prcomp», умножая отрицательный знак? - PullRequest
0 голосов
/ 09 мая 2020

Тренер делал это на видео. Он просто кратко объяснил, что делает это из-за природы R по умолчанию. Однако я никогда раньше не видел это приложение. Это правильно, и почему он это делает?

pca <- prcomp(data, scale=TRUE)
pca$rotation <- -pca$rotation
pca$x        <- -pca$x

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

PCA является алгоритмом unsupervised-learning и не идентифицирует информацию о группе.

Вы должны использовать матрицу вращения, чтобы попытаться лучше понять результаты.

Почему?

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

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

0 голосов
/ 09 мая 2020

Это немного странно, тут нет ничего общего с характером R et c. Это может иметь какое-то отношение к данным и к тому, для чего используется ПК. Поскольку данные масштабируются, добавляя отрицательное значение, вы просто переворачиваете оценки основных компонентов:

data = iris[,1:4]
pca <- prcomp(data, scale=TRUE)

par(mfrow=c(1,2))
plot(pca$x[,1:2],col=factor(iris$Species),main="original")
plot(-pca$x[,1:2],col=factor(iris$Species),main="negative")

enter image description here

Если вы используете его для регрессия и т.д. c .. это не имеет особого значения.

...