相関または共分散に関するPCA?


153

相関行列と共分散行列で主成分分析(PCA)を実行することの主な違いは何ですか?同じ結果が得られますか?


2
返信が遅くなりますが、リヨンのバイオインフォマティクス部門で多変量データ分析に関する「非常に役立つ資料」を見つけるかもしれません。これらは、R ade4パッケージの作成者によるものです。ただし、フランス語です。
chl

3
詳細については、stats.stackexchange.com / questions / 62677 /…をご覧ください。
whuber

回答:


130

変数のスケールが類似している場合は共分散行列を使用し、変数が異なるスケールの場合は相関行列を使用する傾向があります。

相関行列を使用することは、各変数を標準化することと同じです(平均0および標準偏差1)。一般に、標準化の有無にかかわらずPCAは異なる結果をもたらします。特にスケールが異なる場合。

例として、このR heptathlonデータセットを見てみましょう。一部の変数の平均値は約1.8(高いジャンプ)ですが、他の変数(実行800m)は約120です。

library(HSAUR)
heptathlon[,-8]      # look at heptathlon data (excluding 'score' variable)

この出力:

                   hurdles highjump  shot run200m longjump javelin run800m
Joyner-Kersee (USA)   12.69     1.86 15.80   22.56     7.27   45.66  128.51
John (GDR)            12.85     1.80 16.23   23.65     6.71   42.56  126.12
Behmer (GDR)          13.20     1.83 14.20   23.10     6.68   44.54  124.20
Sablovskaite (URS)    13.61     1.80 15.23   23.92     6.25   42.78  132.24
Choubenkova (URS)     13.51     1.74 14.76   23.93     6.32   47.46  127.90
...

それでは、共分散と相関についてPCAを実行しましょう。

# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)

biplot(hep.PC.cov)
biplot(hep.PC.cor)  

相関または共分散に関するPCA

共分散のPCAはrun800mand によって支配されていることに注意してくださいjavelin:PC1はほぼ等しいrun800m(そして分散のを説明する)とPC2はほぼ等しい(一緒にを説明する)。相関に関するPCAは、より有益であり、データの構造と変数間の関係を明らかにします(ただし、説明された分散がと低下することに注意してください)。82%javelin97%64%71%

また、共分散行列または相関行列のどちらが使用されているかに関係なく、(このデータセットの)外れた個人は外れ値であることに注意してください。


最初に変数をZスコアに変換するとどうなりますか?
Jirka-x1

9
@ Jirka-x1標準化された変数の共分散行列(すなわち、zスコア)は相関行列に等しくなります。
アレクシス14

@Alexisしたがって、標準化された変数の共分散行列は、標準化された変数の相関行列に等しいと推測できますか?
jb

1
@JamieBullock(共分散行列)標準化されたデータ=(相関行列)。データが標準化されているかどうか(相関はデータの線形変換の影響を受けません。たとえば、とあり、それらがと相関する場合、もしおよびおよびもと相関)。ΣRR=RXYrXYX=aX+bY=aY+b XYrXY
アレクシス

1つの重要な注意事項:PCAで共分散を使用する場合、PCは相互に相関しません。これは、相関ベースのPCAには当てはまりません。これは、説明変数の多重共線形セットで回帰の前にPCAを実行する場合に特に重要です。しかし、この背後にある理論は明確ではありません。誰でもこの違いに光を当てることができますか?
-Ouranos

54

Bernard Fluryは、多変量解析を紹介する彼の優れた本の中で、これを主成分の反特性として説明しました。実際には、相関または共分散を選択するよりも悪いです。単位(USスタイルのガロン、インチなど、EUスタイルのリットル、センチメートルなど)を変更すると、データの実質的に異なる投影が得られます。

相関行列を自動的に使用することに対する議論は、それがデータを標準化する非常に残酷な方法であるということです。共分散行列を自動的に使用することの問題は、そのヘプタタロンデータで非常に明らかであり、最大の分散を持つ変数が最初の主成分(分散最大化プロパティ)を支配することです。

したがって、使用する「最良の」方法は、主観的な選択、慎重な思考、およびいくつかの経験に基づいています。


46

未変換(RAW)データ:未変換の未変換データ、つまり1日あたりのカロリー摂取量、遺伝子発現、ug / dl、ng / dlの単位でのELISA / Luminexのスケールが大きく異なる変数がある場合、タンパク質発現の大きさ、次に相関をPCAへの入力として使用します。ただし、すべてのデータが、同じプラットフォームの類似の範囲と規模の遺伝子発現などに基づいている場合、またはログエクイティアセットリターンを使用している場合、相関を使用すると膨大な量の情報が失われます。

実際には、相関行列または共分散行列をPCAへの入力として使用することの違いについて考える必要はありませんが、むしろ、対角値と。対角線上にある1つの変数の分散が、別の変数の分散がになることがあります。しかし、相関関係を見ると、対角線にはすべてれているため、行列を使用すると、各変数の分散は本質的に変更されます。RCCR10010C1R

