DirectLiNGAMって何?
DirectLiNGAMって何?
DirectLiNGAMは、データから「何が何に影響を与えているか」(因果関係)を調べる方法の一つです。例えば、「お菓子を食べすぎると体重が増える」みたいな関係を、データを使って見つけるイメージです。この手法は、LiNGAMモデルという仕組みをベースにしていて、それを「直接的に学ぶ」やり方です。
さらに、エントロピーというものを使います。エントロピーって難しそうに聞こえますが、ここでは「データのバラバラ具合や予測の難しさ」を測る目安だと思えばOKです。これを使って、データの中に隠れている「ランダムな影響」(誤差)がお互いに独立しているかどうかをチェックします。
LiNGAMモデルって何?その基本ルール
LiNGAMモデルは、因果関係を調べるための土台となる仕組みで、4つの大事なルール(仮定)があります。このルールが成り立つと、因果関係を正しく見つけやすくなります。それぞれを簡単に説明しますね。
1. 直線性
意味 変数同士の関係が「まっすぐな線」で表せるということ。
例 お菓子を食べる量が1袋増えるごとに、体重が0.5キロ増える、みたいなシンプルな関係。曲がりくねったりせず、一直線で影響し合うイメージです。
2. 非ガウス連続誤差変数(最大1つを除く)
意味 データに影響を与える「ランダムな要因」(誤差)が、普通の「正規分布」(きれいなベル型のグラフ)じゃない形をしていること。ただし、1つだけ例外があってもOK。
なぜ大事? 正規分布だと、どっちが原因でどっちが結果かわかりにくい。でも、非ガウス(ちょっと変わった形)だと、因果の方向が特定しやすくなります。
例:体重に影響する誤差が、生活習慣やストレスみたいにランダムだけど偏ったパターンを持つ場合。
3. 非循環性
意味 因果関係に「ぐるぐる回るループ」がないこと。
例 お菓子を食べると体重が増え、体重が増えるとまたお菓子を食べる…みたいな循環はなし。一方向(お菓子→体重)だけです。これで、関係を矢印でスッキリ書けます。
4. 隠れた共通の原因はない
意味 見えない要因が複数のデータに同時に影響していないこと。
例 体重とお菓子のデータを見ているとき、見えない「ストレス」が両方に影響していない、という前提。こうすると、データ同士の直接の関係だけに集中できます。
どんなデータや要素を扱うの?
LiNGAMモデルでは、3つの大事なものが出てきます。それぞれ何かを簡単に説明します。
観測変数
意味 実際に測ったデータのこと。
例 健康診断で測った「LDL(悪玉コレステロール)」「HDL(善玉コレステロール)」「γGT(肝機能の数値)」など。
誤差変数
意味 観測できないランダムな影響のこと。
例 生活習慣や遺伝みたいに、データに影響するけど測れないもの。
係数(接続強度)
意味 変数同士の影響の強さ。
例 LDLが1増えると、HDLがどれくらい変わるかを示す数字。
これらをベクトル(リストみたいなもの)や行列(表みたいなもの)でまとめて扱います。例えば:
観測変数を x(データの一覧)、
誤差変数を e(ランダム要因の一覧)、
係数を B(影響の強さをまとめた表)と呼びます。
モデルの形はどうなるの?
LiNGAMモデルでは、データがどうやってできているかを次のような式で表します:
x = Bx + e
意味 観測データ(x)は、他のデータ(Bx)の影響とランダムな要因(e)でできている。
例 HDLの値は、LDLやγGTの影響と、測れないランダムな要因(誤差)で決まる、みたいな感じ。
非循環性と行列の特徴
「非循環性」があるから、因果関係は一方向だけ。この特徴のおかげで、B(係数の表)は、行と列をうまく並べ替えると下三角行列になります。
下三角行列って? 表の左下半分だけに数字が入っていて、右上はゼロ。
イメージ 矢印が一方向にしか向かないから、表も片側に偏る感じ。
誤差変数の独立性
「隠れた共通の原因がない」というルールがあるので、誤差変数(e)はそれぞれ独立しています。
意味 あるデータの誤差が別のデータの誤差に影響しない。
例 LDLの誤差が「生活習慣」だとしても、それがHDLの誤差に影響しない、ということ。
DirectLiNGAMの特別なところ
DirectLiNGAMは、LiNGAMモデルを直接的に学ぶ方法で、エントロピー(データのバラバラ具合を測るもの)を使って、誤差がちゃんと独立しているかを確認します。これで、より正確に因果関係を見つけられます。
どんなときに使えるの?(アプリケーション例)
例えば、健康指標のデータを使って、こんなことがわかります:
データ LDL(悪玉コレステロール)、HDL(善玉コレステロール)、γGT(肝機能)。
目的 どれがどれに影響しているかを調べる。
結果の例 「LDLが高いとHDLが下がる」みたいな因果関係が見つかるかも。
これを使うと、どの数値が他の数値に影響を与えているかを理解できて、健康管理に役立つかもしれません。
まとめ
DirectLiNGAMは、データから因果関係を見つける手法。
LiNGAMモデルをベースにしていて、直線性、非ガウス誤差、非循環性、隠れた共通原因がない、という4つのルールがある。
- データ(観測変数)は、他のデータの影響とランダムな要因(誤差)でできている。
- エントロピーを使って誤差の独立性をチェックし、因果関係を正確に推定。
- 健康指標みたいな実世界のデータで、どの変数がどれに影響するかを調べられる。
- 難しい数式はありますが、イメージとしては「データ同士の影響を矢印で結んで、その方向と強さを探す」ようなツールである。