Выводы из результатов анализа главных компонентов

9

Я пытаюсь понять вывод анализа главных компонентов, выполняемого следующим образом:

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> res = prcomp(iris[1:4], scale=T)
> res
Standard deviations:
[1] 1.7083611 0.9560494 0.3830886 0.1439265

Rotation:
                    PC1         PC2        PC3        PC4
Sepal.Length  0.5210659 -0.37741762  0.7195664  0.2612863
Sepal.Width  -0.2693474 -0.92329566 -0.2443818 -0.1235096
Petal.Length  0.5804131 -0.02449161 -0.1421264 -0.8014492
Petal.Width   0.5648565 -0.06694199 -0.6342727  0.5235971
> 
> summary(res)
Importance of components:
                          PC1    PC2     PC3     PC4
Standard deviation     1.7084 0.9560 0.38309 0.14393
Proportion of Variance 0.7296 0.2285 0.03669 0.00518
Cumulative Proportion  0.7296 0.9581 0.99482 1.00000
> 

Я склоняюсь к заключению следующего вывода:

  1. Дисперсионная пропорция показывает, сколько общей дисперсии существует в дисперсии конкретного основного компонента. Следовательно, вариабельность PC1 объясняет 73% от общей дисперсии данных.

  2. Показанные значения вращения такие же, как «нагрузки», упомянутые в некоторых описаниях.

  3. Рассматривая повороты PC1, можно сделать вывод, что Sepal.Length, Petal.Length и Petal.Width напрямую связаны, и все они обратно связаны с Sepal.Width (который имеет отрицательное значение при вращении PC1).

  4. У растений может быть фактор (некоторая химическая / физическая функциональная система и т. Д.), Который может влиять на все эти переменные (Sepal.Length, Petal.Length и Petal.Width в одном направлении и Sepal.Width в противоположном направлении).

  5. Если я хочу показать все повороты на одном графике, я могу показать их относительный вклад в общее изменение, умножив каждое вращение на пропорцию дисперсии этого основного компонента. Например, для ПК1 повороты 0,52, -0,26, 0,58 и 0,56 умножаются на 0,73 (пропорциональная дисперсия для ПК1, показанная в итоговом (рез) выходе.

Я прав насчет приведенных выше выводов?

Изменить вопрос 5: я хочу показать все чередования в простой диаграмме следующим образом: введите описание изображения здесь

Поскольку ПК2, ПК3 и ПК4 вносят все меньший вклад в изменение, имеет ли смысл регулировать (уменьшать) нагрузки переменных там?

rnso
источник
Re (5): то, что вы называете «нагрузками», на самом деле не нагрузки, а собственные векторы ковариационной матрицы, или главные направления, или главные оси. «Нагрузки» - это собственные векторы, умноженные на квадратные корни их собственных значений, то есть на квадратные корни пропорции объясненной дисперсии. Загрузки имеют много хороших свойств и полезны для интерпретации, см., Например, эту тему: Загрузки против собственных векторов в PCA: когда использовать тот или иной? Так что да, имеет смысл масштабировать ваши собственные векторы, просто используйте квадратные корни объясненной дисперсии.
амеба
@amoeba: Что изображено в биплоте PCA, вращений или нагрузок?
rnso
Чаще всего нагрузки наносятся на график, см. Мой ответ здесь для дальнейшего обсуждения.
амеба

Ответы:

9
  1. Да. Это правильная интерпретация.
  2. Да, значения вращения указывают значения загрузки компонента. Это подтверждается prcomp документацией , хотя я не уверен, почему они обозначают эту часть аспекта «Вращение», поскольку это подразумевает, что нагрузки были повернуты с использованием некоторого ортогонального (вероятного) или наклонного (менее вероятного) метода.
  3. Хотя похоже, что Sepal.Length, Petal.Length и Petal.Width все связаны положительно, я бы не стал так много использовать для небольшой отрицательной загрузки Sepal.Width на ПК1; он загружается намного сильнее (почти исключительно) на ПК2. Чтобы быть ясным, Sepal.Width все еще, вероятно, негативно связан с другими тремя переменными, но, похоже, он не сильно связан с компонентом первого принципа.
  4. Основываясь на этом вопросе, я задаюсь вопросом, будет ли вам лучше обслуживаться с помощью анализа общего фактора (CF), а не анализа основных компонентов (PCA). CF является более подходящим методом сокращения данных, когда ваша цель состоит в том, чтобы раскрыть значимые теоретические измерения - например, фактор растения, который вы выдвигаете, может повлиять на Sepal.Length, Petal.Length и Petal.Width. Я ценю, что вы из какой-то биологической науки - возможно, ботаники - но есть несколько хороших работ по психологии о различии PCA v. CF от Fabrigar et al., 1999, Widaman, 2007 и других. Основное различие между ними заключается в том, что PCA предполагает, что все отклонения представляют собой отклонения истинного значения - ошибка не допускается - тогда как CF разбивает истинное значение показателя отклонения от отклонения ошибки до того, как извлекаются факторы и оцениваются нагрузки факторов. В конечном счете, вы можете получить похожее решение, которое иногда делают люди, но когда они расходятся, обычно PCA переоценивает значения нагрузки и недооценивает корреляции между компонентами. Дополнительным преимуществом подхода CF является то, что вы можете использовать оценку максимального правдоподобия для выполнения тестов значимости загрузки значений, а также получать некоторые показатели того, насколько хорошо ваше выбранное решение (1 фактор, 2 фактора, 3 фактора или 4 фактора) объясняет ваши данные.
  5. Я бы построил значения коэффициента загрузки, как вы, без взвешивания их баров по доле дисперсии для их соответствующих компонентов. Я понимаю, что вы хотите попытаться показать таким подходом, но я думаю, что это может привести читателей к неправильному пониманию значений загрузки компонентов из вашего анализа. Однако, если вам нужен визуальный способ отображения относительной величины дисперсии, учитываемой каждым компонентом, вы можете рассмотреть возможность управления непрозрачностью панелей групп (если вы используете ggplot2, я полагаю, что это делается с помощьюalphaэстетический), основанный на пропорции дисперсии, объясняемой каждым компонентом (то есть, более сплошные цвета = больше объяснения дисперсии). Однако, по моему опыту, ваша фигура не является типичным способом представления результатов PCA - я думаю, что таблица или две (нагрузки + дисперсия, объясненные в одном, корреляции компонентов в другом) были бы гораздо более простыми.

Ссылки

Fabrigar, LR, Wegener, DT, MacCallum, RC, & Strahan, EJ (1999). Оценка использования исследовательского факторного анализа в психологических исследованиях. Психологические методы , 4 , 272-299.

Видаман, KF (2007). Общие факторы против компонентов: принципы и принципы, ошибки и заблуждения . В R. Cudeck & RC MacCallum (Eds.), Факторный анализ на 100: Исторические события и будущие направления (стр. 177-203). Махва, Нью-Джерси: Лоуренс Эрлбаум.

jsakaluk
источник
2
+1, много хороших моментов здесь. Re (2): собственные векторы ковариационной матрицы здесь называются «вращением», потому что PCA - это, по существу, вращение системы координат, так что новая система координат выровнена с собственными векторами. Это не имеет ничего общего с «ортогональным / наклонным вращением факторов» в факторном анализе. Re (5): Я не уверен, что понимаю, что вы здесь имели в виду, и я также не понимаю, как OP хочет «показать» собственные векторы «в одном графике». Возможно, OP имеет в виду нечто вроде биплота. Тогда да, собственные векторы часто масштабируются по собственным значениям, но по их квадратным корням.
амеба
Хотя хороший сюжет на цветочные темы для вашей темы, @rnso :)
jsakaluk
1
  1. Нет, не общая дисперсия данных. Общая дисперсия данных, которые вы хотите выразить в четырех основных компонентах. Вы всегда можете найти больше общей дисперсии, добавив больше основных компонентов. Но это быстро разлагается.
штифтик
источник