変換されたデータデータが正規化、パーセンタイル、または平均ゼロ標準化(つまり、スコア)によって変換されているため、すべての連続変数の範囲とスケールが同じ場合、共分散行列使用できます問題なく。(相関は変数を平均化してゼロにします)。ただし、これらの変換では、PCAを実行する前に変数の歪度(ヒストグラムの左右の尾部)は削除されないことを思い出してください。一般的なPCA分析では、歪度の除去は含まれません。ただし、一部の読者は、厳密な正規性の制約を満たすために歪度を削除する必要がある場合があります。ZC

要約すると、変数内の範囲とスケールが大きく異なる場合は相関行列を使用し、変数の範囲とスケールが類似または同じ単位の場合は共分散行列を使用して分散を保持します測定します。RC

歪んだ変数変数のいずれかがヒストグラムの左右の尾で歪んでいる場合、つまりShapiro-WilkまたはLillieforsの正規性検定が有意場合、正規性を適用する必要がある場合、いくつかの問題が発生する可能性があります仮定、想定。推測。この場合、各変数から決定されたファンデルワーデンスコア(変換)を使用します。単一の観測のファンデルワーデン(VDW)スコアは、観測のパーセンタイル値の逆累積(標準)法線マッピングにすぎません。たとえば、連続変数に対して観測値がある場合、次を使用してVDWスコアを決定できます。(P<0.05)n=100

  1. まず、値を昇順で並べ替えてからランクを割り当てます。これにより、ランクが取得されますRi=1,2,,100.
  2. 次に、各観測のパーセンタイルをとして決定します。 pcti=Ri/(n+1)
  3. パーセンタイル値を取得したら、標準正規分布のCDFの逆マッピング関数、つまりに入力して、を使用してそれぞれのスコアを取得します。 N(0,1)ZZi=Φ1(pcti)

たとえば、値0.025 をプラグインすると、ます。同じことがプラグイン値にも、ます。 pcti1.96=Φ1(0.025)pcti=0.9751.96=Φ1(0.975)

VDWスコアの使用は、多くの変数がVDWスコアに変換され、分析に入力される遺伝学で非常に一般的です。VDWスコアを使用する利点は、歪度と外れ値の効果がデータから削除され、目標が正規性の制約の下で分析を実行することであり、すべての変数が歪度のない純粋に標準正規分布である必要がある場合に使用できることですまたは外れ値。


7
これは、共分散が適切な場合に勝つという適切な見解を実際に与えるため、ここでは断然最も賢明な答えです。ここや他の場所での回答が多すぎると、可能であれば共分散を好む理由について実際に難しい根拠を与えることなく、通常の「依存する」ことに言及しています。ここでlepが行います:共分散は、相関関係が行う情報を把握しません。在庫データの例では、良いものです:高ベータ銘柄はもちろん、高い負荷を持っていますが、彼らはおそらくべきちょうどより揮発性である任意の分析のいずれかの面のように、(理由以内)は通常より興味深いです。
トーマスブラウン14年

3
もちろん、より高い分散が分析の興味深い側面であるかどうかについて、手元の問題を分析する必要があります。そうでない場合は、もちろん相関関係が優れており、単位が異なっていれば間違いなく当てはまります。
トーマスブラウン14年

すばらしい回答+1。もう1つの例は、PCAを金融の債券利回りの期間構造分析に適用することです。さまざまな満期の利回りのばらつきはさまざまですが、それらはすべて利回りであるため、さまざまなスケールは通常許容できないほど広くはありません。実際、特定の満期利回りのボラティリティが多かれ少なかれそれ自体が豊富な情報を提供します。
ニコラス

11

一般的な答えは、変数が同じスケールの場合は共分散を使用し、スケールが異なる場合は相関を使用することを示唆することです。ただし、これは変数のスケールが要因でない場合にのみ当てはまります。それ以外の場合、なぜ共分散PCAを行うのでしょうか?常に相関PCAを実行する方が安全です。

変数にメートルやキログラムなどの異なる測定単位があると想像してください。この場合、メートルを使用するかセンチメートルを使用するかは問題ではないため、相関行列を使用する必要があると主張できます。

今、さまざまな州の人々の人口を考えてみましょう。測定単位は同じです-人の数(数)。現在、規模は異なっている可能性があります。DCには600K、CAは38M人です。ここで相関行列を使用する必要がありますか?場合によります。一部のアプリケーションでは、状態のサイズを調整する必要があります。共分散行列を使用することは、状態のサイズを説明する要因を構築する1つの方法です。

したがって、私の答えは、元の変数の分散が重要な場合は共分散行列を使用し、重要でない場合は相関を使用することです。


2

個人的には、最尤主成分分析モデル(MLPCA)[1,2]に照らしてこれらのオプションを議論することは非常に価値があると思います。MLPCAでは、測定変数の測定誤差が独立し、標準正規分布に従って分布するように、スケーリング(または回転)を適用します。このスケーリングは、最尤スケーリング(MALS)としても知られています[3]。場合によっては、PCAモデルとMALSのスケーリング/回転を定義するパラメーターを一緒に推定できます[4]。

