在SAS中进行主体数据分析的正确方法

时间:2018-06-28 23:12:17

标签: sas pca

我正在尝试在SAS中进行PCA;这是我写的原始代码:

  ods output Eigenvalues=EVTABLE Eigenvectors=EVCTABLE;
  PROC factor DATA=REPLACED_PRINCECOMP EIGENVECTORS;
  RUN;
  ods output close;

但是,当我用python sklearn pca对结果进行交叉检查时,累积的解释方差比率存在巨大差异(python在第一个特征向量中产生90%,而SAS仅产生5%)。

因此,我更改了代码,添加了METHOD=principal

  ods output Eigenvalues=EVTABLE Eigenvectors=EVCTABLE;
  PROC factor DATA=REPLACED_PRINCECOMP METHOD=principal COV EIGENVECTORS;
  RUN;
  ods output close;

现在,PCA结果返回到与python结果相同的范围(在第一个特征向量中解释了大约90%的方差)。

我想知道造成差异的原因是什么?是METHOD=principal吗?但是我给人的印象是,根据documentation,默认方法是主体方法,这就是为什么我没有首先添加它的原因。

此外,后面的代码还具有一个奇怪的功能。它产生的特征值和特征向量数量比python的sklearn包PCA少。是因为我没有指定nfactor变量吗?

0 个答案:

没有答案