看板 MATLAB 關於我們 聯絡資訊
感謝您的建議 這裡PCA的確是主成分分析沒錯 而PCA的資料前處理的確是為去除中心軌道,所以執行centering(中心化) 也就是只扣除平均值 不過我所看到的國外paper"幾乎"都一致提到,需要將資料標準化 我也曾單純只想將資料中心化,然後執行PCA 就算該行所有的值都是0,也不會產生分母為0的問題 但作者的操作過程是這樣寫 心想沒道理不能照著做 但做了還真的產生問題 另外..您後面PCA code的部份能多解釋一點嗎 感謝賜教 謝謝 ※ 引述《wudollar (~每天一ㄍ心希望~)》之銘言: : ※ 引述《rauf6620 (亂入)》之銘言: : : 若A為一M*N矩陣 : : 假設為 5 4 1 0 2 0 : : 5 3 0 0 1 0 : : 5 4 2 0 3 0 : : 5 3 1 0 4 0 : : ------------- : : mean : : std : : 執行PCA前,為去除單位,所以皆會將資料先予以標準化(對行執行) : 這裡我有問題~!! : 應該是說:我不知道,或者我不懂... : PCA是所謂的Principal Component Analysis? 是嘛? : 如果不是,請略過我以下所有的鬼話 @@b : PCA 似乎在數學定義上面,沒有需要在處理PCA前需要去除單位, : 或者正規化(normalization)吧? : 僅僅是因為想看變化(anomaly)所以去平均值(de-mean), : 換句話說是看變異數(variance)分佈以及大小吧?(使用SVD 或者 Eigen..) : 所以似乎沒有在之前需要之前就需要正規化處理吧? : 另,如果是真要有正規化處理,那是當妳生成PC(principal component) : 以及Pattern(e.g. eigenvectors),在需要量化強度, : 以及給予PC單位時所做的簡單換算吧? : PC = PC*std(Pattern), Pattern = Pattern/std(Pattern) : Matrix = PC * Pattern; when (PC = Matrix * Pattern) : ------------------------------------------------------------------------------ : 這樣子的話,『我自以為』妳的問題似乎就沒有了,不是嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.17.12.231
wudollar:已回信,請查收,另我找出了PCA我這領域的聖經..... 11/27 10:03
wudollar:Preisendorfer & Mobley(1988), Principal Component Ana 11/27 10:05
wudollar:lysis in Meteorology and Oceanography 11/27 10:06