コレスポンデンス分析(correspondence analysis、別名「対応分析」)は、クロス集計表を1枚の散布図(布置図)に落とし込み、行の項目と列の項目がどれだけ関連しているかを位置関係で読み取る多変量解析の手法です。「ブランドAは若年層に近い」「メニューBは平日利用と結びつく」といった質的データ同士の関係を、数表を眺めるより直感的に把握できます。この記事では、仕組みとやり方の手順、主成分分析との違い、Pythonでの実装、マーケティングでの活用と使う際の注意点までを実装目線で整理します。
まとめ:コレスポンデンス分析の要点
- クロス集計表を散布図(布置図)に変換し、行項目と列項目の関連を距離と方向で可視化する手法。別名は対応分析。
- 内部では特異値分解(SVD)でクロス集計表を少数の次元に圧縮し、寄与率の高い2次元を布置図に使う。
- 主成分分析との違いは扱うデータ。コレスポンデンス分析は質的データ(クロス集計表)、主成分分析は量的データ(数値行列)が対象。
- 布置図では行同士・列同士の近さは比較できるが、行の点と列の点の直線距離は直接比較しない(原点から見た方向で読む)。
- Pythonの
princeライブラリで実装可能。ブランドイメージやポジショニング分析で使われる一方、量的データや少数サンプルには不向き。
コレスポンデンス分析とは|クロス集計表を散布図に変換する手法
コレスポンデンス分析は、2つの質的変数のクロス集計表を入力に取り、行の各項目と列の各項目を同じ平面上の点として配置します。配置の原則は単純で、一緒に出現しやすい行と列は近くに、そうでないものは離れて置かれます。たとえば「ブランド×イメージ語」のクロス集計表なら、各ブランドと各イメージ語が散布図上に並び、どのブランドがどの印象を持たれているかがひと目で分かります。入力となるクロス集計表そのものの作り方はクロス集計表をExcel・スプレッドシートで作る方法を解説した記事で整理しています。
数表のまま眺めても、行数・列数が増えるほど全体の関係はつかみにくくなります。コレスポンデンス分析は、その表全体の関連構造を2次元に要約して1枚の図にする点に価値があります。多変量解析の中での位置づけは多変量解析の基本概念と活用場面を解説した記事も参照してください。
特異値分解(SVD)で次元を圧縮する仕組み
コレスポンデンス分析の中身は、クロス集計表の各セルについて「独立を仮定した期待度数からのズレ」を求め、その残差の行列を特異値分解(SVD)で分解する処理です。SVDによって表の情報は複数の次元(軸)に分解され、各次元が全体のばらつき(総イナーシャ)をどれだけ説明するかを示す指標が寄与率です。寄与率の高い第1・第2次元を縦横の軸に取ることで、元の多次元的な関係を平面上に近似して描きます。第1・第2次元の累積寄与率が低いときは、2次元の布置図が表の関係を十分に代表できていないため、解釈を慎重にする必要があります。
コレスポンデンス分析のやり方|手順を5ステップで解説
手作業で計算することはまれで、実務では統計ソフトやライブラリに任せますが、各ステップで何が行われているかを押さえておくと結果を正しく読めます。
- クロス集計表を用意する:分析したい2つの質的変数(例:ブランドと評価項目)で集計表を作る。度数が入ったセルが入力になる。
- 期待度数からの残差を求める:行と列が無関係だった場合の期待度数と実測値の差を、カイ二乗距離の考え方で標準化する。
- 特異値分解で次元に分解する:標準化した残差行列をSVDで分解し、各次元の特異値(イナーシャ)を得る。
- 寄与率で使う次元数を決める:累積寄与率を見て、第1・第2次元で十分に説明できるかを確認する。
- 布置図に配置して解釈する:行・列の座標を散布図に置き、近さと原点からの方向で関連を読み取る。
布置図の読み方と誤読を避ける注意点
布置図で最も誤解されやすいのが距離の解釈です。行の点同士(例:ブランド同士)の近さ、列の点同士(例:イメージ語同士)の近さは、それぞれ関連の強さとして比較できます。しかし行の点と列の点の直線距離をそのまま「近いから関連が強い」と読むのは誤りです。行と列の関係は、点の位置ではなく原点から見た方向(同じ向きにあるほど関連が強い)で読みます。また原点付近に集まる点は「どの相手とも特徴的な関連がない=平均的」であることを意味し、目立つ位置にある点ほど独自の傾向を持ちます。この2点を外すと、図から誤った結論を引き出しやすくなります。
主成分分析との違い|扱うデータと目的の差
コレスポンデンス分析は主成分分析(PCA)としばしば比較されます。どちらも高次元の情報を少数の軸に要約して可視化する点は共通しますが、対象とするデータと目的が異なります。量的データを軸にまとめる主成分分析については主成分分析の仕組みと手順を実装目線で解説した記事で詳しく扱っています。使い分けの要点は、手元のデータが「クロス集計された質的データ」か「数値の変数群」かで判断します。
| 観点 | コレスポンデンス分析 | 主成分分析(PCA) |
|---|---|---|
| 対象データ | 質的データ | 量的データ |
| 入力 | クロス集計表(度数) | 数値の行列 |
| 目的 | 行項目と列項目の関連を可視化 | 変数を少数の合成軸に要約 |
| 距離の基準 | カイ二乗距離 | ユークリッド距離 |
| 代表的な用途 | ブランドイメージ・ポジショニング | 指標の集約・特徴抽出 |
Pythonによるコレスポンデンス分析の実装(princeライブラリ)
Pythonでは多変量解析ライブラリprinceでコレスポンデンス分析を実装できます。scikit-learn風のインターフェースで、クロス集計表のDataFrameを渡すだけで座標と寄与率が得られます。次はブランド×イメージ語のクロス集計表を分析する最小例です。
import pandas as pd
import prince
# 行=ブランド、列=イメージ語のクロス集計表(度数)
X = pd.DataFrame(
data=[[30, 12, 5], [8, 25, 10], [6, 9, 28]],
index=["ブランドA", "ブランドB", "ブランドC"],
columns=["高級", "手軽", "先進的"],
)
ca = prince.CA(n_components=2, random_state=42)
ca = ca.fit(X)
# 各次元の寄与率・累積寄与率を確認
print(ca.eigenvalues_summary)
# 行(ブランド)と列(イメージ語)の布置座標
print(ca.row_coordinates(X))
print(ca.column_coordinates(X))
# 布置図(バイプロット)を描画
ca.plot(X)
eigenvalues_summaryで第1・第2次元の寄与率を確認し、たとえば累積寄与率が80%を超えていれば2次元の布置図で表の関係をほぼ説明できていると判断してからplotの布置図を解釈します。上のコードは執筆時点のprince 0.16系で動作しますが、APIはバージョンによって変わるため最新の仕様は公式ドキュメントで確認してください。RではFactoMineRやcaパッケージが同じ役割を担い、専用の調査分析ツールでもGUIから同等の分析ができます。
コレスポンデンス分析の活用事例|ブランドイメージとポジショニング分析
コレスポンデンス分析が最も使われるのはマーケティングリサーチです。アンケートで「各ブランドにどのイメージを持つか」を集計したクロス集計表を分析すると、自社と競合が消費者の頭の中でどう位置づけられているかをポジショニングマップとして描けます。自社ブランドが狙ったイメージ語の近くにあるか、競合と差別化できているかを1枚の図で確認でき、ブランド戦略の議論の土台になります。
ブランド以外にも、飲食店のメニュー×利用シーン、店舗×来店客層、商品カテゴリ×購買動機など、2つの質的軸で集計できるテーマであれば同じ枠組みで分析できます。コンテンツマーケティングでは、記事テーマ×流入キーワード群の関連を可視化して、どのテーマがどの検索意図と結びついているかを整理する使い方もあります。
コレスポンデンス分析のメリット・デメリットと使う際の注意点
最大のメリットは、数表では埋もれてしまう質的データの関連構造を、専門知識のない相手にも1枚の図で共有できることです。会議やレポートで「どのブランドがどの層に支持されているか」を直感的に伝えられる点は、他の手法にない強みです。
一方でデメリットもあります。布置図はあくまで関連の傾向を示すもので、統計的な有意性や因果関係を保証しません。第1・第2次元の累積寄与率が低ければ、図が表の実態をうまく代表できていない可能性があります。またサンプルサイズが小さい、あるいはカテゴリの度数が極端に偏っていると、結果が不安定になりやすい点にも注意が必要です。
使うべきでないのは、扱うデータが量的な数値である場合です。売上や満足度スコアのような連続値を要約したいなら主成分分析や回帰分析が適しており、無理にクロス集計してコレスポンデンス分析にかけると情報を落とすことになります。「質的データの関連を俯瞰したいとき」に用途を絞るのが、この手法を活かすコツです。
よくある質問
Q. コレスポンデンス分析と対応分析は違うものですか?
A. 同じ手法です。correspondence analysisの訳語として「対応分析」と「コレスポンデンス分析」の両方が使われており、内容に違いはありません。
Q. コレスポンデンス分析をわかりやすく言うと何ですか?
A. クロス集計表を散布図に変えて、どの項目とどの項目が結びつきやすいかを近さで見る手法です。ブランドとイメージ語の関係を地図のように示す、と考えると理解しやすくなります。
Q. コレスポンデンス分析と主成分分析はどう使い分けますか?
A. 手元のデータで決めます。クロス集計された質的データなら対応分析、数値の変数群なら主成分分析です。両者は入力データの型が異なるため、目的よりまずデータの種類で選びます。
Q. コレスポンデンス分析はExcelでもできますか?
A. Excelの標準機能には含まれていないため、専用のアドインやマクロ、あるいはPython(prince)・R(FactoMineR)・調査分析ツールを使うのが一般的です。クロス集計表の作成まではExcelで行い、分析はそれらに渡す流れになります。
Q. コレスポンデンス分析に必要なデータは何ですか?
A. 2つの質的変数で集計したクロス集計表(度数の表)です。個票データがあれば、まずクロス集計表を作ることから始めます。