[問題] prcomp和eigen算出來的特徵向量正負不一

看板R_Language作者 (呼姆呼姆)時間9年前 (2016/04/30 18:55), 編輯推噓1(1010)
留言11則, 4人參與, 最新討論串1/1
如題,我用R跑主成份分析的時候,分別用兩個方法計算特徵值和特徵向量 第一個是用prcomp的指令,算出來特徵向量如下 http://imgur.com/qmBZP6u
第二個是算出資料的相關係數矩陣,然後用eigen指令求這個矩陣的特徵向量,如下 http://imgur.com/XOUSPPC
不知道各位有沒有發現,雖然兩種方法算出來的特徵向量值的大小都是一樣的 但是第二、四、五主成分,用兩種指令算出來卻是正負號相反,請問有人知道這 是為什麼嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.89.3 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1462013732.A.7DC.html

04/30 19:27, , 1F
正負號差異並不影響結果,還是滿足eigenvector的
04/30 19:27, 1F

04/30 19:27, , 2F
equation
04/30 19:27, 2F

04/30 19:27, , 3F
這只是用的計算演算法不同
04/30 19:27, 3F

04/30 19:56, , 4F
這沒關係。想容易解讀的話,同一個向量全乘-1都可以。
04/30 19:56, 4F

05/01 01:24, , 5F
回一樓大 我就是好奇哪里不同
05/01 01:24, 5F

05/01 03:24, , 6F
線性代數 完畢
05/01 03:24, 6F

05/01 03:25, , 7F
算eigenvector有不同疊代方式
05/01 03:25, 7F

05/01 03:27, , 8F
eigen就用RBlas的,prcomp用svd去取的
05/01 03:27, 8F

05/01 03:28, , 9F
更細節就要去查你的R BLAS是用什麼方法算
05/01 03:28, 9F

05/01 03:28, , 10F
eigen system跟svd
05/01 03:28, 10F

05/01 03:29, , 11F
預設的R是Altas就去查Altas的文件吧(攤手
05/01 03:29, 11F
文章代碼(AID): #1N98yaVS (R_Language)
文章代碼(AID): #1N98yaVS (R_Language)