多次元尺度法 (MDS)

解説

多次元尺度法とは

多次元尺度法 (Multidimensional Scaling; MDS) は、オブジェクト間の類似性や距離情報を低次元空間(通常は2次元または3次元)に視覚化する手法です。高次元データの構造を直感的に理解できる形で表現することを目的とします。

主な用途:

  • データの構造やパターンの視覚的探索
  • 類似したオブジェクトのクラスタリング発見
  • 高次元データの次元圧縮と可視化
  • マーケティング研究での商品ポジショニング分析
  • 心理学研究での認知空間の分析

本アプリでサポートする機能

機能 詳細 特徴
古典的MDS 距離の絶対値を保持 高速で安定、最も一般的
非計量MDS 順序関係を重視 より柔軟だが計算コストが高い
2次元出力 散布図として可視化 理解しやすく解釈が容易
3次元出力 インタラクティブな3D散布図 より詳細な構造の把握が可能
グループ分析 複数変数の組み合わせでグループ分け 色分けとマーカー形状で識別

距離計算方法

距離 計算方法 適用場面
ユークリッド距離 直線距離を計算 最も一般的、連続変数に適している
マンハッタン距離 座標軸に沿った距離の合計 外れ値に頑健
チェビシェフ距離 各次元での最大差 特殊な距離概念が必要な場合

ストレス値による品質評価

ストレス値は、元の距離と低次元空間での距離の適合度を示す指標です。

ストレス値 適合度 解釈
≤ 0.1 良好 優れた表現、信頼性が高い
0.1 - 0.2 許容範囲 使用可能、注意深い解釈が必要
> 0.2 要注意 表現が不適切、モデル見直しを推奨

データ要件と推奨事項

サンプルサイズの目安

分析の種類 最低限 推奨 理想
基本MDS 20件 50件 100件以上
グループ比較 各グループ10件以上 各グループ20件以上 各グループ30件以上

変数の要件

  • 変数タイプ: 連続変数を推奨
  • 変数数: 最低3つ以上を推奨
  • 尺度の統一: 同じ単位・尺度の変数が望ましい
  • 欠損値: 完全なデータが必要(欠損値のある行は自動除外)
  • 標準化: 異なる尺度の変数を混在させる場合は事前標準化を推奨

データの性質

  • 分布: 正規分布である必要はない
  • 外れ値: 結果に大きく影響するため事前確認を推奨
  • 多重共線性: 高い相関を持つ変数は結果を歪める可能性

MDS手法の選択

手法 特徴 適用場面
古典的MDS • 距離の絶対値を可能な限り保持
• 計算が高速で安定
• 結果の再現性が高い
• 初回分析や探索的分析
• 計算速度を重視する場合
• 安定した結果が必要な場合
非計量MDS • 距離の順序関係を重視
• より柔軟な表現が可能
• 計算コストが高い
• 順序情報が重要な場合
• より細かい構造の把握が必要
• 古典的MDSで不十分な結果の場合

結果の解釈

散布図の読み方

  • 近い点: 類似したオブジェクト
  • 遠い点: 異なる特徴を持つオブジェクト
  • クラスター: 似た性質のオブジェクトの集合
  • 軸の意味: データに依存、理論的解釈が必要

距離相関

元の距離とMDS空間での距離の相関係数です。

  • 高い相関(≥ 0.8): 元の関係が良く保持されている
  • 中程度の相関(0.6-0.8): 許容可能な表現
  • 低い相関(< 0.6): 表現が不適切、次元数の増加を検討

注意事項

解釈上の注意

  • 軸の意味: MDSの軸は任意であり、回転・反転しても結果は同等
  • 絶対位置: 相対的な位置関係のみが意味を持つ
  • 因果関係: MDSは相関関係を示すが因果関係は示さない

モデルの改善

  • ストレス値が高い場合: 次元数の増加または手法の変更を検討
  • グループが混在する場合: より適切な変数選択や前処理を検討
  • 解釈困難な場合: 理論的背景の再検討や専門家との相談を推奨

データ

設定

結果

手法 {{ mdsResult.method === 'classical' ? '古典的MDS' : '非計量MDS' }}
次元数 {{ mdsResult.data[0] && mdsResult.data[0].z !== undefined ? '3次元' : '2次元' }}
サンプルサイズ {{ mdsResult.data.length }}
ストレス値 {{ mdsResult.stress }} (良好) (許容範囲) (要注意)
距離相関 {{ mdsResult.correlation }}
グループ数 {{ groupNames.length }}グループ ({{ settings.groupColumns.join('-') }}: {{ groupNames.join(', ') }})
表示設定

MDS座標データ
観測点ID 第1次元 第2次元 第3次元 グループ ({{ settings.groupColumns.join('-') }})
{{ point.point_id }} {{ point.x.toFixed(3) }} {{ point.y.toFixed(3) }} {{ point.z.toFixed(3) }} {{ point.group }}