因子分析(FA)|潜在因子で構造を読み解く実務ガイド(回転・解釈)
「因子分析を活用したいが、どう判断すればいいかわからない」
そのとき多くの人は、共通因子、因子負荷量、回転、バリマックス、プロマックスなど「技術」を学ぶことから始めます。
もちろん技術は重要です。
ただ実務では、技術以前に「前提(目的・戦略・判断軸)」が設計されていないことで、何を学んでも噛み合わない状態になっているケースが少なくありません。
何のために因子分析を活用するのか(目的)
どこで勝つのか(戦略)
何を見て良し悪しを判断するのか(判断軸)
ここが曖昧だと、因子分析の活用が「作業」になりやすく、改善の方向性もブレます。
結果として、因子分析を活用しても成果が出ない、改善施策を打っても成果が出ない、といったズレが起きやすくなります。
観測変数の背後にある“潜在的な共通因子”を推定し、構造を簡潔に表現する手法です。PCA が分散の要約であるのに対し、FA は共通性/独自性を分けて潜在因子を捉える可能性があります。アンケートの構造把握、尺度の短縮、ポジショニングの理解などで活用できる可能性があります。
※この記事は、因子分析を理解し、判断に活用する方向けです。即効性を求める方や、すでに前提設計が明確な方には、より具体的な実践記事をおすすめします。
まずはここだけ(やさしい導入)
- 何をする?: 似た設問が“同じ潜在因子”にまとまるように、背後の軸を推定
- いつ使う?: アンケートの構造把握、尺度の短縮、ポジショニングの理解
- どう読む?: 因子負荷量の符号と大きさ、因子相関(斜交)、共通性/独自性
用語ミニ辞典(1 行で)
- 共通性/独自性: 変数が因子で説明される部分と残り
- 回転: 解釈しやすくする座標変換(直交=因子独立/斜交=因子相関あり)
- 並行分析: ノイズデータと固有値を比較して因子数を決める統計的手法
直感(たとえ)
アンケートの「価格に敏感」「デザインが好き」「操作が楽」などの設問背後に、“合理性志向”“感性志向”といった潜在因子があるイメージです。
因子数の決め方
- 固有値>1、スクリープロットの肘、並行分析(推奨)
可視化(スクリープロットと負荷量)
import matplotlib.pyplot as plt
from factor_analyzer import FactorAnalyzer
fa = FactorAnalyzer()
fa.fit(df)
ev, v = fa.get_eigenvalues()
plt.plot(range(1, len(ev)+1), ev, marker='o')
plt.axhline(1.0, color='gray', linestyle='--')
plt.xlabel('factor'); plt.ylabel('eigenvalue'); plt.title('Scree plot')
plt.tight_layout(); plt.show()
loadings = pd.DataFrame(fa.loadings_, index=df.columns)
ax = loadings.plot(kind='bar', figsize=(6,3))
ax.set_title('Factor loadings')
plt.tight_layout(); plt.show()
推定と回転
- 推定: 主軸法/最尤法
- 回転: 直交(バリマックス)/斜交(プロマックス)。実務では斜交もしばしば有効
ミニ例題とコード
import pandas as pd
from factor_analyzer import FactorAnalyzer
df = pd.DataFrame({
'price_sensitivity':[4,5,3,4,5,2,3,4],
'design_preference':[2,3,4,2,3,5,4,5],
'usability_ease':[3,4,5,3,4,5,3,4],
'functionality_need':[5,4,3,5,4,3,5,4]
})
fa = FactorAnalyzer(n_factors=2, rotation='promax')
fa.fit(df)
loadings = pd.DataFrame(fa.loadings_, index=df.columns, columns=['F1','F2'])
print(loadings)
実務ケーススタディ(回転で“腹落ち”する設問グループ)
目的: 製品満足度アンケートの設問を 2–3 因子に整理し、訴求軸を明確にする。
- 因子数の当たりを付ける
- スクリープロットと並行分析で 2–3 因子を候補に
- 推定と回転
- まず最尤法で推定、解釈のためプロマックス回転
- 解釈
- F1: 機能/価格の合理性、F2: デザイン/使いやすさ のように命名
- 活用
- 因子得点でセグメントを可視化し、メッセージの方向性を決める
import numpy as np
import pandas as pd
from factor_analyzer.factor_analyzer import calculate_bartlett_sphericity, calculate_kmo
from factor_analyzer import FactorAnalyzer
# KMO/Bartlett で適性を確認(例)
chi2, p = calculate_bartlett_sphericity(df)
kmo_all, kmo_model = calculate_kmo(df)
print('Bartlett p=', p, 'KMO=', round(kmo_model,2))
# 簡易スクリープロット
fa = FactorAnalyzer()
fa.fit(df)
ev, v = fa.get_eigenvalues()
print('eigenvalues=', ev)
練習問題(理解を定着)
- バリマックスとプロマックス、いつどちら?
- ヒント: 因子が独立と仮定できるか。相関があるなら斜交
- ある設問が複数因子に高負荷。どうする?
- ヒント: 設問の曖昧さを見直し、因子数や回転を再検討
- 因子得点でクラスタが不安定。何を疑う?
- ヒント: サンプル不足/外れ値/尺度の信頼性(α)
読み方の例:
- F1 に
price_sensitivity:+, functionality_need:+→ 合理性/性能志向 - F2 に
design_preference:+, usability_ease:+→ 感性/使いやすさ志向
活用と注意
- 因子得点で顧客をポジショニング、クラスタ前の次元圧縮
- 過剰解釈を避け、外的妥当性(行動や購買との整合)を確認
よくある誤解とその構造
因子分析を活用する際、「手法を選べば成果が出る」という誤解が生じやすいです。具体的には「因子分析を活用すれば成果が出る」「回転を選べば成果が出る」「因子数を決めれば成果が出る」といった形で現れます。
なぜこの誤解が生じるのか
これらの誤解は、「手法の選択」と「前提設計」の関係を逆転させて考えることで生じます。
多くの解説では、手法の選択(因子分析の適用、回転の選択、因子数の決定など)が重要であることが強調されます。確かに手法の選択は重要です。しかし、手法の選択が先に来るのではなく、「何を達成したいのか」「どこで勝つのか」「何を見て良し悪しを判断するのか」という前提設計が先にあるべきです。
前提設計が明確でない状態で手法を選んでも、どれを選んでも効果が発揮されにくい傾向があります。なぜなら、手法は「手段」であり、目的が明確でなければ、手段の選択基準が曖昧になるからです。
判断の構造を可視化する
因子分析を活用する際の判断プロセスを整理すると、以下のようになります:
- 前提設計(目的・戦略・判断軸の明確化)
- 何を達成したいのか(アンケートの構造把握?尺度の短縮?ポジショニングの理解?)
- どこで勝つのか(どの変数群を分析するのか)
- 何を見て良し悪しを判断するのか(解釈可能性?因子負荷量?因子得点?)
- データの明確化(分析対象の特定)
- どの変数を分析するのか
- データの種類と品質はどうか
- 前処理の実施(前提設計に基づく前処理)
- KMO/Bartlett で適性を確認
- 外れ値処理、欠測処理など
- 手法の選択(前提設計に基づく選択)
- 因子数の決定(固有値>1、スクリープロット、並行分析など)
- 推定方法の選択(主軸法/最尤法)
- 回転の選択(直交/斜交、バリマックス/プロマックス)
- 解釈と活用(実務での活用)
- 因子負荷量の解釈(符号と大きさ)
- 因子得点の活用(ポジショニング、クラスタ前の次元圧縮など)
この順序を逆転させると、手法の選択が目的化し、成果につながりにくくなります。
実務で見落とされがちな点
前提設計が欠落している場合、以下のような問題が起きやすいです:
- 因子分析を活用しても成果が出ない
- 改善施策を打っても成果が出ない
- 改善の方向性がブレる
これらの問題は、手法の選択ではなく、前提設計の欠落が原因である可能性が高いです。
また、回転の選択や因子数の決定が目的化してしまう誤解も生じやすいです。回転は「解釈しやすくするための手段」であり、因子数は「実務で使える解釈との両立」が重要です。
一般的に語られる因子分析の考え方
因子分析について、多くの場合、以下のような考え方が語られます。ただし、これらは一般的な傾向であり、すべてのケースに当てはまるわけではありません。
因子分析の重要性
因子分析は、観測変数の背後にある“潜在的な共通因子”を推定し、構造を簡潔に表現する手法として重要とされています。PCA が分散の要約であるのに対し、FA は共通性/独自性を分けて潜在因子を捉えることができ、アンケートの構造把握、尺度の短縮、ポジショニングの理解などで活用できる可能性があります。
判断の軸:
- 自社の目的(何を達成したいか)に照らして、どの因子分析が重要か
- 自社のリソース(時間・予算・人材)に照らして、どの因子分析が現実的か
- 自社のターゲット顧客に照らして、どの因子分析が有効か
実務視点で見ると見落とされがちな点
一般的な考え方とは別に、実務では以下の点が見落とされがちです。ただし、これらもすべてのケースに当てはまるわけではありません。
前提設計の欠落
因子分析で成果が出ない最大の原因は、手法の選択ではなく、前提設計(目的・戦略・判断軸)の欠落である可能性が高いです。
何が起きるか:
- 因子分析を活用しても成果が出ない
- 改善施策を打っても成果が出ない
- 改善の方向性がブレる
判断の軸:
- 目的(何を達成したいか)が明確か
- 戦略(どこで勝つか)が決まっているか
- 判断軸(何を見て良し悪しを判断するか)が設定されているか
推定と回転の選択
主軸法/最尤法による推定、直交(バリマックス)/斜交(プロマックス)による回転の選択が適切でないと、解釈が困難になる可能性があります。実務では斜交もしばしば有効とされていますが、因子相関が想定されるなら斜交(プロマックス)を優先することが推奨されています。
因子数の決定
固有値>1、スクリープロットの肘、並行分析(推奨)などで因子数を決定できますが、並行分析+スクリープロット+解釈可能性の 3 点で合意することが重要とされています。実務では「使える解釈」との両立が重要です。
5分診断:因子分析を活用する前に確認すべきこと
因子分析を活用する前に、以下の診断で自社の状況を確認することが有効な場合があります。
Q1:前提設計(目的・戦略・判断軸)が明確か?
- Yes → Q2へ
- No → 前提設計を明確にする(因子分析活用の目的、どの指標を重視するか、何を見て良し悪しを判断するか)
Q2:データ(どのデータを分析するか)が明確か?
- Yes → Q3へ
- No → データを明確にする(分析対象のデータ、データの種類、データの品質など)
Q3:継続的な改善(効果測定・改善サイクル)ができているか?
- Yes → 次のステップへ
- No → 継続的な改善の仕組みを作る(効果測定、改善サイクル、次の施策の決定)
診断結果に基づく次のアクション:
- Q1がNoの場合:前提設計を明確にする(因子分析活用の目的、どの指標を重視するか、何を見て良し悪しを判断するか)
- Q2がNoの場合:データを明確にする(分析対象のデータ、データの種類、データの品質など)
- Q3がNoの場合:継続的な改善の仕組みを作る(効果測定、改善サイクル、次の施策の決定)
よくある質問(FAQ)
- Q: PCA と因子分析の違いは?
- A: PCA は分散の要約、FA は共通因子を仮定し誤差を分離。解釈重視なら FA
- Q: 因子数は最終的にどう決める?
- A: 並行分析+スクリープロット+解釈可能性の 3 点で合意
- Q: 回転は直交と斜交どちら?
- A: 因子相関が想定されるなら斜交(プロマックス)を優先
因子分析の要点と判断の軸
因子分析は、観測変数の背後にある“潜在的な共通因子”を推定し、構造を簡潔に表現する手法です。PCA が分散の要約であるのに対し、FA は共通性/独自性を分けて潜在因子を捉えることができ、アンケートの構造把握、尺度の短縮、ポジショニングの理解などで活用できる可能性があります。
ただし、これらは一般的な傾向であり、すべてのケースに当てはまるわけではありません。状況に応じて、複数の視点から検討し、最適な方法を見つけることが重要です。
判断の軸
因子分析を活用する際は、以下の判断軸を参考にすることが有効な場合があります:
- 前提設計(目的・戦略・判断軸)が明確か
- データ(どのデータを分析するか)が明確か
- 継続的な改善(効果測定・改善サイクル)ができているか
ただし、これらは一般的な傾向であり、すべてのケースに当てはまるわけではありません。状況に応じて、複数の視点から検討し、最適な方法を見つけることが重要です。
重要なポイント
- 因子数の決定:固有値>1、スクリープロットの肘、並行分析(推奨)
- 推定:主軸法/最尤法
- 回転:直交(バリマックス)/斜交(プロマックス)。実務では斜交もしばしば有効
- 解釈:因子負荷量の符号と大きさ、因子相関(斜交)、共通性/独自性
- 過剰解釈を避け、外的妥当性(行動や購買との整合)を確認
次のステップ
今回紹介した考え方は、あくまで一つの視点です。重要なのは、自社の状況・リソース・目的に照らして、どこを採用し、どこを捨てるかを考えることです。
「正解」は存在しませんが、「自社にとって可能性が高い選択肢」を複数の視点から検討し、検証を繰り返すことで、成果につながる可能性があります。
具体的には、以下のステップを検討することが有効な場合があります:
- 前提設計(目的・戦略・判断軸)を明確にする
- 診断フローで自社の状況を確認する
- 因子数の当たりを付ける:スクリープロットと並行分析で 2–3 因子を候補に
- 推定と回転:まず最尤法で推定、解釈のためプロマックス回転
- 解釈:F1: 機能/価格の合理性、F2: デザイン/使いやすさ のように命名
- 活用:因子得点でセグメントを可視化し、メッセージの方向性を決める
はじめて取り組む方へ(補足)
因子分析は、最初から完璧を目指すよりも、目的→判断軸→小さな検証の流れを一度回してみる方が前に進みやすいです。まずは自社にとって重要度が高い論点を1つだけ選び、身近なデータで小さく試してみてください。
重要なのは、「正解」を探すのではなく、「自社にとって可能性が高い選択肢」を複数の視点から検討し、検証を繰り返すことです。
因子分析についてのご相談はこちら