我正在使用bnlearn
和pcalg
R 包从数据集中获取因果关系图。有一种声称与变量无关的顺序无关算法作为输入给出。当我改变变量的顺序时,箭头的方向正在改变。下面是我正在使用的代码:
data("gmG")
set.seed(101)
cols = sample(ncol(gmG8$x))
suffStat <- list(C = cor(gmG8$x[,cols]), n = nrow(gmG8$x))
pc.gmG <- pc(suffStat, indepTest = gaussCItest,
labels = colnames(gmG8$x)[cols], alpha = 0.01)
plot(pc.gmG)
上面的代码给了我以下输出:
现在我用不同的数据顺序运行相同的代码。
data("gmG")
set.seed(102)
cols = sample(ncol(gmG8$x))
suffStat <- list(C = cor(gmG8$x[,cols]), n = nrow(gmG8$x))
pc.gmG <- pc(suffStat, indepTest = gaussCItest,
labels = colnames(gmG8$x)[cols], alpha = 0.01)
plot(pc.gmG)
正如人们所看到的那样,箭头已经改变了 v6 和 v7 的方向。我在这里错过了什么吗?注意:我知道骨架没有改变(没有箭头的图表)。