我正在使用包‘pcalg’2.0-10中的pc-stable来学习它的结构。据我所知,这个算法不会影响输入数据的顺序,因为它是order_independent。当我用不同的顺序运行它时,我得到了不同的图形。任何人可以帮助我解决这个问题,这是我的代码。
library(pracma)
randindexMatriax <- matrix(0,10,ncol(TrainData))
numberUnique_val_col = vector()
pdf("Graph for Test PC Stable with random order.pdf")par(mfrow=c(2,1)) for (i in 1:10) {
randindex<-randperm(1:ncol(TrainData))
randindexMatriax[i,]<-randindex
TrainDataRandOrder<-data[,randindex]
V <- colnames( TrainDataRandOrder)
UD <-data.frame(TrainDataRandOrder)numberUnique_val_col= sapply(UD,函数(X)长度(唯一(X)
列表(dm= TrainDataRandOrder,nlev = c(numberUnique_val_col1,numberUnique_val_col2,numberUnique_val_col3,numberUnique_val_col4,numberUnique_val_col5,numberUnique_val_col6,numberUnique_val_col7、numberUnique_val_col8、numberUnique_val_col9、numberUnique_val_col10、numberUnique_val_col11、numberUnique_val_col12、numberUnique_val_col13、numberUnique_val_col14、numberUnique_val_col15、numberUnique_val_col16、numberUnique_val_col17、numberUnique_val_col18,numberUnique_val_col19,numberUnique_val_col20),adaptDF = FALSE)
pc.fit <- pc(suffStat,indepTest= disCItest,alpha=0.01,labels=V,fixedGaps = NULL,fixedEdges = NULL,NAdelete = TRUE,m.max = Inf,skel.method =“稳定”,TRUE= TRUE,solve.confl = TRUE,verbose = TRUE)
发布于 2015-09-17 01:16:56
PC-Stable的“稳定”部分只影响算法的骨架阶段。取向阶段仍然依赖于顺序。这两个图是否有相同的“骨架”?也就是说,如果您将所有有向边转换为无向边,那么这两个图是否相同?
如果没有,您可能已经在pcalg中发现了一个bug!请发布一个样本数据集和两个列的排序,这些列生成具有不同骨架的图形。
https://stackoverflow.com/questions/30715227
复制相似问题