🔹 共分散構造分析(SEM)とは?
SEM = 因子分析(潜在変数の測定モデル)+回帰分析(構造モデル)を統合したもの
観測できない心理的・概念的な変数(例:ブランド態度、満足度)を扱いながら、因果構造を推定できるのが特徴です。
🔹 SEMの構成
- 測定モデル(Measurement Model)
- 潜在変数(latent variable)と観測変数(質問項目や指標)の関係を表す部分
- 例:
- ブランド態度(F1)→ 質問項目 Q1, Q2, Q3
- 購買意図(F2)→ 質問項目 Q4, Q5, Q6
F1 =~ Q1 + Q2 + Q3 F2 =~ Q4 + Q5 + Q6
- 構造モデル(Structural Model)
- 潜在変数どうし(あるいは観測変数)の因果関係を表す部分
- 例:ブランド態度が購買意図に影響し、それが実際の購買につながる
F2 ~ F1 Purchase ~ F2
- 共分散(Covariance)
- 外生変数どうしの相関関係をモデリングする
- 記法例:
F1 ~~ F2
🔹 SEMでよく使う分析内容
- 確認的因子分析(CFA):測定モデルだけに注目(因子構造が妥当かを確認)
- パス解析:構造モデルだけに注目(因果パスの有意性を見る)
- 完全SEM:測定モデル+構造モデルを同時推定
- 媒介分析(mediation):ある変数が媒介しているかを確認(例:広告認知→ブランド態度→購買意図)
- 多母集団分析(multi-group SEM):国・性別・年代で因果構造が同じかを比較
🔹 適合度指標(モデル全体のフィット感)
- χ²検定:理論モデルとデータの差(p>0.05なら適合)
- CFI, TLI:0.90以上(望ましくは0.95以上)
- RMSEA:0.08以下(望ましくは0.05以下)
- SRMR:0.08以下
🔹 Pythonでの実装(semopy)
from semopy import Model, calc_stats
import pandas as pd
# モデル記述(測定+構造)
desc = """
F1 =~ Q1 + Q2 + Q3
F2 =~ Q4 + Q5 + Q6
F2 ~ F1
Purchase ~ F2
"""
# DataFrameを用意(Q1..Q6, Purchase列を含む)
df = pd.read_csv("survey.csv")
# モデル推定
model = Model(desc)
model.fit(df)
# 推定結果
print(model.inspect()) # パラメータ推定値
print(calc_stats(model, df)) # 適合度指標
🔹 マーケティングでの活用例
- ブランド態度 → 購買意図 → 実購買
- 広告認知やブランドイメージ調査の項目を潜在変数に
- 最終的に売上データや購買意図とつなぐ
- 顧客満足 → 推奨意図(NPS) → 継続利用
- アンケート調査から「満足・信頼」と「NPS」を潜在変数にして分析
✅ まとめると:
- SEMは 「潜在変数と因果構造を統合的に推定」 する方法
- CFA・パス解析・媒介分析を包含する
- 適合度指標でモデル全体の妥当性を評価
- Pythonなら
semopy
、Rならlavaan
が代表的実装