共分散構造分析(SEM: Structural Equation Modeling)

🔹 共分散構造分析(SEM)とは?

SEM = 因子分析(潜在変数の測定モデル)+回帰分析(構造モデル)を統合したもの
観測できない心理的・概念的な変数(例:ブランド態度、満足度)を扱いながら、因果構造を推定できるのが特徴です。


🔹 SEMの構成

  1. 測定モデル(Measurement Model)
    • 潜在変数(latent variable)と観測変数(質問項目や指標)の関係を表す部分
    • 例:
      • ブランド態度(F1)→ 質問項目 Q1, Q2, Q3
      • 購買意図(F2)→ 質問項目 Q4, Q5, Q6
    記法例: F1 =~ Q1 + Q2 + Q3 F2 =~ Q4 + Q5 + Q6
  2. 構造モデル(Structural Model)
    • 潜在変数どうし(あるいは観測変数)の因果関係を表す部分
    • 例:ブランド態度が購買意図に影響し、それが実際の購買につながる
    記法例: F2 ~ F1 Purchase ~ F2
  3. 共分散(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 が代表的実装

タイトルとURLをコピーしました