2010-02-26 71 views
4

我有幾個問題:
1. isoMDS和cmdscale有什麼區別?
2.我可以使用非對稱矩陣嗎?
3.有什麼方法可以確定最佳的維數(結果)?R:多維縮放

+3

您可能想要考慮將這些問題分成2-3個不同的問題。 – 2010-02-26 20:14:49

回答

10
  1. 之一MDS方法是distance scaling並且在度量和非度量劃分。另一個是生物信息學中的classical scaling(也稱爲distance geometry)。經典縮放可以使用命令cmdscale在R中執行。可以使用庫MASS中的命令isoMDS來執行Kruskal的非對稱距離縮放(使用應力函數和等滲迴歸)方法。 classical scaling的標準處理產生了一個特徵分解問題,因此如果目標是維數降低,則與PCA相同。另一方面,distance scaling方法使用迭代過程來達成解決方案。

  2. 如果你參考了距離結構,我猜你應該傳遞類別dist的結構,這是一個具有距離信息的對象。或者是一個(對稱的)距離矩陣,或者是一個可以用as.matrix()強制轉換成這個矩陣的對象。 (當我在幫助中閱讀時,只使用矩陣的下三角形,其餘部分被忽略)。

  3. (對於經典的縮放方法):確定最終配置的維度的一種方法是查看對稱矩陣B(= HAH)的特徵值。通常的策略是繪製有序特徵值(或它們的某些函數)與維數的關係,然後確定特徵值變得「穩定」(即不會敏感地改變)的維度。在這個維度上,我們可以觀察到一個表示穩定發生的地方的「肘」(對於一個n維空間的點,圖中的穩定性應該發生在n + 1維上)。爲了更容易地解釋經典的縮放解決方案,我們通常選擇n爲2或3的小號。