我有一个带节点X1到X5的贝叶斯网络和一个状态如下的数据帧:
X1 X2 X3 X4 X5
yes yes no yes no
yes no no yes no
no yes yes yes yes
yes no no no yes
etc.
我想使用gRain中的pEvidence函数计算每行的联合概率(在设置证据之后)。但是,逐行迭代非常慢。有没有办法更快地计算这些概率?
编辑:这就是我所做的:
summation=apply(dataframe,1,function(x)log(pEvidence(setEvidence(empbayesnet,
nodes=c("X1","X2","X3","X4","X5"),
states=c(as.character(x[1]),
as.character(x[2]),
as.character(x[3]),
as.character(x[4]),
as.character(x[5])))))
' empbayesnet'是贝叶斯网络,我想从中计算联合概率。谢谢!