# Problems in scale Bayesian network mode using R

The problem that we have is as follows. We have close to 60 discrete random variables each of which shall take on an average of 5 categorical values. We have developed a Bayesian network representation using our domain knowledge. We have the data for these 50 discrete random variables and how they interplay with each other using some logs.

We are not able to compile/infer the conditional probability distribution and marginal probability distribution for this Bayesian network from the data/spreadsheet. The software libraries (gRain, bnlearn in CRAN) give up.

As of now, we are trying to solve the problem by introducing some latent variables and by exploiting some local structure inherent in the problem. We are not successful so far. Any generic suggestions in terms of algorithms, tools to model, infer and solve problems of this scale shall be very useful.

I routinely use bnlearn in R on networks of that size and larger. Most likely your network is too highly connected to be solved by bnlearn: the cliques and conditional probability tables are too large.

I recommend using your domain knowledge to only impose an ordering on your variables and then learn the full structure and parameters from data.

See the bnlearn function node.ordering. (I'm also assuming you have sufficient data.)
You can also limit the learned network complexity if need be.

Alternatively you can check some of the standard references on building large networks and apply some of the standard tricks to reduce clique size and the conditional probability table size. For example, see this pdf at one of the authors websites

Neil, M., N. Fenton and L. Nielson (2000),
"Building large-scale Bayesian networks,"
The Knowledge Engineering Review, Vol. 15:3, 257-284

• Hi Bayesian-believer, thanks for the directions. I will relook my problem and shall definitely read the paper that you pointed out. Do you know any means through which one shall implement noisy OR, multiplexer, sigmoid CPDs in R. I hope this also helps to reduce the dimension of the problem right. – acc Aug 22 '13 at 8:27