【データ分析】SEM(構造方程式モデリング)をPythonで進めてみた

以前SEMとは?というテーマでnote書きましたが、
そこから進んで実装してみました。
https://note.com/aaaki_t1/n/na97f0f1d810d

1. 因子を書き出してパス図を描く

・まずはブレスト的に要因を網羅します
・この時に観測変数と潜在変数を分けます
・仮説を元にパス図を書きます(miro使って共同作業すると書きやすい)
→現場に近い人と話ながら繋いでいくのが良いです

↓ こんな感じ

https://www.macromill.com/service/data_analysis/sem-covariance-structure-analysis.html

2. パス図を描く

・パス図を基にして仮説モデルを記述する
・3パターンに分けて書きます
   ∟構造方程式|潜在変数 =~ 観測変数
   ∟測定方程式|変数(結果) ~ 変数(説明)
   ∟残差相関|変数 ~~ 変数
   → パス図で図形や矢印を書いておくと、書き起こしやすい

# 仮説モデルを、変数descに代入する
desc = '''
    # measurement model
    ind60 =~ x1 + x2 + x3
    dem60 =~ y1 + y2 + y3 + y4
    dem65 =~ y5 + y6 + y7 + y8
    # regressions
    dem60 ~ ind60
    dem65 ~ ind60 + dem60
    # residual correlations
    y1 ~~ y5
    y2 ~~ y4 + y6
    y3 ~~ y7
    y4 ~~ y8
    y6 ~~ y8
    '''

3. プログラムを書く

説明しようと思いましたが、この方の記事が何より分かりやすいです。
これに従えばそのままクイックスタートできます。

自分で作成したデータにするときは、
CSVかなにかアップしてデータを読み込めばそのまま実行できます。

これで1回目の実行が出来る。
あとは、calc_statsで適合度を見たりP-vlaueを見て、
パス図を引き直して仮説モデルを引き直す。

そのPDCAを回しながら構造方程式モデルを作成していく。

適合度指標やPDCAを回す過程はドキュメントが少ないので、
もう少し進めたらまたNoteにします。

4. 参考資料

・概念理解

・パス図の理解

・基礎~チュートリアル実装

・コードの情報が厚め。パラメータの説明が分かりやすい。
→実際にコード書くときはこれ見ると良い!


この記事が気に入ったらサポートをしてみませんか?