How to use the catnet package

The R package catnet provides an inference framework for categorical Bayesian networks. Bayesian networks are graphical statistical models that represent causal dependencies between random variables. A Bayesian network has two components: a Directed Acyclic Graph (DAG) with nodes representing random variables and a probability structure specified by conditional distributions, one for each node in the graph. Any Bayesian network satisfies the so called local Markov property that requires each node in the network to be independent of its non-descendants given its parent nodes. This property implies a factorization of the joint distribution of the random variables that greatly facilitates the statistical inference. Two classes of Bayesian networks are among the most used in practice: linear Gaussian networks and categorical ones (also called discrete Bayesian networks). In a linear Gaussian network, the nodes represent continuous variables with Gaussian conditional distributions such that the expected value of each node is a linear combination of its parent nodes. Gaussian networks benefit from strong analytical properties and inference methodology. However, their usage is not justified when the linearity and normality assumptions on the observed variables are violated. In a categorical Bayesian network, each node takes values in a fixed set of categories and the conditional distributions are multinomial with no additional parametric constraints. Categorical Bayesian networks are capable of representing non-linear relationships between random variables and are suitable when the data is genuinely categorical or the marginal distributions follow some multi-modal distributions suitable for discretization. The problem of learning Bayesian networks has relatively long history with abundance of literature devoted to its subject. See for example [Heckeman et al.(1995)], [Cooper & Herskovitz(1992)], [Chickering(1996b)], [Friedman et al.(1999)], [Larranaga et al.(1996)], and some more recent articles, [Tsamardinos et al.(2003)], [Yaramakala & Margaritis(2005)], [Daly & Shen(2007)]. The main goal of the catnet package is to provide tools for inferring categorical Bayesian networks from data based on the maximum likelihood (ML) estimation. The inference employs a scoring-based network learning and does not include any assumptions on the marginal or conditional distributions of the nodes in form of priors. Two main techniques are implemented finding the best network fitting some data for a predefined node order and stochastic search of optimal networks without constraints on the order of the nodes. For a given node order, an efficient exhaustive search via Dynamic Programming (DP) is implemented and the exact MLE solution is given. The approach is similar to the one in [Friedman & Koller(2003)], the latter however employs full Bayesian inference. The stochastic search in the space of node orders is implemented by employing a Simulated Annealing (SA) algorithm. A distinct feature of catnet is its support of both incomplete data, with some of the records having missing values, and the so called perturbed data. In the latter case, some of the nodes are controlled by breaking the causal influence of their parents. Perturbed data originate naturally from gene expression studies where selected genes are knocked up/down. The package equips the user not only with structure learning but also with selection, estimation and prediction functions. For example, in catnet , one can perform asymptotically consistent model selection from incomplete or perturbed data, [Balov(2011)]. The motivating goal is to provide more