Висновки з результатів аналізу основних компонентів


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. Якщо я хочу показати всі обертання в одному графіку, я можу показати їх відносний внесок у загальну зміну шляхом множення кожного обертання на пропорцію дисперсії цього головного компонента. Наприклад, для PC1 обертання 0,52, -0,26, 0,58 і 0,56 множать на 0,73 (пропорційна дисперсія для PC1, показана у підсумку (res)).

Я маю рацію щодо наведених вище висновків?

Редагувати щодо питання 5: Я хочу показати всі обертання в простому діаграмі наступним чином: введіть тут опис зображення

Оскільки PC2, PC3 та PC4 мають поступово менший внесок у зміни, чи буде сенс коригувати (зменшувати) завантаження змінних там?


Re (5): те, що ви називаєте "навантаженнями", насправді не навантаження, а власні вектори матриці коваріації, також основні напрямки, також основні осі. "Завантаження" - це власні вектори, помножені на квадратні корені їх власних значень, тобто на квадратні корені на частку поясненої дисперсії. Навантаження мають багато приємних властивостей і корисні для інтерпретації, див. Наприклад, цей потік: Завантаження проти власних векторів у PCA: коли використовувати те чи інше? Так що так, має сенс масштабувати власні вектори, просто використовуйте квадратні корені поясненої дисперсії.
амеба

@amoeba: Що зображено в біплоті PCA, обертаннях або навантаженнях?
rnso

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

Відповіді:


9
  1. Так. Це правильне тлумачення.
  2. Так, значення обертання вказують значення завантаження компонента. Це підтверджується prcomp документацією , хоча я не впевнений, чому вони позначають цю частину аспекту "Поворот", оскільки це означає, що навантаження повертаються за допомогою якогось ортогонального (ймовірно) або косого (менш вірогідного) методу.
  3. Незважаючи на те, що так виглядає, що Sepal.Length, Petal.Length і Petal.Width всі позитивно пов'язані, я б не поклав стільки запасів при невеликому негативному завантаженні Sepal.Width на PC1; він завантажується набагато сильніше (майже виключно) на PC2. Зрозуміло, що Sepal.Width все ще є негативно пов'язаним з іншими трьома змінними, але це, здається, не є сильно пов'язаним з першим компонентом принципу.
  4. Виходячи з цього питання, мені цікаво, чи вам краще послужити, використовуючи аналіз загального фактора (CF), а не аналіз основних компонентів (PCA). CF - це скоріше відповідна методика зменшення даних, коли ваша мета полягає в розкритті значущих теоретичних розмірів - наприклад, фактор рослини, про який ви гіпотезуєте, може впливати на Sepal.Length, Petal.Length і Petal.Width. Я вдячний, що ви з якоїсь біологічної науки - можливо, ботаніки, - але в «Психології» є відмінна література щодо відмінності PCA проти 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.

Відаман, К.Ф. (2007). Загальні фактори та компоненти: Основні принципи, принципи, помилки та помилки . У R. Cudeck & RC MacCallum (ред.), Факторний аналіз на 100: Історичні події та майбутні напрямки (с. 177-203). Махва, штат Нью-Джерсі: Лоуренс Ерльбаум.


2
+1, тут багато хороших моментів. Re (2): власні вектори матриці коваріації тут називаються "обертання", оскільки PCA по суті є обертанням системи координат таким чином, що нова система координат вирівнюється з власними векторами. Це не має нічого спільного з "ортогональним / косим обертанням факторів" при факторному аналізі. Re (5): Я не впевнений, що я розумію, що ви тут мали на увазі, і я також не розумію, як ОП хоче "показати" власні вектори "одним графіком". Можливо, ОП має на увазі щось на зразок біплоту. Тоді так, власні вектори часто масштабуються власними значеннями, але їх квадратними коренями.
амеба

Хоча приємний квітковий сюжет для вашої теми, @rnso :)
jsakaluk

1
  1. Ні, не загальна дисперсія даних. Загальна дисперсія даних, які ви хочете висловити в чотирьох компонентах. Завжди можна знайти більше загальної дисперсії, додавши більше принципових компонентів. Але це швидко розпадається.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.