📊 対象級:準1級 | 重要度:C(低頻度)
要点(BLUF)
手元にあるのが「対象どうしの距離(近さ・遠さ)の表」だけのとき、その距離関係をできるだけ保つように対象を2次元などの低い次元に並べ直す手法が 多次元尺度構成法(MDS, Multidimensional Scaling) です。準1級では「古典的MDSがどういう計算で座標を出すか」「それがなぜ主成分分析(PCA)と一致するのか」「計量と非計量の違い」が問われます。古典的MDSの心臓部はこの一行です。
要するに「二乗距離の表 を二重中心化すると内積(グラム)行列 になり、 を固有値分解すれば座標 が復元できる」ということです。
1. 問題設定:距離行列しかない
対象が 個あります。手元にあるのは、各ペア の 距離(非類似度) を並べた の行列だけだとします。
- が小さい=対象 と は「似ている/近い」
- が大きい=「異なる/遠い」
やりたいこと:各対象に低次元(典型的には2次元)の座標 を割り当て、その座標間の距離が元の をできるだけ再現するようにする。得られた散布図を 布置(configuration) と呼びます。似た対象が近く、異なる対象が遠くに並んだ「地図」が出来上がります。
flowchart LR D["距離(非類似度)行列<br/>D = (d_ij)"] --> M["MDS"] M --> X["低次元の布置<br/>(2次元の散布図)"] X --> V["似た対象は近く<br/>異なる対象は遠くに配置"]
PCAやクラスター分析が「変数(座標)が与えられたデータ」から出発するのに対し、MDSは「距離だけ」から出発する点が決定的に違います。距離さえ定義できれば、元の座標が分からなくても(あるいはそもそも存在しなくても)布置を描けます。
MDSには大きく2系統あります。距離の数値そのものを再現しようとする 計量MDS(metric MDS)=代表が古典的MDS、距離の順位だけを保とうとする 非計量MDS(non-metric MDS) です。まず古典的MDSを導出し、後半で非計量MDSに触れます。
2. 古典的MDS(計量MDS)の導出
古典的MDSは 主座標分析(Principal Coordinate Analysis, PCoA) や トーガソン・スケーリング(Torgerson scaling) とも呼ばれます。導出の流れは「距離 → 内積 → 固有値分解 → 座標」の4段です。各段で「要するに何をしているか」を添えます。
2.1 距離を内積に翻訳する
仮に対象の真の座標 が存在して、 がそのユークリッド距離だったとします。二乗距離を展開します。
ここで内積を と書く(これが グラム行列 の成分)と、
要するに「距離が分かれば内積が分かるかもしれない」という見通しです。逆に解くと 。ただし右辺の対角項 (=各点の原点からの距離)が未知です。距離は平行移動で不変なので、距離行列 だけからは座標の原点を決められません。この未知の対角項を消す操作が、次の二重中心化です。
2.2 二重中心化でグラム行列を復元する
原点を データの重心 に固定します()。このとき座標を中心化したことになり、グラム行列 の行和・列和がゼロになります()。この性質を使うと、未知の を距離だけで書き直せます。
実際、 の両辺で行平均・列平均・全平均を取り、 を代入して整理すると、
つまり「二乗距離 から、その行平均・列平均を引いて全平均を足し戻し、 倍する」と内積 が出ます。未知だった は平均操作の中に吸収されて消えました。要するに「原点を重心に置くと、距離だけから内積が一意に復元できる」ということです。
この「行平均・列平均を引いて全平均を足す」操作は、行列で書くと 二重中心化(double centering) そのものです。中心化行列(centering matrix)
を両側から掛けます。 をベクトルに左から掛けると各成分から全体平均が引かれる(中心化される)射影行列で、、 を満たします。二乗距離行列 に対し
とすれば、上の成分ごとの式がまとめて実現されます(左から で各列を中心化=行平均を除去、右から で各行を中心化=列平均を除去、両方の効果で全平均が足し戻る)。要するに「 という一発の行列演算が、距離の表を内積の表に変換する装置」です。
2.3 固有値分解で座標を取り出す
( は各行が の 座標行列)という構造を持つので、 は 対称かつ半正定値(固有値が非負)です。スペクトル分解すると
は正規直交固有ベクトルを並べた行列です。 とおけば なので、
が求める座標です。要するに「内積行列の固有ベクトルを固有値の平方根で伸縮したものが座標」になります。
低次元への縮約:上位 個(普通 )の固有値・固有ベクトルだけを残します。
固有値 は 第 軸が説明する分散(情報量) を表すので、大きい固有値の軸から採用するほど元の距離をよく再現できます。寄与率 で「2次元でどれだけ説明できたか」を測れます。
flowchart TD D2["二乗距離行列 D^(2)"] --> HC["二重中心化<br/>B = -½ H D^(2) H"] HC --> EIG["固有値分解<br/>B = Q Λ Qᵀ"] EIG --> COORD["座標 X = Q Λ^(1/2)"] COORD --> RED["上位 r 個の固有値だけ残す<br/>→ r 次元の布置"]
3. 主成分分析(PCA)との関係 ── 双対性
ユークリッド距離に基づく古典的MDSは、元データに対するPCAと同じ低次元布置を与えます。 両者は同じ情報を「行側から見るか・列側から見るか」の違いにすぎず、双対(dual) の関係にあります。これは準1級で最も問われる論点です。詳細は 主成分分析(PCA) を参照してください。
数式で確認します。中心化済みデータ行列を ()とします。
- PCA は、変数側の 分散共分散行列 ()を固有値分解して主成分を作ります(分散共分散行列・相関行列)。
- 古典的MDS は、対象側の グラム行列 ()を固有値分解します。
ここで の特異値分解(SVD)を と書くと、
両者は同じ特異値の二乗 を固有値として共有します。 と は 非ゼロ固有値が完全に一致する(線形代数の基本事実)からです。したがって:
- MDSの主座標 と、PCAの主成分スコア は一致する( より)。
- 軸が説明する分散(固有値)も同一。
graph LR X["中心化データ X̃ = HX"] --> SVD["特異値分解 X̃ = U Σ Vᵀ"] SVD --> PCA["PCA: X̃ᵀX̃ = V Σ² Vᵀ<br/>(p×p, 変数側)"] SVD --> MDS["古典的MDS: X̃X̃ᵀ = U Σ² Uᵀ<br/>(n×n, 対象側)"] PCA --> SAME["同じ Σ² を共有<br/>→ 同じ低次元布置"] MDS --> SAME
要するに「データが手元にあるならPCAでもMDSでも同じ地図が描ける。MDSの強みは、データそのものが無くても距離行列さえあれば同じ地図が描けること」です。
| PCA | 古典的MDS | |
|---|---|---|
| 入力 | データ行列() | 距離行列() |
| 分解する行列 | 共分散 | グラム |
| 行列サイズ | ||
| 距離がユークリッドのとき | — | PCAと同一布置 |
4. 非計量MDS(順位を保つ)
古典的MDSは距離の数値をそのまま使いますが、実データの非類似度(官能評価のスコア、心理的な「似ている度」など)は、数値の絶対値に意味が薄く 順位(順序)にしか意味がない ことが多いです。そこで距離の数値ではなく 大小関係(順位)だけを保つ ように布置を求めるのが 非計量MDS(non-metric MDS) で、代表が クルスカル法(Kruskal, 1964) です。
4.1 ストレスの最小化
非計量MDSは、布置上の距離 (座標から計算する実際のユークリッド距離)と、元の非類似度 の 順位が一致 することを目指します。具体的には、 の順位に従って単調になるように変換した目標値 (ディスパリティ、単調回帰で求める)と のズレを表す ストレス(stress) を最小化します。
要するに「順位さえ合っていればよいことにして、布置上の距離と『順位を保った理想距離』のズレ(ストレス)を一番小さくする座標を、繰り返し計算で探す」手法です。ストレスが小さいほど布置が元の順位をよく再現しています。クルスカルが示した目安は、Stress が概ね 以下で「良い」、 で「まずまず」、 以上は「乏しい」とされます(基準値は文献により異なるため要最新確認)。
4.2 計量MDSとの違い
| 計量MDS(古典的MDS) | 非計量MDS(クルスカル法) | |
|---|---|---|
| 使う情報 | 非類似度の数値そのもの(間隔・比例尺度) | 非類似度の順位だけ(順序尺度) |
| 求め方 | 固有値分解(解析的に一発) | ストレス最小化(反復計算) |
| 仮定 | 距離 ユークリッド距離 | 距離と非類似度が単調関係 |
| 解 | 一意(固有値分解で決まる) | 初期値依存・局所最適がありうる |
古典的MDSは反復不要で計算が速く一意解が出る一方、距離をユークリッドと仮定します。非計量MDSは順序尺度の弱い仮定で済む代わりに、反復計算で局所最適に陥るリスクがあります。
5. 試験での問われ方(準1級)
MDSは多変量解析の中では出題頻度が高くない(重要度C)ものの、PCA・因子分析・クラスター分析と並ぶ次元縮約・布置の手法として問われます。
- 手法の位置づけ:「距離行列を入力とし、低次元の布置を出力する」という入出力を選ばせる。PCA(データ行列が入力)との入力の違い。
- PCAとの双対:「ユークリッド距離の古典的MDSはPCAと同一の布置を与える」の正誤判定。
- 計量 vs 非計量:「順位だけを保つのは非計量MDS」「固有値分解で解くのは古典的(計量)MDS」の対応。
- 二重中心化と固有値分解: から座標を得る流れの穴埋め。固有値=軸の説明分散という解釈。
固有値分解そのものの計算は 主成分分析(PCA) と共通の道具立てです。距離・内積の基礎は 分散共分散行列・相関行列 が下地になります。
よくある疑問(Q&A)
Q1. 古典的MDSとPCAは結局同じものですか?
「ユークリッド距離を使う限り、同じ低次元布置を与える」という意味では双対(等価)です。ただし入力が違います。PCAはデータ行列(各対象の変数値)が必要、古典的MDSは距離行列だけで済みます。データが手元にあるなら結果は一致しますが、「距離しか分からない」「変数を直接観測できない(例:心理的距離・路線間の所要時間)」場面ではMDSしか使えません。要するに「同じ地図を、データから描くか・距離から描くか」の違いです。
Q2. 固有値分解したら負の固有値が出ました。バグですか?
バグとは限りません。古典的MDSは「距離がユークリッド距離である」と仮定して内積行列 を作りますが、入力の距離がユークリッド距離として実現不可能(非ユークリッド) だと、 が半正定値にならず負の固有値が現れます。心理実験の非類似度や、三角不等式を満たさない指標で起きやすい現象です。対処は「負の固有値を捨て、正の固有値の軸だけで近似的に布置する」のが定石です()。要するに「負の固有値=その距離はユークリッド空間にきれいに埋め込めないサイン」です。
Q3. 次元はいくつ選べばよいですか?
固有値(=各軸の説明分散)の大きい順に採用し、寄与率 の累積や、固有値が急に小さくなる「肘(スクリープロット)」で決めます。可視化目的なら2〜3次元が普通です。非計量MDSなら、次元数を変えてストレスがどこで頭打ちになるかを見て決めます。考え方はPCAの寄与率・累積寄与率と同じです(主成分分析(PCA))。
Q4. 計量MDSと非計量MDS、どちらを使えばよいですか?
非類似度の尺度水準で決めます。距離が間隔・比例尺度で数値そのものに意味があるなら計量(古典的)MDS(固有値分解で一発、速い)。アンケートの「似ている度」のように順位にしか意味がない順序尺度なら非計量MDS(順位だけ保てばよいので仮定が弱い)。迷ったら、数値の絶対値を信じてよいかを基準にします。
Q5. 布置の軸(縦軸・横軸)には意味がありますか?
古典的MDSの軸は固有ベクトルなので、PCAの主成分と同様「最も分散を説明する方向」という統計的意味は持ちます。ただしMDSの布置は回転・反転・平行移動しても距離関係は変わらないため、軸そのものの向き・符号に固有の解釈を強いるのは危険です。読み取るべきは「どの対象が近く・遠いか」という相対配置であって、軸の絶対的な向きではありません。
まとめ
- MDSは距離(非類似度)行列だけから、対象を低次元に布置する手法。似た対象が近く・異なる対象が遠くに並ぶ地図を作る。
- 古典的MDS(=主座標分析・計量MDS):二乗距離 を二重中心化 してグラム行列 を復元し、固有値分解 から座標 を得る。
- PCAとの双対:ユークリッド距離の古典的MDSはPCAと同一布置。 と が同じ非ゼロ固有値を持つため。MDSの強みはデータ無し・距離だけで描けること。
- 非計量MDS(クルスカル法):距離の数値でなく順位を保つ。ストレス(布置距離とディスパリティのズレ)を反復的に最小化。順序尺度で使える。
- ⚠️ 非ユークリッド距離だと に負の固有値が出る。正の固有値だけで近似する。
関連ノート
- 主成分分析(PCA) ユークリッド距離の古典的MDSと双対。同じ固有値分解の道具立て
- 分散共分散行列・相関行列 距離・内積・グラム行列の基礎
- 多変量解析(Phase 6 目次) 多変量解析ドメインの目次