Tunny Icon
TunnyDocs

The next-gen Grasshopper optimization tool.

PCA Biplot

PCA Biplot ウィジェットは、標準化したデータの第 1・第 2 主成分に trial を射影し、元の変数の寄与(負荷量)を矢印として重ねます。 多変数の設計空間を 1 枚の図に圧縮します。 近い点は似た設計であり、各矢印はその広がりの方向を駆動する変数を示します。

概要

主成分分析(PCA)は、データが最も大きく変動する直交方向を見つけ出し、各 trial をその方向に沿った座標(スコア)として再表現する手法です。 バイプロットは、同じ 2D 平面上に 2 つの情報を重ね描きします。trial を点として(第 1、第 2 主成分スコアを使って)、元の変数を矢印として(同じ 2 成分へのローディング)表します。 これにより「どの trial 同士が似ているか」と「その類似性を何が生み出しているか」を 1 枚の図から同時に読み取れます。

Study はパラメータと目的関数という無関係な単位(mm の長さと MPa の応力など)を混在させるため、ここでの PCA は常に標準化したデータに対して実行します(相関行列 PCA)。 こうすることで、単に数値スケールが大きいというだけの理由で 1 つの変数が投影を支配することを防ぎます。

数式

ZZ を標準化データ行列とします(行が trial、列が選択した変数):

Zij=xijμjσjZ_{ij} = \frac{x_{ij} - \mu_j}{\sigma_j} μj,σj\mu_j, \sigma_j は列 jj の平均と標準偏差です。 これは共分散行列 PCA ではなく相関行列 PCA であり、パラメータと目的関数が異なる単位を持つここでは標準化が必須です。 標準化しなければ、数値レンジが大きいだけの変数が、実際の説明力とは無関係に第 1 成分を支配してしまいます。

相関行列とその固有分解は

R=1n1ZZ=WΛW,Λ=diag(λ1λ2λp)R = \frac{1}{n-1} Z^{\top} Z = W \Lambda W^{\top}, \qquad \Lambda = \mathrm{diag}(\lambda_1 \ge \lambda_2 \ge \dots \ge \lambda_p) W=[w1,,wp]W = [w_1, \dots, w_p] は正規直交です。 スコア(バイプロット上の trial 位置)は、標準化データを固有ベクトルへ射影したものです:

T=ZW,Ti,k=jZijwjkT = Z W, \qquad T_{i,k} = \sum_j Z_{ij} w_{jk}

成分 kk のローディングは、固有ベクトル wkw_k そのものの成分(変数 1 つにつき係数 1 つ)です。 成分 kk の寄与率は

extratiok=λkj=1pλjext{ratio}k = \frac{\lambda_k}{\sum{j=1}^{p} \lambda_j}

分母は表示している 2 成分だけでなく全 pp 成分の和なので、2 つの軸ラベルのパーセンテージを足しても、全分散の大部分を占めるとは限りません。

挙動に関する注意です。 相関行列は、 ZZ の SVD ではなく直接固有分解します(faer ライブラリの対称行列固有値ソルバーを使用)。 厳密計算では等価ですが、 pp(変数数)が nn(trial 数)よりずっと小さいのが通常なので、こちらの方が軽くなります。 分散ゼロの列は、標準化時にゼロ除算する代わりに定数 00 へ写像されます。 分散を持たないためどの成分にも寄与せず、他の変数を壊すことなく(長さゼロのローディング矢印として)視覚的に不活性のまま残ります。 表示上は、ローディング矢印は trial スコアと同じプロット範囲に収まるよう、単一のグローバル係数で拡大縮小します。 これは表示上の工夫であり、ローディング自体の再スケーリングではないため、矢印同士の相対的な長さと角度は保たれます。

特性・限界

  • 軸は元の変数ではなく線形結合です。主成分は選択した全変数の重み付き和であり、「PC1 が高い」が単一の直感的な量に対応することは稀です。ある軸に沿った trial の位置を解釈する前に、ローディング矢印を見て、その軸がどの変数から構成されているかを確認してください。
  • 成分の符号は任意です。固有ベクトルは符号反転を除いて一意に定まるため、鏡映した(左右または上下反転の)バイプロットは同一の構造を表します。
  • 軸ラベルの寄与率パーセンテージに注意してください。弱相関の変数が多いデータでは、2 成分が全分散のごく一部しか捉えないことがあります。その場合、バイプロット上の trial 間の距離は、全変数空間における実際の非類似度を過小評価しています。
  • ローディング矢印は近似であり、厳密な相関ではありません。Tunny Dashboard は生の固有ベクトル係数を表示する( λk\sqrt{\lambda_k} で個別に再スケールせず、描画のために一律に拡大縮小するのみ)ため、矢印の向きは、その変数が表示中の 2 成分とどう相関するかの信頼できる指標になります。2 本の矢印のなす角は 2 変数間の相関を近似します。ただし変数間の矢印の長さの比較は定性的にとどまり、第 1、第 2 成分が全分散を支配する度合いが小さいほど、この近似は劣化します。
  • Cluster Scatter 2D / 3D との関係です。Cluster Scatter 2D と Cluster Scatter 3D の散布図は、PCA 投影を一切使用していません。選択した先頭 2 つ(または 3 つ)の目的関数の生の値を、そのままプロットしているだけです。同じ trial 集合を PCA 平面上で見たい場合は、この PCA バイプロットウィジェットを使ってください。両者は同じ投影ではなく、一般に trial の配置は異なって見えます。

参考文献

  • Gabriel, K. R. (1971). The biplot graphic display of matrices with application to principal component analysis. Biometrika, 58(3), 453-467. https://doi.org/10.1093/biomet/58.3.453
  • Hotelling, H. (1933). Analysis of a complex of statistical variables into principal components. Journal of Educational Psychology, 24, 417-441. https://doi.org/10.1037/h0070888