MATLAB与SPSS因子分析(FA)结果的区别

时间:2015-11-18 13:42:12

标签: matlab spss factor-analysis

这是我在IBM SPSS中的代码:

FACTOR 
  /VARIABLES VAR00001 VAR00002 VAR00003 VAR00004 VAR00005 VAR00006 
  /MISSING LISTWISE 
  /ANALYSIS VAR00001 VAR00002 VAR00003 VAR00004 VAR00005 VAR00006 
  /PRINT UNIVARIATE INITIAL CORRELATION SIG DET KMO INV REPR AIC EXTRACTION ROTATION 
  /PLOT EIGEN ROTATION 
  /CRITERIA MINEIGEN(1) ITERATE(25) 
  /EXTRACTION PC 
  /CRITERIA ITERATE(25) 
  /ROTATION VARIMAX 
  /METHOD=CORRELATION.

这是MATLAB R2015b的代码:

[lambda,psi,T,stats,F]=factoran(DATA,2,'rotate','varimax');

roteted组件矩阵的SPSS输出:

Rotated Component Matrix    
              Component 
               1      2
VAR00001    .973    -.062
VAR00002    .911    -.134
VAR00003    .833    -.035
VAR00004    .972    -.102
VAR00005    -.236   .823
VAR00006    .062    .878
Extraction Method: Principal Component Analysis. 
 Rotation Method: Varimax with Kaiser Normalization.        
a Rotation converged in 3 iterations.       

MATLAB lambda输出:

0.993085200854508   -0.0537771548307969
0.875990644597448   -0.147112975689921
0.748570753047806   -0.0343768914779775
0.987459815125692   -0.0988807726538385
-0.203059229288894  0.976610007465447
0.00719025397609984 0.475514010080256

为什么这些输出有所不同?我想在MATLAB中得到相同的结果。如你所知,SPSS忽略小于1的特征值。我想在MATLAB中使用相同的结构。我怎么能这样做?

PS。

MATLAB T输出:

0.622170579007477   -0.782881709211232
0.782881709211232   0.622170579007477

MATLAB psi输出:

0.0108898014620571
0.210998162961140
0.438460057014266
0.0151457063113246
0.00500000000002244
0.773834726466399

其他SPSS输出:

Component Matrix        
    Component   
              1        2
VAR00001    .964    .144
VAR00002    .919    .061
VAR00003    .821    .141
VAR00004    .971    .105
VAR00005    -.404   .755
VAR00006    -.124   .871
Extraction Method: Principal Component Analysis.        
a 2 components extracted.       


Component Transformation Matrix     
Component   1   2
1   .977    -.211
2   .211    .977
Extraction Method: Principal Component Analysis.  
 Rotation Method: Varimax with Kaiser Normalization.        

1 个答案:

答案 0 :(得分:1)

Matlab使用最大似然法提取因子。我认为你不能改变这一点。 SPSS使用主要组件作为默认值提取方法,这是您为SPSS分析选择的方法。那是另一个不同......