2013-04-02 3 views
9

Im пытается сделать факторный анализ с использованием R с вращением варимакса, но не успешным. Я запускаю те же точные данные по SAS и могу получить результат.факторный анализ с использованием R

в R, если я использую

fa(r=cor(m1), nfactors=8, fm="ml", rotate="varimax") 

я получить

In smc, the correlation matrix was not invertible, smc's returned as 1s 
In smc, the correlation matrix was not invertible, smc's returned as 1s 
Error in optim(start, FAfn, FAgr, method = "L-BFGS-B", lower = 0.005, : 
    L-BFGS-B needs finite values of 'fn' 
In addition: Warning messages: 
1: In cor.smooth(R) : Matrix was not positive definite, smoothing was done 
2: In cor.smooth(R) : Matrix was not positive definite, smoothing was done 
3: In log(e) : NaNs produced 

, если я использую

factanal(cor(m1), factors=8) 

я получит

Error in solve.default(cv) : 
    system is computationally singular: reciprocal condition number = 4.36969e-19 

Может ли кто-нибудь помочь мне, как успешно выполнить факторный анализ с использованием R. Спасибо.

Тк заранее

+0

Обе функции показывают, что корреляционная матрица вырождена. Вы заглянули в документацию SAS, чтобы узнать, что делает функция в случае особых матриц? Возможно, у него есть какой-то способ обойти это, и именно по этой причине он дает результат. – Edwin

+0

обновление, если я не задал коэффициентов <8, я могу получить правильные результаты – user1940902

+0

из документа SAS «Квадратные множественные корреляции (SMC) каждой переменной со всеми другими переменными используются в качестве оценок предшествующей совокупности. Если ваша корреляция матрица единственная, вы должны указать PRIORS = MAX вместо PRIORS = SMC. " – user1940902

ответ

12

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

Это означает, что вам нужно использовать другой метод факторного анализа. Использование fa() в пакете psych у вас есть два варианта для выполнения факторного анализа дается особая матрица:

  • pa (Principal факторный анализ оси)
  • minres (минимальный остаточный факторный анализ)

Однако, учитывая ваши данные, только minres, как представляется, приносят полезные результаты, хотя и со многими предупреждениями о вреде для здоровья:

library(psych) 
library(GPArotation) 
fa(r=cor(m1), nfactors=8, rotate="varimax", SMC=FALSE, fm="minres") 

Это дает:

In smc, the correlation matrix was not invertible, smc's returned as 1s 
In factor.stats, the correlation matrix is singular, an approximation is used 
In factor.scores, the correlation matrix is singular, an approximation is used 
I was unable to calculate the factor score weights, factor loadings used instead 
Factor Analysis using method = minres 
Call: fa(r = cor(m1), nfactors = 8, rotate = "varimax", SMC = FALSE, 
    fm = "minres") 
Standardized loadings (pattern matrix) based upon correlation matrix 
       MR1 MR3 MR2 MR6 MR5 MR4 MR7 MR8 h2 u2 
Adorable  0.64 0.69 0.04 0.26 0.05 0.04 0.01 0.14 0.98 0.020 
Appealing  0.69 0.66 0.06 0.22 0.06 0.00 0.03 0.08 0.98 0.021 
Beautiful  0.39 0.82 -0.16 0.11 0.24 -0.05 -0.07 -0.08 0.93 0.071 
Boring  -0.49 -0.70 0.33 -0.27 0.01 0.03 0.11 -0.16 0.95 0.054 
Calm   0.76 0.42 0.33 0.10 0.28 -0.04 0.02 0.05 0.96 0.038 
Charming  0.62 0.75 0.04 0.15 0.07 -0.03 0.03 0.01 0.98 0.024 
Chic   0.07 0.94 -0.13 0.17 -0.03 0.12 -0.02 0.02 0.95 0.048 
Childish  -0.13 0.00 0.04 0.04 -0.04 0.98 0.01 0.00 0.98 0.016 
Classic  0.82 0.16 0.28 -0.31 0.14 0.10 0.16 0.06 0.94 0.058 
Comfortable 0.66 0.50 0.19 0.39 0.27 -0.02 0.13 0.08 0.97 0.033 
Cool   0.81 0.43 0.03 0.32 0.00 0.01 -0.03 0.20 0.98 0.016 
Creative  0.78 0.37 -0.41 0.14 -0.05 0.06 -0.05 0.20 0.98 0.024 
Crowded  -0.34 -0.12 -0.77 -0.13 -0.18 0.04 0.44 0.00 0.96 0.041 
Cute   0.50 0.78 0.03 0.18 0.07 0.25 -0.09 0.14 0.98 0.024 
Elegant  0.67 0.70 0.07 -0.04 0.10 -0.14 0.03 0.07 0.98 0.021 
Feminine  0.09 0.96 0.00 0.01 0.01 -0.02 0.04 0.03 0.93 0.069 
Fun   0.58 0.45 -0.21 0.56 0.01 0.20 -0.06 -0.08 0.95 0.054 
Futuristic  0.91 0.26 -0.10 0.14 -0.07 -0.03 -0.18 -0.08 0.98 0.021 
Gorgeous  0.82 0.52 -0.04 0.14 0.05 -0.09 -0.08 -0.01 0.98 0.019 
Impressive  0.82 0.48 -0.02 0.23 0.05 0.00 -0.10 0.07 0.98 0.021 
Interesting 0.72 0.55 0.05 0.34 0.15 0.01 -0.13 0.03 0.98 0.020 
Light   0.20 0.49 0.30 0.72 0.22 0.03 -0.03 0.02 0.93 0.065 
Lively   0.62 0.66 -0.06 0.37 0.16 0.00 -0.04 -0.03 0.98 0.021 
Lovely   0.68 0.68 -0.04 0.12 0.19 -0.03 -0.08 0.01 0.98 0.019 
Luxury   0.89 0.36 -0.02 0.00 0.08 -0.15 -0.04 -0.07 0.96 0.036 
Masculine  0.91 -0.06 -0.05 0.24 0.05 -0.08 0.00 -0.17 0.94 0.063 
Mystic   0.95 0.05 0.13 0.01 -0.03 0.00 -0.10 0.00 0.93 0.069 
Natural  0.47 0.32 0.42 0.19 0.57 -0.17 0.23 0.02 0.95 0.050 
Neat   -0.07 0.06 0.27 0.08 0.93 -0.01 -0.06 -0.01 0.96 0.042 
Oldfashioned -0.64 -0.54 0.20 -0.31 0.16 0.13 0.27 -0.16 0.97 0.026 
Plain   -0.23 -0.19 0.88 -0.06 0.18 0.06 0.14 -0.14 0.94 0.062 
Pretty   0.66 0.68 0.06 0.17 0.16 -0.11 0.01 0.10 0.97 0.029 
Professional 0.82 0.41 0.09 0.18 0.16 -0.18 0.04 0.13 0.96 0.039 
Refreshing  0.54 0.58 0.19 0.45 0.30 -0.03 0.10 0.07 0.98 0.021 
Relaxing  0.56 0.65 0.34 0.26 0.21 -0.04 0.13 -0.03 0.97 0.026 
Sexy   0.35 0.81 0.27 0.05 -0.01 -0.24 0.01 -0.19 0.94 0.056 
Simple   0.08 0.01 0.96 0.08 0.09 0.02 0.04 0.12 0.96 0.041 
Sophisticated 0.86 0.44 -0.01 0.04 -0.04 -0.12 0.08 0.05 0.96 0.040 
Stylish  0.77 0.58 0.06 0.15 0.00 -0.07 0.07 0.08 0.97 0.030 
Surreal  0.85 0.39 0.14 0.18 -0.05 0.02 0.08 -0.02 0.93 0.067 

         MR1 MR3 MR2 MR6 MR5 MR4 MR7 MR8 
SS loadings   16.50 11.81 3.57 2.45 1.89 1.34 0.55 0.37 
Proportion Var   0.41 0.30 0.09 0.06 0.05 0.03 0.01 0.01 
Cumulative Var   0.41 0.71 0.80 0.86 0.91 0.94 0.95 0.96 
Proportion Explained 0.43 0.31 0.09 0.06 0.05 0.03 0.01 0.01 
Cumulative Proportion 0.43 0.74 0.83 0.89 0.94 0.98 0.99 1.00 

Test of the hypothesis that 8 factors are sufficient. 

The degrees of freedom for the null model are 780 and the objective function was NaN 
The degrees of freedom for the model are 488 and the objective function was NaN 

The root mean square of the residuals (RMSR) is 0.01 
The df corrected root mean square of the residuals is 0.02 

Fit based upon off diagonal values = 1 
Measures of factor score adequacy    
               MR1 MR3 MR2 MR6 MR5 MR4 MR7 MR8 
Correlation of scores with factors    1 1 1 1.00 1.00 1.00 1.00 0.99 
Multiple R square of scores with factors   1 1 1 1.00 1.00 1.00 0.99 0.98 
Minimum correlation of possible factor scores 1 1 1 0.99 0.99 0.99 0.98 0.97 
Warning messages: 
1: In cor.smooth(R) : Matrix was not positive definite, smoothing was done 
2: In log(det(m.inv.r)) : NaNs produced 
3: In log(det(r)) : NaNs produced 
4: In cor.smooth(r) : Matrix was not positive definite, smoothing was done 
5: In cor.smooth(r) : Matrix was not positive definite, smoothing was done 
Смежные вопросы