0

いくつかのボラティリティデータに対して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. それが間違っている場合、それを行う正しい方法は何ですか?
4

1 に答える 1

0

princomp の Matlab のドキュメントから:

COEFF = princomp(X) は、n 行 p 列のデータ行列 X に対して主成分分析 (PCA) を実行し、ローディングとも呼ばれる主成分係数を返します。X の行は観測値に対応し、列は変数に対応します。COEFF は p 行 p 列の行列で、各列には 1 つの主成分の係数が含まれます。列は、コンポーネント分散の降順に並んでいます。

于 2013-03-24T13:00:28.503 に答える