算法介绍

基于后非线性 (PNL [1]) 因果模型的因果发现。如果您想将此方法应用于两个以上变量,我们建议您首先应用 PC 算法,然后在当前实现中使用成对分析来找到 PC 无法确定的因果方向。

用法

参数

from causallearn.search.FCMBased.PNL.PNL import PNL
pnl = PNL()
p_value_foward, p_value_backward = pnl.cause_or_effect(data_x, data_y)

data_x: 输入数据 (n, 1),n 为样本量。

data_y: 输出数据 (n, 1),n 为样本量。

返回值

pval_forward: x->y 方向的 p 值。

pval_backward: y->x 方向的 p 值。

Zhang, K., & Hyvärinen, A. (2009, June). On the Identifiability of the Post-Nonlinear Causal Model. In 25th Conference on Uncertainty in Artificial Intelligence (UAI 2009) (pp. 647-655). AUAI Press.