MSMとSNMの違い
周辺構造モデル (Marginal Structual Model: MSM)と構造的入れ子モデル (Structual Nested Model: SNM)は、因果推論のための統計モデルであるが、以下のように異なる。
1. 目的
-MSM:時間依存の共変量と治療効果の関連を調整。
-SNM: 選択バイアスや時間依存の共変量を考慮しつつ、因果パラメータを直接モデリング。
MSMは、時間に依存する共変量がある場面で、治療(または介入)と結果との間の「平均的な因果効果」を推定することを目的としている。SNMは、選択バイアスや時間依存の共変量が存在する複雑な状況で、より具体的な因果パラメータ(例えば、個々のレベルでの治療効果)を推定することを目的としている。
2. 推定方法
-MSM: 逆確率重み付け(IPTW)を使用。
-SNM: ギブスサンプリングやG-estimationなどを使用。
3. 柔軟性
-MSM: モデルは一般的にパラメトリック。
-SNM: 非パラメトリックなバリエーションが可能。
4. 計算負荷
-MSM: 一般に計算負荷が低い。
-SNM: 計算負荷が高い場合がある。
5. 適応範囲
-MSM: 一般的に観測データに適用。
-SNM: より複雑な因果関係を探る際に使用。
具体的な使い方
時間に依存する曝露変数(critical effect: いつの時期の介入が最も効果的かなど)を知りたいときは、各時点での曝露変数が、後の時点での曝露変数やアウトカムに影響を与える可能性があるため、構造的入れ子モデル (SNM)がより適切な選択になる可能性が高い。
例えば、貧困(曝露変数)が後の自殺(アウトカム)に与える影響を知りたいとき、「どの時点で貧困であったか」は重要な因子である。子どものときの貧困と、大人になってからの貧困はアウトカムに与える影響が異なるであろうし、どちらがより影響を与えるかは興味深い問題である。このような場合は、MSMではなくSNMの使用がよりリサーチクエッションに適している。
また、個々の時点での効果や、複数の時点での相互作用 (interaction)を計算する場合は、やはりSNMでなくてはいけない(一般的に、MSMは相互作用をモデルに組み込むことが困難である)。
MSMで見ることのできる内容
MSMを使用した場合、以下のようなアスペクトに焦点を当てることができる。
1. 平均的な因果効果: 全体として曝露変数がある時点での指定されたアウトカムに与える平均的な影響を推定する。
2. 時間依存の共変量の調整: 各学年での曝露変数、またはその他の時間に依存する共変量があれば、これらを調整しながら因果効果を推定できる。
3. 逆確率重み付け(IPTW): MSMではIPTWを用いて選択バイアスや混乱を調整し、より妥当な因果効果の推定を行う。
4. より簡単な計算: MSMは一般に計算負荷が低く、大規模なデータセットにも比較的容易に適用できるだろう。
5. 一般的な解釈性: MSMから得られる結果は、平均的な効果に関するものであるため、一般的な解釈が容易である。
SNMを実行できるソフトウェア
構造的入れ子モデル(SNM)は以下のようなソフトウェアで実装可能である。
1. R: ‘lava’、’geepack’、’causaldrf’などのパッケージで実装可能。
2. Stata: カスタム実装が可能。
3. Python: ‘statsmodels’や’scikit-learn’で基本的なG-推定などを用いてカスタム実装可能。
4. SAS: ‘PROC NLMIXED’や’PROC PHREG’を用いて、非線形混合モデルや比例ハザードモデルを拡張してSNMを実装可能。
5. MATLAB: カスタムコードでSNMを実装可能ですが、専用のツールボックスは一般には提供されていない。
コメント