多次元尺度法 (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は相関関係を示すが因果関係は示さない
モデルの改善
- ストレス値が高い場合: 次元数の増加または手法の変更を検討
- グループが混在する場合: より適切な変数選択や前処理を検討
- 解釈困難な場合: 理論的背景の再検討や専門家との相談を推奨
{{title}}
{{title}}
{{ item.full }}
{{title}}
{{group}}
{{title || 'カラム選択'}}
{{title || 'カラム選択'}}
{{ title }} カテゴリー変数を選択してください。複数選択すると組み合わされます
...(選択肢が多すぎます)
それぞれに設定する値を入力してください。異なる分類に同じ値を設定することもできます。順位の数値を入れれば、順序カテゴリカル変数として扱えるようになります。
分類内容 | 値 | |
{{ item.tag }} |
データの取り扱い
- データインポート
- データの読み込みは、ブラウザ内で完結し、外部へのデータ送信は発生しません。
- データ保持
- 読み込んだデータはブラウザ内に保持されます。
- ブラウザのセッションが終了または全てのタブが閉じられると、保持していたデータは自動的に破棄されます。
- データの安全性
- ブラウザがクラッシュした場合でも、10分経過すれば次回の起動時にデータは安全に消去されます。
- 共用のPCでの使用も考慮し、データの外部漏洩のリスクを最小化しています。
クラウド R を利用する時のデータ送信
- 最小限のデータ送信
- 外部のRサーバーへ送信されるデータは、数値計算に必要な最小限のセットに制限されています。
- 送信データは解析に必要なサブセットのみに限られます。
- ユーザーコントロール下のデータ送信
- 送信前に、どのデータが外部サーバーへ送信されるのか内容を確認することが可能です。
- データの送信はユーザーの操作により行われ、自動的な送信は行いません。
- クラウド R 出力結果の保持
- クラウド R からの出力結果は、将来の自動翻訳や自動解説の機能実現のため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
- 通信経路も全て暗号化していますので、たとえプライバシーに関わる情報が含まれていたとしても、通常は漏洩する恐れはありません。
AI による解説を利用する時のデータ送信
- 最小限のデータ送信
- 外部のAIサーバーへ送信されるデータは、クラウド R の出力結果と、用いた統計手法の徐放です。
- ただし、クラウド R の出力結果に連続した数値データが含まれる場合は、AI にデータ形式を認識させる目的で、連続データの最初の行のみを送信します。
- クラウド R 出力結果の保持
- AI による解説内容は、将来の品質向上などのため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
新しい列 (カラム) 名:
ここで設定した値に完全一致するデータを欠損値として扱います。
新しい列 (カラム) 名:
Reactive stat において、統計データの変数は、通常の数値や文字列として扱われます。 したがって、日付や時間の概念は直接的にはサポートされていません。
統計計算を行う際には、日付や時間の差分を数値として事前に用意しておく必要があります。
計算結果プレビュー:
新しい列 (カラム) 名:
チェックされた行が削除対象となります
削除対象の行
データ入力
{{ errorMessage || dataStatus + 'です'}}
設定とオプション
AI による R コードの解説
R の出力結果
R出力図形
AI による R 出力結果の解説
変換設定:
(
変換元の単位:
変換先の単位:
)
変換結果プレビュー:
新しい列 (カラム) 名:
計算式の入力:
数式:
- データ: カラム名 (列名) をそのまま記述するか、"列名" のようにダブルクォートで挟んで指定
- 算術演算子: +, -, *, /, ()
- 基本関数: abs(), sqrt(), pow(), exp(), log(), log10()
- 三角関数: sin(), cos(), tan(), asin(), acos(), atan()
- 丸め関数: round(), floor(), ceil()
体重 / pow(身長, 2)
, "体重" / ("身長" * "身長")
利用可能なカラム:
{{ column }}
変換結果プレビュー:
{{ errorMessage }}
新しい列 (カラム) 名:
区切り文字の選択:
欠損値の処理:
プレビュー:
{{ preview }}
新しい列 (カラム) 名:
確認
変換結果プレビュー:
新しい列 (カラム) 名:
{{title}}
データがありません
{{title}}
...(選択肢が多すぎます)
{{filteringText}}
データ
設定
対象データ
分析
クラウド R 分析
結果
手法 | {{ 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 }} |