パス解析
や
SEM・共分散構造分析
では、
X1 = a1 * X2 + e1
X3 = a2 * X1 + a3 * X4 + e2
といったモデル式を仮説として置いて、a1、a2、a3の値を計算したり、このモデル式へのデータの当てはまりの良さを検証します。
LiNGAMが画期的なのは、このようなモデル式を分析者が置かなくても、データからモデル式を導けてしまう点にあります。
すごいです。
LiNGAMは誤差eの部分が非正規分布であることと、変数が 線形和 の関係であることが前提条件になっています。
そのため、一様分布になっているなどで、この条件が当てはまるデータであれば、a1、a2、a3といった係数の値が、かなりきれいに求まります。
LiNGAMは、 パス解析 のモデルを人が決めなくても、自動的に導くことができる方法です。
変数の類似度の分析 として使う場合は、辺がつながっているかどうかで、仲間分けができます。
LiNGAMの一般的な解説では、「データだけから因果の向きがわかる」と、当たり前のように語ることが非常に多いようです。
しかし、その根拠は、前提条件が成り立っていることです。
筆者としては、どのようなデータでも、また、どのような因果関係でも、「データだけから因果の向きがわかる」という主張がされるのなら、 それは誤用と思っています。
LiNGAMでは、パス解析のモデルの係数が求まります。
筆者の場合は、モデルの係数よりも、 定量的な仮説の探索 の方法として使いたいので、この係数の絶対値を有向グラフにしています。 また、変数の影響の大きさを知りたいので、各変数は、 標準化 して、単位に依存して係数の大きさが決まらないようにしています。 そのため、単純なパス解析のモデル式ではなく、標準化したデータに対してのパス解析のモデル式が求まります。
Rの実施例は、 RによるLiNGAM のページにあります。
R-EDA1
では、簡単にLiNGAMを試せます。
「統計的因果探索」 清水昌平 著 講談社 2017
LiNGAMの専門書です。
「つくりながら学ぶ! Pythonによる因果分析 因果推論・因果探索の実践入門」 小川雄太郎 著 マイナビ出版 2020
「因果探索」として、
LiNGAM(
独立成分分析
と数学的な関係が深い)、
ベイジアンネットワーク
、
ディープラーニング
の3つを紹介しています。
また、Pythonを使った実施例も紹介があります。
順路 次は LiNGAMが有効な分布