с участием
ользую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. Я что-то здесь упускаю? Примечание: я знаю, что скелет не изменился (график без стрелок).