散布図マトリックス(Scatterplot Matrix、SPLOM)は、多変量データにおける変数間の関係を一度に視覚化するためのグラフです。各変数を縦軸・横軸に組み合わせて散布図を配置し、行列形式で表示します。これにより、相関関係やパターン、外れ値を視覚的に把握できます。統計解析やデータ探索の初期段階でよく用いられます。
歴史的経緯
散布図マトリックスの概念は、1960年代にJohn W. Tukeyによる「Exploratory Data Analysis(探索的データ解析)」の流れの中で発展しました。多次元データを可視化する手法として、RやSASなどの統計ソフトウェアに早くから導入され、後にTableauやPythonのSeabornライブラリなどのツールにも標準機能として実装されました。
データ構造
散布図マトリックスでは、データは複数の数値変数を含む表形式(行=観測、列=変数)で表されます。
例えば4変数の場合、以下のような9枚の散布図が生成されます:
| X1 | X2 | X3 | X4 | |
|---|---|---|---|---|
| X1 | – | X1×X2 | X1×X3 | X1×X4 |
| X2 | X2×X1 | – | X2×X3 | X2×X4 |
| X3 | X3×X1 | X3×X2 | – | X3×X4 |
| X4 | X4×X1 | X4×X2 | X4×X3 | – |
対角線上には通常、変数名やヒストグラム、カーネル密度推定などが配置されます。
目的
主な目的は、多次元データの中で「どの変数間に関係性がありそうか」を視覚的に特定することです。特に回帰分析や主成分分析を行う前段階で、相関の有無を把握するために利用されます。
ユースケース
- 探索的データ解析(EDA):変数間の関係をざっくり把握する段階。
- 特徴量選択:強い相関を持つ変数の重複を検出。
- 異常検知:外れ値や異常パターンを発見。
- 相関構造の可視化:分散共分散構造の直感的理解。
特徴
| 特徴 | 内容 |
|---|---|
| 表現対象 | 数値型変数同士の関係 |
| メリット | 一覧で全変数関係を俯瞰できる |
| デメリット | 変数が多いと行列が過密化し、可読性が低下 |
| 表現手段 | 点の分布、色分け、形状、サイズによる補助情報 |
チャートの見方
行と列の交点に表示された散布図を読み取ることで、変数間の関係(線形・非線形・無相関)を視覚的に把握できます。
- 右上と左下は対称的な情報を持ちます。
- 対角線上には変数の分布を示すプロットを配置することが一般的です。
- もし点が右上がりの直線状に並ぶ場合は正の相関、右下がりなら負の相関があると判断できます。
デザイン上の注意点
- 変数数が多い場合はサンプリングや変数選択で行列を縮小する。
- 点が重なりやすい場合は透明度(opacity)を下げて重なりを視認可能にする。
- 軸ラベルやスケールを統一して比較を容易にする。
- 色やマーカーをカテゴリー変数に対応させると、群間比較が容易になります。
応用例
- R:pairs()関数
Rの基本関数pairs()は最も古典的なSPLOM生成手段の1つです。 - Python:Seaborn
pairplot()
Seabornのpairplot()は、ヒュー(色)引数でカテゴリ変数を指定し、群ごとの傾向を視覚化できます。 - Tableau・Power BI
複数変数をドラッグ&ドロップで自動的に散布図マトリックスに展開可能。
代替例
- コレログラム(Correlogram):相関係数を色で表すマトリクス表示。
- パラレルコーディネーツ(Parallel Coordinates):各変数を軸として値の変動を線で示す。
- バイプロット(Biplot):主成分分析結果を散布図に重ねて要約表示。
まとめ
散布図マトリックスは、変数間の関係を「一覧で」「直感的に」理解できる強力な探索ツールです。変数が多い場合の見づらさという課題はあるものの、適切に選択した変数や色分けを用いることで、高次元データの構造を効果的に把握することができます。