如何更快地计算贝叶斯网络的概率?

时间:2016-08-23 12:38:06

标签: r bayesian bayesian-networks

我有一个带节点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'是贝叶斯网络,我想从中计算联合概率。谢谢!

0 个答案:

没有答案