Abstract
En la actualidad existen gran cantidad de paquetes software o lenguajes de programación que facilitan la modelización de redes bayesianas. En esencia son herramientas que permiten el aprendizaje de la estructura y parámetros de la red, así como el respectivo proceso de inferencia probabilística que se puede ejecutar sobre las mismas. El entorno de R dispone de una gran variedad de paquetes destinados a estas actividades pero no despliega una guía que oriente a los usuarios sobre cuál de ellos utilizar dadas las particularidades del conjunto de datos objeto de estudio o del contexto general. Este último es el propósito del presente trabajo, el cual pretende generar una guía básica a partir del análisis exhaustivo de los paquetes de R más populares. En total se analizan nueve: catnet, sparsebn, pcalg, deal, bnclassify, bnstruct, bnlearn, gRain y BayesNetBP. Se estudian las funcionalidades, algoritmos y métodos implementados en cada uno de éstos, haciendo especial énfasis en sus limitaciones y factores diferenciadores; también se identifican los escenarios o casos especiales en los que éstos brindan mejores resultados en comparación con los otros paquetes. Lo anterior se realizó a partir del estudio de los manuales de uso y de funciones dispuesto por cada uno de los paquetes objeto de análisis, así como de la bibliografía adicional relacionada con éstos. De igual forma, se realizó un experimento donde se probaron en el entorno de R las funcionalidades disponibles en los paquetes sobre diferentes conjuntos de datos estándar o que comúnmente son utilizados en la literatura sobre redes bayesianas para efectuar comparaciones. Específicamente se implementó el código o funcionalidades propias de cada paquete para la modelización de redes y a partir de ésto se pudo comparar tiempos de ejecución, calidad de los resultados, limitaciones y valor añadido, entre otros.---ABSTRACT---Nowadays, there are a large number of software packages or programming languages that facilitate the Bayesian network modeling process. In essence, these tools allow the structure and parameter learning of the network, as well as to perform the respective probabilistic inference methods that can be executed on them. The R environment has a wide variety of packages for these activities, but it does not provide a guide to lead users to which one to apply, given the particularities of the dataset they have available or the general context. The latter is the purpose of this work, which aims to generate a basic guide from the exhaustive analysis of the most popular packages. In total, nine of them were analyzed: catnet, sparsebn, pcalg, deal, bnclassify, bnstruct, bnlearn, gRain and BayesNetBP. The functionalities, algorithms, and methods implemented in each of them are studied, with special emphasis on their limitations and differentiating factors; the scenarios or special cases in which each provides better results compared to the other packages are also identified. This was done based on the study of the user's and functions manuals available for each of the packages under analysis, as well as the additional bibliography related to the topic. Likewise, an experiment was carried out in the R environment, the idea was to test the functionalities available in each package using different datasets employed in the Bayesian network literature to make comparisons. Specifically, the code or functionalities of each package were implemented for network modeling, and from this, it was possible to compare execution times, quality of the results, limitations, and added value, among others.