【データ分析】SEM(構造方程式モデリング)をPythonで進めてみた
以前SEMとは?というテーマでnote書きましたが、
そこから進んで実装してみました。
https://note.com/aaaki_t1/n/na97f0f1d810d
1. 因子を書き出してパス図を描く
・まずはブレスト的に要因を網羅します
・この時に観測変数と潜在変数を分けます
・仮説を元にパス図を書きます(miro使って共同作業すると書きやすい)
→現場に近い人と話ながら繋いでいくのが良いです
↓ こんな感じ
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. 参考資料
・概念理解
・パス図の理解
・基礎~チュートリアル実装
・コードの情報が厚め。パラメータの説明が分かりやすい。
→実際にコード書くときはこれ見ると良い!
この記事が気に入ったらサポートをしてみませんか?