Анализ главных компонентов (PCA) в R: почему оценки не ортогональны? (с использованием пакета Psych)

Я запустил PCA в R, используя функцию Principal() в пакете «psych». Я сделал аргумент «rotate = «none»», который запрашивает метод ортогонального вращения. Насколько я понимаю, оценки ПК1 и ПК2 должны быть ортогональными (т. е. должна быть нулевая корреляция между (необработанными данными)(загрузка ПК1) и (необработанными данными)(загрузка ПК2). Однако , у меня корреляция 90%. Почему?

> #load the package
> library(psych)

> #calculate the correlation matrix
> corMat  <- cor(data)

> #run PCA
> pca.results <- principal(r = corMat,**rotate ="none"**, nfactors = 20,covar=FALSE,scores=TRUE)
> pca.results`enter code here`
Principal Components Analysis
Call: principal(r = corMat, nfactors = 20, rotate = "none", covar = FALSE,
    scores = TRUE)
Standardized loadings (pattern matrix) based upon correlation matrix
                                **PC1   PC2**   PC3   PC4   PC5   PC6   PC7   PC8   PC9
payroll.chg                   -0.30  0.85  0.21  0.35 -0.03  0.02  0.07 -0.11 -0.02
HH.empl.chg                   -0.26  0.62  0.64 -0.35  0.01 -0.06  0.06  0.00  0.01
pop.empl.ratio                -0.92 -0.34  0.13  0.04  0.06 -0.03 -0.04  0.03 -0.04
u.rate                         0.99  0.10  0.02  0.04  0.01  0.04  0.04  0.04  0.01
median.duration.unempl         0.88  0.44 -0.02  0.02 -0.04  0.06  0.02  0.13 -0.05
LT.unempl.unempl.ratio         0.86  0.49 -0.04  0.01 -0.07  0.02  0.00  0.08 -0.02
U4                             0.99  0.13  0.01  0.03  0.01  0.04  0.04  0.05  0.01
U6                             0.98  0.13 -0.05 -0.02  0.00  0.06  0.04  0.03  0.04
vacancy.rate                  -0.87  0.35 -0.18 -0.11 -0.01  0.22  0.10  0.03 -0.01
hires.rate                    -0.92  0.08  0.24  0.21 -0.16  0.06  0.00  0.05  0.09
unemployed.to.employed         0.89  0.17  0.21 -0.02  0.05  0.24 -0.25 -0.05  0.00
Layoff.rate..JOLT.             0.23 -0.86  0.19 -0.03 -0.40  0.09  0.03 -0.02 -0.05
Exhaustion.rate                0.95  0.19  0.14  0.14  0.00 -0.07  0.01  0.06 -0.04
Quits.rate..JOLT.             -0.98  0.01  0.04  0.04  0.01  0.02 -0.06  0.10  0.13
participation.rate            -0.67 -0.61  0.31  0.14  0.16 -0.01 -0.03  0.11 -0.08
insured.u.rate                 0.88 -0.40  0.17  0.08  0.12  0.05  0.09 -0.03  0.02
Initial.jobless.claims         0.78 -0.60  0.04 -0.06  0.06  0.05  0.07  0.02  0.07
Continuing.claims              0.86 -0.44  0.15  0.06  0.14  0.08  0.09 -0.05  0.03
Jobs.plentiful.jobs.hardtoget -0.98  0.00 -0.02  0.01  0.08  0.13  0.04 -0.02 -0.04
vacancy.unempl.ratio          -0.97  0.04 -0.05 -0.03  0.08  0.18  0.07  0.03 -0.03

                               PC10  PC11  PC12  PC13  PC14  PC15  PC16  PC17  PC18
payroll.chg                   -0.06  0.02 -0.02  0.00  0.03  0.00  0.00  0.00  0.00
HH.empl.chg                    0.01  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
pop.empl.ratio                -0.02  0.00 -0.01  0.01  0.00  0.00  0.00  0.01  0.01
u.rate                        -0.01  0.00  0.03 -0.03  0.02  0.00  0.00 -0.01 -0.01
median.duration.unempl         0.02  0.05 -0.06 -0.01 -0.03  0.01 -0.02  0.00  0.00
LT.unempl.unempl.ratio         0.01  0.02 -0.01  0.02  0.00  0.00  0.05  0.00  0.00
U4                            -0.01  0.00  0.04 -0.02  0.02  0.00 -0.01 -0.01  0.01
U6                            -0.01  0.01  0.03 -0.03  0.02 -0.02  0.00  0.03  0.00
vacancy.rate                  -0.08 -0.06  0.01  0.01 -0.01  0.04  0.00  0.00  0.00
hires.rate                     0.01  0.00  0.04  0.00 -0.06 -0.01  0.00  0.00  0.00
unemployed.to.employed        -0.01  0.00  0.00  0.01  0.00  0.00  0.00  0.00  0.00
Layoff.rate..JOLT.             0.01  0.00 -0.01 -0.01  0.03  0.00  0.00  0.00  0.00
Exhaustion.rate                0.05 -0.07  0.02  0.06  0.01 -0.01 -0.02  0.00  0.00
Quits.rate..JOLT.              0.04 -0.01 -0.04  0.00  0.05  0.02  0.00  0.00  0.00
participation.rate            -0.06  0.00  0.02 -0.02  0.01  0.01  0.01  0.00  0.00
insured.u.rate                 0.04 -0.02 -0.02  0.00 -0.02  0.02  0.01  0.00  0.02
Initial.jobless.claims        -0.09  0.06  0.00  0.06  0.01 -0.01 -0.01  0.00  0.00
Continuing.claims              0.05 -0.02 -0.02 -0.02 -0.01  0.01  0.01  0.01 -0.02
Jobs.plentiful.jobs.hardtoget  0.11  0.07  0.05  0.02  0.01  0.02  0.00  0.00  0.00
vacancy.unempl.ratio           0.03 -0.01 -0.03  0.00  0.01 -0.06  0.00  0.00  0.00

                               PC19  PC20 h2       u2
payroll.chg                    0.00  0.00  1  5.6e-16
HH.empl.chg                    0.00  0.00  1 -2.9e-15
pop.empl.ratio                 0.01  0.01  1 -1.6e-15
u.rate                        -0.01  0.01  1  1.1e-16
median.duration.unempl         0.00  0.00  1 -4.4e-16
LT.unempl.unempl.ratio         0.00  0.00  1 -6.7e-16
U4                             0.01  0.00  1 -4.4e-16
U6                             0.00  0.00  1  2.2e-16
vacancy.rate                   0.00  0.00  1  0.0e+00
hires.rate                     0.00  0.00  1  4.4e-16
unemployed.to.employed         0.00  0.00  1 -2.2e-16
Layoff.rate..JOLT.             0.00  0.00  1 -2.2e-15
Exhaustion.rate                0.00  0.00  1 -4.4e-16
Quits.rate..JOLT.              0.00  0.00  1  1.1e-16
participation.rate             0.00 -0.01  1  5.6e-16
insured.u.rate                -0.01  0.00  1 -6.7e-16
Initial.jobless.claims         0.00  0.00  1 -2.0e-15
Continuing.claims              0.01  0.00  1 -6.7e-16
Jobs.plentiful.jobs.hardtoget  0.00  0.00  1  2.2e-16
vacancy.unempl.ratio           0.00  0.00  1 -2.2e-16

                        PC1  PC2  PC3  PC4  PC5  PC6  PC7  PC8  PC9 PC10 PC11 PC12
SS loadings           14.23 3.73 0.83 0.37 0.28 0.20 0.12 0.07 0.05 0.05 0.02 0.02
Proportion Var         0.71 0.19 0.04 0.02 0.01 0.01 0.01 0.00 0.00 0.00 0.00 0.00
Cumulative Var         0.71 0.90 0.94 0.96 0.97 0.98 0.99 0.99 0.99 1.00 1.00 1.00
Proportion Explained   0.71 0.19 0.04 0.02 0.01 0.01 0.01 0.00 0.00 0.00 0.00 0.00
Cumulative Proportion  0.71 0.90 0.94 0.96 0.97 0.98 0.99 0.99 0.99 1.00 1.00 1.00

                      PC13 PC14 PC15 PC16 PC17 PC18 PC19 PC20
SS loadings           0.01 0.01 0.01    0    0    0    0    0
Proportion Var        0.00 0.00 0.00    0    0    0    0    0
Cumulative Var        1.00 1.00 1.00    1    1    1    1    1
Proportion Explained  0.00 0.00 0.00    0    0    0    0    0
Cumulative Proportion 1.00 1.00 1.00    1    1    1    1    1

Test of the hypothesis that 20 components are sufficient.

The degrees of freedom for the null model are  190  and the objective function was  68.46
The degrees of freedom for the model are -20  and the objective function was  0

Fit based upon off diagonal values = 1

person user2900972    schedule 20.10.2013    source источник
comment
'none' не указывает на вращение. Выберите другой метод вращения для ортогональных компонентов, например. варимакс   -  person user20650    schedule 21.10.2013
comment
Пробовал и варимакс, но все равно не ортогональный   -  person user2900972    schedule 21.10.2013


Ответы (2)


Чтобы найти оценки компонентов, вы можете пропустить шаг, на котором вы находите корреляции. директор сделает это за вас. Затем вы можете пропустить шаг, предложенный Хонг Оой, и просто найти баллы напрямую. Они должны быть ортогональны.

Используя ваш пример:

pca.results <- principal(data,nfactors=20,rotate='none')
#then correlate the scores
cor(pca.results$scores) #these should be orthogonal

Счет

person William Revelle    schedule 22.10.2013

У вас есть не баллы PCA, а нагрузки PCA. Чтобы получить последний, используйте метод predict на вашей модели. Вы должны обнаружить, что предсказанные оценки действительно не коррелируют друг с другом.

person Hong Ooi    schedule 21.10.2013