PCA固有ベクトルが直交しているが相関しているのはなぜですか?


8

私は、PCAを説明する素晴らしい記事をいくつか見たことがあります。このアプローチでは、(対称)相関行列の固有ベクトルが直交しているのはなぜですか。また、そのようなベクトルが互いに直交していることを示す方法も理解しています(たとえば、これらの固有ベクトルの行列のクロス積をとると、非対角要素がゼロの行列になります)。

私の最初の質問は、PCAの固有ベクトルの相関関係を調べたときに、相関行列の非対角要素が非ゼロである理由です(つまり、固有ベクトルが直交している場合、どのように相関させることができますか)。

この質問はPCAに直接関係するものではありませんが、私がこの問題に遭遇した方法であるため、この文脈に入れました。PCAを実行するために、R、特にpsychパッケージを使用しています。

例が役立つとしたら、StackOverflowに関するこの投稿には、非常に便利で関連性の高い記事があります(これもRで)。この投稿では、ベストアンサーの作成者は、PCAの負荷(固有ベクトル)がFactor Congruenceまたはクロス積を使用して直交していることを示しています。彼の例では、行列LはPCA負荷行列です。このリンクにない唯一のことはcor(L)、固有ベクトル間の非ゼロ相関を示すことについて私が尋ねている出力を生成することです。

この投稿を読んだ後、直交ベクトルをどのように相関させることができるかについて特に混乱しています。これは、直交性が相関の欠如と同等であることを証明しているようです:なぜPCA固有ベクトルは直交しており、PCAスコアとの相関関係は無相関ですか?

私の2番目の質問は、PCA固有ベクトルを使用してPCAスコアを計算する場合、スコア自体は(予想どおり)無相関です...これについての最初の質問への接続はありますか?なぜ固有ベクトルは相関するがスコアは相関しないのですか?


1
固有ベクトルの相関行列を計算しているようです。固有ベクトルは直交であり、それらの間の内積は相関ではなくゼロであることを意味します。無相関でなければならないのは、固有ベクトル自体ではなく、固有ベクトルへのデータの投影です。
user20160 2018年

1
固有ベクトルは確率変数ではなく、固定量にすぎません。それらが変動しないのでそれらの間の相関について話すことは意味をなさない。
Moss Murderer

2
重要なのは、固有ベクトルには平均ゼロがないことです(たとえば、固有ベクトルのすべての要素が正である可能性は完全にあります)。したがって、それらが直交しているという事実は、それらの要素が無相関であることを意味しません(相関を計算するには、平均を差し引く必要があります)。
アメーバ2018年

2
@Moss逆に、PCAが出力する固有ベクトルは、データの関数であるため、実際にはランダム変数です。「固有ベクトルの直交性」には複数の解釈があるため、それが混乱の原因になっている可能性があります。ユークリッドベクトルとしての直交性、それらのコンポーネントの相関(ランダム変数として)の欠如、真の基礎となる多変量の固有ベクトルの直交性さえデータを生成すると推定される分布。
whuber

@whuber:それは理にかなっています。私は固有ベクトルを統計ではなくパラメータとして考えていました。
Moss Murderer

回答:


3

LETランダムベクトルである期待値とと分散。私たちは、分散を最大化する、このような順序付けられたベクトルを探しています。本質的に、私たちはを解いていこのようなベクトルの方向のみに関心があるため、ベクトルの単位長を想定しています。ベクトルは実際にはランダムではありません(現在、理論的に作業しているため、実際には未知のと未知の置き換えていますXX=(x1,x2,,xd)TμΣuiuiTX

maxuiVar(uiTX)
s.t.uiTui=1.
uiTui=1uiΣμ経験的標本共分散行列と平均をそれぞれ使用して、@ whuberはこれを別の観点から説明していました)最適化問題は、ラグランジュ関数を使用して簡単に解決できます そこから、制約付き極値必要な条件が得られこれは、つまり定義により固有値と固有ベクトルの問題です。ので対称半正定値行列である、スペクトル定理が適用され、我々は満足していることを正規直交基底を見つけることができます
Var(uiTX)=uiTΣui.
L(ui,λi):=uiTΣuiλi(uiTui1).
L(ui,λi)ui=2Σui2λiui=0,
Σui=λiui,
ΣΣ=QΛQ1=QΛQT、ここでは直交固有ベクトルで構成され、はすべて実数の固有値を持つ対角行列です。QΛ

これで、ささいにしたがって、固有ベクトルではなく、投影は無相関です。

cov(uiTX,ujTX)=uiTΣuj=λjuiTuj=0,ji.
i=j:cov(uiTX,ujTX)=λi.

1

これLはローディング行列であり、別名固有ベクトル自体です。これはPCAデータマトリックスではありません。固有ベクトルは、直交性を提供するようにバインドされますが、はバインドされません。たとえば、次のマトリックスを見てください。cov=0

> X <- iris
> X$Species <- as.numeric(X$Species)
> head(X)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2       1
2          4.9         3.0          1.4         0.2       1
3          4.7         3.2          1.3         0.2       1
4          4.6         3.1          1.5         0.2       1
5          5.0         3.6          1.4         0.2       1
6          5.4         3.9          1.7         0.4       1

PCAでは、共分散/相関行列の固有ベクトル(メソッドによって異なります)を取得するだけでなく、それらも正規直交(つまり、各固有ベクトルに対して)であるため、取得する:uj=1uj

> prcomp(X)$rotation
                     PC1         PC2        PC3         PC4        PC5
Sepal.Length  0.33402494 -0.68852577  0.4414776 -0.43312829  0.1784853
Sepal.Width  -0.08034626 -0.68474905 -0.6114140  0.30348725 -0.2423462
Petal.Length  0.80059273  0.09713877  0.1466787  0.49080356 -0.2953177
Petal.Width   0.33657862  0.06894557 -0.4202025  0.06667133  0.8372253
Species       0.35740442  0.20703034 -0.4828930 -0.68917499 -0.3482135

そして

> cor(prcomp(X)$rotation)
            PC1         PC2         PC3          PC4          PC5
PC1  1.00000000  0.62712979  0.57079328  0.147574029 -0.072934736
PC2  0.62712979  1.00000000 -0.22763304 -0.058852698  0.029086459
PC3  0.57079328 -0.22763304  1.00000000 -0.053565825  0.026473556
PC4  0.14757403 -0.05885270 -0.05356582  1.000000000  0.006844526
PC5 -0.07293474  0.02908646  0.02647356  0.006844526  1.000000000

ただし、PCAされたデータは

> head(prcomp(X)$x)
           PC1        PC2          PC3          PC4          PC5
[1,] -2.865415 -0.2962946 -0.041870662 -0.078464301 -0.032047052
[2,] -2.892047  0.1837851  0.175540800 -0.143582265  0.053428970
[3,] -3.054980  0.1748266 -0.049705391 -0.045339514 -0.001205543
[4,] -2.920230  0.3315818 -0.003376012  0.065785303 -0.053882996
[5,] -2.906852 -0.2959169 -0.147159821 -0.004802747 -0.074130194
[6,] -2.489852 -0.7338212 -0.194029844  0.073567444  0.003409809

そしてその相関は

> round(cor(prcomp(X)$x),14)
    PC1 PC2 PC3 PC4 PC5
PC1   1   0   0   0   0
PC2   0   1   0   0   0
PC3   0   0   1   0   0
PC4   0   0   0   1   0
PC5   0   0   0   0   1
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.