因果发现方法:从功能到梯度及专家知识融合
1. 基于功能的因果发现 - LiNGAM方法
1.1 LiNGAM原理
ANM 方法依靠非线性来打破因果和反因果模型之间的对称性,而 LiNGAM 方法则依赖于非高斯性。为了对比,我们生成两组线性数据集,一组含高斯噪声,另一组含非高斯噪声:
import numpy as np
SAMPLE_SIZE = 1000
x_gauss = np.random.normal(0, 1, SAMPLE_SIZE)
y_gauss = x_gauss + 0.3 * np.random.normal(0, 1, SAMPLE_SIZE)
x_ngauss = np.random.uniform(0, 1, SAMPLE_SIZE)
y_ngauss = x_ngauss + 0.3 * np.random.uniform(0, 1, SAMPLE_SIZE)
从数据中可以发现,高斯分布和均匀分布虽然自身对称,但均匀分布在旋转上不对称,其残差会形成旋转模式,这与独立成分分析(ICA)模型密切相关。ICA 常用于从有噪声的重叠观测中恢复源信号,比如鸡尾酒会问题中的声源分离。ICA 的核心假设之一是源信号的非高斯性,这使得我们可以假设噪声记录与源之间存在双射映射。由于 LiNGAM 内部使用了 ICA,所以也继承了这个假设,同时还继承了 ICA 只能处理线性数据的局限性。不过,LiNGAM 不需要忠实性假设。
1.2 LiNGAM 实践
1.2.1 不满足假设的情况
我们使用为 P
超级会员免费看
订阅专栏 解锁全文
1083

被折叠的 条评论
为什么被折叠?



