DirectLiNGAMを用いた因果探索

③ DirectLiNGAM を用いた因果探索 アルゴリズムを用いて因果探索を行い、生成データの因果関係を推定し、得られた結果を DAG ( Directed Acyclic Graph: 有向非巡回グラフ)として可視化しています。以下に、各部分の詳細な解説と因果探索手法に関連する背景を示します。 import numpy as np import pandas as pd import networkx as nx import matplotlib.pyplot as plt from lingam import DirectLiNGAM # データ生成 # Temperature (気温)を共通原因とし、 IceCreamSales (アイスクリーム売上)と SwimmingAccidents (水泳事故件数)に影響を与える構造を持つデータを生成しています。各変数にはランダムノイズが加えられており、実際のデータセットに近い状況を模擬しています。 np.random.seed(42) n_samples = 300 temperature = np.random.uniform(20, 40, n_samples) ice_cream_sales = temperature + np.random.normal(0, 2, n_samples) swimming_accidents = temperature + np.random.normal(0, 1, n_samples) data = pd.DataFrame({ 'Temperature': temperature, 'IceCreamSales': ice_cream_sales, 'SwimmingAccidents': swimming_accidents }) # 因果探索: DirectLiNGAM を使用して DAG を構築 # DirectLiNGAM は、 LiNGAM ( Linear Non-Gaussian Acyc...