相関ベースおよび共分散ベースのPCAを解釈するには、次のように主張できます。

  1. 共分散ベースのPCAは、測定誤差の分散共分散行列が対角要素が等しい対角であると想定される場合は常にMLPCAと同等です。確率的主成分分析(PPCA)モデル[5]を適用することにより、測定誤差分散パラメーターを推定できます。特に、すべての測定値が同じタイプの変数である場合(たとえば、すべての流量、すべての温度、すべての濃度、またはすべての吸光度測定)、これは私が研究したいくつかのケースで合理的な仮定です。実際、そのような変数の測定誤差は独立して同一に分布していると想定するのは安全です。
  2. 相関ベースのPCAは、測定誤差の分散共分散行列が対角であると想定され、対角上の各要素が対応する測定変数の全体の分散に比例する場合、MLPCAと同等です。これは一般的な方法ですが、私が研究しているほとんどの場合、個人的に比例関係の仮定は不合理であると感じています。結果として、これは相関ベースのPCAをMLPCAモデルとして解釈できないことを意味します。(1)共分散ベースのPCAの暗黙の仮定が適用されず、(2)MLPCAの解釈が重要な場合、代わりにMLPCAメソッドのいずれかを使用することをお勧めします[1-4]。
  3. 相関ベースと共分散ベースのPCAは、各変数の個々の分散がすべて正確に等しい場合、スカラー乗数を除き、まったく同じ結果を生成します。これらの個々の分散が似ているが同じではない場合、両方の方法で同様の結果が得られます。

すでに上記で強調したように、最終的な選択はあなたがしている仮定に依存します。さらに、特定のモデルの有用性は、分析のコンテキストと目的にも依存します。George EP Boxの言葉を引用すると、「すべてのモデルは間違っていますが、一部のモデルは有用です」。

[1] Wentzell、PD、Andrews、DT、Hamilton、DC、Faber、K。、およびKowalski、BR(1997)。最尤主成分分析。Journal of Chemometrics、11(4)、339-366。

[2]ウェンツェル、PD、およびローンズ、MT(1999)。相関測定誤差を伴う最尤主成分分析:理論的および実用的な考慮事項。ケモメトリックスおよびインテリジェントラボシステム、45(1-2)、65-85。

[3] Hoefsloot、HC、Verouden、MP、Westerhuis、JA、およびSmilde、AK(2006)。最尤スケーリング(MALS)。Journal of Chemometrics、20(3-4)、120-127。

[4] Narasimhan、S.、&Shah、SL(2008)。PCAを使用したノイズの多いデータからのモデル同定と誤差共分散行列の推定。制御工学実習、16(1)、146-155。

[5] ME、Tipping、ビショップ、CM(1999)。確率的主成分分析。Journal of the Royal Statistical Society:Series B(Statistical Methodology)、61(3)、611-622。


-1

ストレートでシンプル:スケールが似ている場合はcov-PCAを使用し、そうでない場合はcorr-PCAを使用します。それ以外の場合は、そうでないための防御が必要です。疑わしい場合は、分散の等式(ANOVA)にF検定を使用します。F検定に失敗した場合は、corrを使用します。それ以外の場合は、covを使用します。


2
-1。ここでFテストの実行が関連する理由はわかりません。PCAは確認的な方法ではなく、探索的な方法です(統計テストと同様)。
アメーバ

-5

スケールに基づく引数(同じ物理単位で表される変数の場合)は、かなり弱いようです。標準偏差が0.001から0.1の間で変化する(無次元の)変数のセットを想像してください。標準化された値1と比較すると、これらは両方とも「小さく」、変動のレベルに匹敵するようです。ただし、それらをデシベルで表現すると、-10および0 dBに対してそれぞれ-60 dBの範囲が与えられます。その後、これはおそらく「大きな範囲」として分類されます。特に、0に近い標準偏差(マイナス無限大dB)を含める場合は特にそうです。

私の提案は、相関と共分散に基づくPCAの両方を行うことです。2つが同じ(または、非常によく似た、これが何であれ)PCを提供する場合、意味のある答えが得られていると安心できます。大きく異なるPCを提供する場合、PCAは使用しません。1つの問題に対する2つの異なる答えは、質問を解決する賢明な方法ではないためです。


9
(-1)「同じ問題に対する2つの異なる答え」を取得するということは、多くの場合、分析の目的に適した手法を考えずに気を散らしてしまうことを意味します。これは、どちらか一方の(またはあなたが述べているように)両方の手法が賢明ではないことを意味するのではなく、少なくとも一方が問題またはデータに適切でない可能性があることを意味します。さらに、多くの場合、共分散ベースのPCAと相関ベースのPCA 異なる答え与えると予想できます。結局のところ、彼らはデータのさまざまな側面を測定しています。デフォルトで両方を実行しても意味がありません。
whuber

実際、相関と共分散でPCAを使用する場合、2つの異なる答えを取得することは非常に合理的です。在庫の場合、それはあなたのアカウントにベータ(または標準偏差)を取るべきかどうかの質問です
Juancentro
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.