相関行列と共分散行列で主成分分析(PCA)を実行することの主な違いは何ですか?同じ結果が得られますか?
相関行列と共分散行列で主成分分析(PCA)を実行することの主な違いは何ですか?同じ結果が得られますか?
回答:
変数のスケールが類似している場合は共分散行列を使用し、変数が異なるスケールの場合は相関行列を使用する傾向があります。
相関行列を使用することは、各変数を標準化することと同じです(平均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はrun800m
and によって支配されていることに注意してくださいjavelin
:PC1はほぼ等しいrun800m
(そして分散のを説明する)とPC2はほぼ等しい(一緒にを説明する)。相関に関するPCAは、より有益であり、データの構造と変数間の関係を明らかにします(ただし、説明された分散がと低下することに注意してください)。javelin
また、共分散行列または相関行列のどちらが使用されているかに関係なく、(このデータセットの)外れた個人は外れ値であることに注意してください。
Bernard Fluryは、多変量解析を紹介する彼の優れた本の中で、これを主成分の反特性として説明しました。実際には、相関または共分散を選択するよりも悪いです。単位(USスタイルのガロン、インチなど、EUスタイルのリットル、センチメートルなど)を変更すると、データの実質的に異なる投影が得られます。
相関行列を自動的に使用することに対する議論は、それがデータを標準化する非常に残酷な方法であるということです。共分散行列を自動的に使用することの問題は、そのヘプタタロンデータで非常に明らかであり、最大の分散を持つ変数が最初の主成分(分散最大化プロパティ)を支配することです。
したがって、使用する「最良の」方法は、主観的な選択、慎重な思考、およびいくつかの経験に基づいています。
未変換(RAW)データ:未変換の未変換データ、つまり1日あたりのカロリー摂取量、遺伝子発現、ug / dl、ng / dlの単位でのELISA / Luminexのスケールが大きく異なる変数がある場合、タンパク質発現の大きさ、次に相関をPCAへの入力として使用します。ただし、すべてのデータが、同じプラットフォームの類似の範囲と規模の遺伝子発現などに基づいている場合、またはログエクイティアセットリターンを使用している場合、相関を使用すると膨大な量の情報が失われます。
実際には、相関行列または共分散行列をPCAへの入力として使用することの違いについて考える必要はありませんが、むしろ、対角値と。対角線上にある1つの変数の分散が、別の変数の分散がになることがあります。しかし、相関関係を見ると、対角線にはすべてれているため、行列を使用すると、各変数の分散は本質的に変更されます。
変換されたデータ:データが正規化、パーセンタイル、または平均ゼロ標準化(つまり、スコア)によって変換されているため、すべての連続変数の範囲とスケールが同じ場合、共分散行列使用できます問題なく。(相関は変数を平均化してゼロにします)。ただし、これらの変換では、PCAを実行する前に変数の歪度(ヒストグラムの左右の尾部)は削除されないことを思い出してください。一般的なPCA分析では、歪度の除去は含まれません。ただし、一部の読者は、厳密な正規性の制約を満たすために歪度を削除する必要がある場合があります。
要約すると、変数内の範囲とスケールが大きく異なる場合は相関行列を使用し、変数の範囲とスケールが類似または同じ単位の場合は共分散行列を使用して分散を保持します測定します。
歪んだ変数:変数のいずれかがヒストグラムの左右の尾で歪んでいる場合、つまりShapiro-WilkまたはLillieforsの正規性検定が有意場合、正規性を適用する必要がある場合、いくつかの問題が発生する可能性があります仮定、想定。推測。この場合、各変数から決定されたファンデルワーデンスコア(変換)を使用します。単一の観測のファンデルワーデン(VDW)スコアは、観測のパーセンタイル値の逆累積(標準)法線マッピングにすぎません。たとえば、連続変数に対して観測値がある場合、次を使用してVDWスコアを決定できます。
たとえば、値0.025 をプラグインすると、ます。同じことがプラグイン値にも、ます。
VDWスコアの使用は、多くの変数がVDWスコアに変換され、分析に入力される遺伝学で非常に一般的です。VDWスコアを使用する利点は、歪度と外れ値の効果がデータから削除され、目標が正規性の制約の下で分析を実行することであり、すべての変数が歪度のない純粋に標準正規分布である必要がある場合に使用できることですまたは外れ値。
一般的な答えは、変数が同じスケールの場合は共分散を使用し、スケールが異なる場合は相関を使用することを示唆することです。ただし、これは変数のスケールが要因でない場合にのみ当てはまります。それ以外の場合、なぜ共分散PCAを行うのでしょうか?常に相関PCAを実行する方が安全です。
変数にメートルやキログラムなどの異なる測定単位があると想像してください。この場合、メートルを使用するかセンチメートルを使用するかは問題ではないため、相関行列を使用する必要があると主張できます。
今、さまざまな州の人々の人口を考えてみましょう。測定単位は同じです-人の数(数)。現在、規模は異なっている可能性があります。DCには600K、CAは38M人です。ここで相関行列を使用する必要がありますか?場合によります。一部のアプリケーションでは、状態のサイズを調整する必要があります。共分散行列を使用することは、状態のサイズを説明する要因を構築する1つの方法です。
したがって、私の答えは、元の変数の分散が重要な場合は共分散行列を使用し、重要でない場合は相関を使用することです。
個人的には、最尤主成分分析モデル(MLPCA)[1,2]に照らしてこれらのオプションを議論することは非常に価値があると思います。MLPCAでは、測定変数の測定誤差が独立し、標準正規分布に従って分布するように、スケーリング(または回転)を適用します。このスケーリングは、最尤スケーリング(MALS)としても知られています[3]。場合によっては、PCAモデルとMALSのスケーリング/回転を定義するパラメーターを一緒に推定できます[4]。
相関ベースおよび共分散ベースの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。
スケールに基づく引数(同じ物理単位で表される変数の場合)は、かなり弱いようです。標準偏差が0.001から0.1の間で変化する(無次元の)変数のセットを想像してください。標準化された値1と比較すると、これらは両方とも「小さく」、変動のレベルに匹敵するようです。ただし、それらをデシベルで表現すると、-10および0 dBに対してそれぞれ-60 dBの範囲が与えられます。その後、これはおそらく「大きな範囲」として分類されます。特に、0に近い標準偏差(マイナス無限大dB)を含める場合は特にそうです。
私の提案は、相関と共分散に基づくPCAの両方を行うことです。2つが同じ(または、非常によく似た、これが何であれ)PCを提供する場合、意味のある答えが得られていると安心できます。大きく異なるPCを提供する場合、PCAは使用しません。1つの問題に対する2つの異なる答えは、質問を解決する賢明な方法ではないためです。