作者realujen (ujen)
看板Statistics
标题[程式] PCA 出现Correlation matrix is singular
时间Thu May 1 02:39:14 2014
[软体程式类别]:
SAS
[程式问题]:
PCA 和 cluster 分析
[软体熟悉度]:
低(1~3个月) 非常粗浅> <
[问题叙述]:
最近要跑论文的资料,殊不知一跑就有挫折QQ
1.PCA
资料是整理成dummy的形式,想先将约70个变数用PCA先做删减
结果跑出来还是有分类好factor
可是日志上出现Correlation matrix is singular
造成一些後续的检定无法完成
一开始dummy 定义切的级距比较大只有0~3
出现上述的问题後,把级距切了更细,变成0~6
依然没解决,然後试着将出现0过多的变数手动删掉,
剩下了大概40出头的变数,可是一样问题没解决QQ
查了一下资料,说这样是多重共线性(?)
但解决方式都是说跑Proc Corr
或是Proc REG (VIF) 可以找到,可是我查了一下以前上的基础统计方法
这好像只能找到共线性的程度,无法帮忙确切找出哪几个变数共线
想请问各位大大,我有没有理解错误,是否用这两种code就能解决呢???
还有SAS可以直接写指令帮忙删除不要的变数吗?
我已经制造了无数个excel档案了(方法超笨
2.方法主要想要用PCA的因素得点去做cluster analysis
但因为不懂,code也是抄以前作业来改的,当时只着重要会解释结果...
所以其实很不清楚到底确切用了什麽方法
PCA:我不知道 code有没有用到因素转轴,请问是直交还是斜交?
Cluster:不知是用阶层式、非阶层式,或是两阶段分层法?
因为这两项不懂,导致在写第三章卡很久...
希望各位大大能给小女子不吝指教,论文死线迫在眉睫> <
[程式范例]:
这是我跑PCA的 code
proc factor data=*****
method=principal rotate=varimax corr msa scree plot;
var Q1-Q71;
run;
/*先跑因素分析找出因素得点*/
Proc Factor Data=*****
Method=Principal Rotate=Varimax Outstat=***
Score n=2;
Var Q1-Q71;
run;
Proc Score Data=***** Score=*** Out=**;
Var Q1-Q71;
run;
Proc Fastclus Data=** Maxc=2 Maxiter=10 out=**_clus;
Var Factor1 Factor2;
run;
Proc Plot Data=**_clus;
plot Factor1*Factor2=Cluster;
run;
quit;
Data 或是out 的名称请容许我马赛克,感觉打出来有点尴尬XD
以上cluster 部分是以前作业的,有个小疑问是当我factor不只有两个时,
我要在哪里调整我要分成更多个呢?
先在此感谢各位热心解答
感激不尽!!!OTL
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.241.44.24
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Statistics/M.1398883156.A.EDE.html
1F:→ andrew43:建议你试着先查SAS的线上手册吧。 05/01 03:46
2F:→ andrew43:至於PCA我猜是你有的dummy编成完全一样或完全线性相关 05/01 03:59
3F:→ andrew43:所造成的。 05/01 04:00
4F:→ andrew43:可以看看原资料是不是有某二个因子刚好完全一致? 05/01 04:00
5F:→ yhliu:真是乱... 05/01 12:19
6F:→ yhliu:既然是 "切级距", 表示原资料是计量的. PCA 是计量资料做 05/01 12:21
7F:→ yhliu:线性组合, 使组合变数相互间零相关. 05/01 12:22
8F:→ yhliu:把本就适合 PCA 的资料型态变成不适合的类别虚拟变数再硬套 05/01 12:24
9F:→ yhliu:PCA, 实在搞不懂怎会想到这种做法. 05/01 12:24
10F:→ yhliu:再者, PCA 不是 factor analysis, 不应还做什麽转轴. 05/01 12:26
11F:→ yhliu:虽然, 转轴也不是绝对不可, 但就有点失去了 "主成分" 原意. 05/01 12:28
12F:→ realujen:谢谢各位解答!那我再试试看用原始资料跑跑看 05/01 12:57
13F:→ realujen:我也是听指导教授指示直接这样做的 >< 05/01 12:57