[程式] PCA 出現Correlation matrix is singular
[軟體程式類別]:
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://www.ptt.cc/bbs/Statistics/M.1398883156.A.EDE.html
→
05/01 03:46, , 1F
05/01 03:46, 1F
→
05/01 03:59, , 2F
05/01 03:59, 2F
→
05/01 04:00, , 3F
05/01 04:00, 3F
→
05/01 04:00, , 4F
05/01 04:00, 4F
→
05/01 12:19, , 5F
05/01 12:19, 5F
→
05/01 12:21, , 6F
05/01 12:21, 6F
→
05/01 12:22, , 7F
05/01 12:22, 7F
→
05/01 12:24, , 8F
05/01 12:24, 8F
→
05/01 12:24, , 9F
05/01 12:24, 9F
→
05/01 12:26, , 10F
05/01 12:26, 10F
→
05/01 12:28, , 11F
05/01 12:28, 11F
→
05/01 12:57, , 12F
05/01 12:57, 12F
→
05/01 12:57, , 13F
05/01 12:57, 13F