2013-03-24 64 views
0

我試圖做一個PCA上的一些波動的數據,讓我們只說我可以提出一個模型,如下所示:Matlab中的PCA - 主要成分是否重新排列?

volatility = bata0 + beta1*x + beta2* x^2 

其中x是一些意見,例如說,價外等等。 所以在Matlab中,我所做的就是說Y=[ones x x^2]然後做pca(Y) 由於某種原因,我的係數矩陣中的第一行總是類似於0 0 1,即0除了最後一列以外的其他地方,無論我如何更改模型,atent總是在第一行中顯示最高值。

顯然,這不可能是每個單一模型中的最後一項在方程中的最後一項得到很好解釋的情況。如果我除去Y中的常數項(即Y = [xx^2]),那麼係數矩陣的第一行就會變得更加正常(即無處不在的值)

所以我的問題是:

  1. 是我做PCA吧?
  2. 是否PCA自動在最後一欄重新排列與全零係數矩陣中的主要成分,因此在第一行,除了1的方式不一定代表在最後期限方程式和
  3. 如果它是錯誤的,那麼正確的做法是什麼?
+0

這不是一個定量金融問題。我將它發送給Stack Overflow。 – chrisaycock 2013-03-24 04:15:06

回答

0

從Matlab的文檔princomp:

COEFF = princomp(X)進行主成分分析上 的n乘p個數據的矩陣X(PCA),並返回主成分 係數也被稱爲裝載。 X的行對應於 觀察值,列爲變量。 COEFF是一個p-by-p矩陣,每個 列包含一個主成分的係數。 列按照組件方差降低的順序排列。

+0

謝謝@ michaelv2,有什麼辦法可以防止這種重新安排,或者至少在重新安排的時候標記清楚嗎? – AZhu 2013-03-24 15:16:40