Кои променливи се комбинират, за да формират по-голямата част от дисперсията за главен компонент в PCA?

Разбирам как работи PCA и как да го внедря в Matlab, но съм на загуба да разбера кои променливи допринасят най-силно за принципен компонент.

Въпросът ми е, да предположим, че имам набор от данни от променливи A, B, C, D, E, F. Неизвестно за мен, променливите A, B, C, E измерват почти едно и също нещо, а променливите D, F измерват различно нещо. Има малка корелация между променливите от набора (A,B,C,E) и набора (D,F).

PCA ми казва, че има 2 основни принципни компонента, които знам как да направя. Не знам как да идентифицирам, че A, B, C, E и D, F са две групи променливи, измерващи едни и същи неща в тази група. Всеки съвет по този въпрос ще бъде високо оценен.


person ndb    schedule 01.11.2013    source източник


Отговори (1)


Първо нека създадем някои данни, които се държат, както описахте - четири променливи, които измерват нещо подобно, и два фактора, които измерват нещо друго.

>> x = randn(100, 1);
>> y = randn(100, 1);
>> v = [[x,x,x,x] + 0.1*randn(100,4), [y,y]  + 0.1*randn(100,2)];

Сега намерете основните компоненти с извикване на pca

>> [coeff, scores, latent, tsq, explained] = pca(v);

Като разгледаме променливата latent можем да видим, че първите два основни компонента са доминиращи

>> latent
latent =
    5.4821
    2.0491
    0.0120
    0.0106
    0.0089
    0.0073

Сега, като разгледаме първите два реда на coeff (които съдържат зарежданията на всяка от вашите шест променливи върху първите два фактора), става ясно, че променливи 1-4 натоварват силно първия фактор (в синьо) и променливите 5- 6 натоварват силно втория фактор (в червено).

>> bar(coeff(1:2, :)')

въведете описание на изображението тук

person Chris Taylor    schedule 01.11.2013
comment
Между другото, вярвам, че искате да кажете „Вижте първите две КОЛОНИ, а не първите два реда“. Благодаря отново. - person ndb; 04.11.2013