[程式] PCA 出現Correlation matrix is singular

看板Statistics作者 (ujen)時間11年前 (2014/05/01 02:39), 編輯推噓0(0013)
留言13則, 3人參與, 最新討論串1/1
[軟體程式類別]: 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
建議你試著先查SAS的線上手冊吧。
05/01 03:46, 1F

05/01 03:59, , 2F
至於PCA我猜是你有的dummy編成完全一樣或完全線性相關
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
既然是 "切級距", 表示原資料是計量的. PCA 是計量資料做
05/01 12:21, 6F

05/01 12:22, , 7F
線性組合, 使組合變數相互間零相關.
05/01 12:22, 7F

05/01 12:24, , 8F
把本就適合 PCA 的資料型態變成不適合的類別虛擬變數再硬套
05/01 12:24, 8F

05/01 12:24, , 9F
PCA, 實在搞不懂怎會想到這種做法.
05/01 12:24, 9F

05/01 12:26, , 10F
再者, PCA 不是 factor analysis, 不應還做什麼轉軸.
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
文章代碼(AID): #1JOKDKxU (Statistics)