InformeTecnico. Redes Bayesianas

download InformeTecnico. Redes Bayesianas

of 23

Transcript of InformeTecnico. Redes Bayesianas

INFORME TECNICOCIFASIS- Centro Internacional Franco Argentino de Ciencias de la Informacin y de Sistemas. CCT Rosario CONICET 27 de Febrero 210bis S2000EZP Rosario

REDES BAYESIANASLeonardo Ornella, Pilar Bulacio, Elizabeth Tapia. Actualizado Julio 2011

MOTIVACINMuchos de los datos del mundo real (real-world data) son heterogneos y ricamente interconectados. Ejemplos de esto son Internet, un hipertexto, informacin de un ecosistema y redes sociales. En particular, la interpretacin de un sistema agroecolgico como un conjunto de sistemas y/o variables que actan en forma acoplada (y generalmente no lineal) resulta de particular interespara el desarrollo sostenible. Al mismo tiempo, la mayora de los mtodos de aprendizaje estadsticos utilizan representaciones lineales (flat) de los datos; forzando al analista a convertir los mismos en formas que pierden mucha de la estructura subyacente. Como alternativa se plantea lo que se conoce como redes bayesianas: un modelo probabilstico multivariado que permite explicitar las relaciones causales entre las distintas variables mediante grafos. El objetivo del presente trabajo es realizar una breve introduccin a las redes bayesianas. Las mismas pueden resultar una herramienta de suma utilidad para investigadores del rea agropecuaria no familiarizados con el rea de aprendizaje supervisado. En la primera parte se presenta la definicin de las mismas junto con alguna de sus propiedades ms relevantes. Tambin se exponen dos ejemplos que intentan exhibir las ventajas (y dificultades) de las redes para analizar relaciones causales. En la segunda parte se realiza una breve sinopsis de algunos programas o entornos de minera de datos que poseen implementaciones de redes bayesianas.

DEFINICINUna red bayesiana o BN (Bayes Network) es un grafo dirigido acclico que codifica una distribucin de probabilidad conjunta de un grupo de variables aleatorias (Friedman et al., 1997; Russell and Norvig, 2002). Si en la estructura de grafo se encuentra un arco dirigido (o arco) desde el nodo A al nodo B, se dice que A es padre de B o que B es hijo de A 1. Cada1Los arcos indican restricciones sobre la certeza de los nodos que unen: p (A / B) cuantifica la certeza de B A.

arco indica una relacin causal y cada variable xi es independiente de su no-descendientes dado sus padres (Condicin de Markov). Adems de la topologa del grafo, la informacin relevante de los datos, para cada nodo, se encuentra indicada en tablas de probabilidad condicional o CPTs (conditional probability tables), que relacionan cada variable con sus padres. Por ejemplo, de la tabla 1 se deduce que la probabilidad de que E sea cierta, dado que B y D son verdaderas: P(E=V/B=V D = V) = 0.10. Es importante resaltar que el grafo es dirigido y acclico, i.e., que no se encuentra dentro de la red ningn ciclo dirigido2. Esta estructura define una regla nica para expandir la distribucin conjunta en trminos de probabilidades condicionales ms simples (regla de la cadena).

Por ejemplo, una distribucin conjunta como la presentada en la figura 1 puede ser expresada como: )))) Se puede ver que la distribucin conjunta como el producto de las probabilidades condicionales y siguiendo la semntica de la red (Figura 1); en el caso de los nodos A y D, que no tienen padres, solo se indican las probabilidades de ocurrencia. Finalmente, en la tabla 1 se muestra un ejemplo de tabla de probabilidad condicional, la variable analizada corresponde al nodo E y los padres a los nodos B y D.

FIGURA 1. RED BAYESIANA PARA UN CONJUNTO DE 5 VARIABLES.2 Una regla prctica para interpretar un grafo acclico dirigido consiste en que si se parte de un nodo cualquiera del grafo y se sigue el sentido de los arcos no se puede regresar por ningn camino al nodo original.

B F V F V

D F F V V

P(E+) 0.50 0.90 0.95 0.10

P(E-) 0.50 0.10 0.05 0.90

TABLA 1- TABLA DE PROBABILIDAD CONDICIONAL QUE RELACIONA LA VARIABLE E DE LA FIGURA 1 CON LOS NODOS PADRES*Para facilitar la presentacin, se analiza un ejemplo donde las variables (E, B y D) son dicotmicas.

CONDICIN DE MARKOVUna propiedad muy importante de las redes bayesianas es lo que se define como condicin o propiedad de Markov (ver figura 2 como ejemplo): Dado sus padres (P 1, P2), un nodo (X) es condicionalmente independiente de sus no-descendientes (non-descendants): ND1, ND2.

FIGURA 2. C ONDICIN DE MARKOV PARA EL NODO X.Es importante resaltar la distincin entre modelos causales y modelos diagnsticos. Russel y Norvig (2002, pag. 498) indican que si uno se acota a establecer una red basada en un modelo causal, se requiere establecer menor nmero de arcos entre los nodos (modelo ms simple y ms fcil para trabajar). Los autores aaden que en el dominio de la medicina, por ejemplo, los expertos prefieren emitir juicios de probabilidad para reglas causales antes que juicios para reglas de diagnstico.

EJEMPLOS DE GRAFOS CON ESTRUCTURA DE LA RED CONOCIDAPara profundizar un poco ms en el estudio de redes bayesianas en esta seccin se plantearn dos ejemplos de redes bayesianas con estructura (topologa) del grafo ya conocida, la idea es presentar algunas de las caractersticas ms representativas de las mismas y en particular mostrar algunos problemas con las que tienen que lidiar los algoritmos reportados en la bibliografa.

EJEMPLO 1: PROBLEMA DEL CLIMA.Este problema planteado en este caso involucra el anlisis de 4 variables (Figura 3): Pasto hmedo (WetGrass), lluvia (Rain), Tiempo Nuboso (Cloudly) y riego por Aspersor (Sprinkler). El objetivo principal del planteo es tratar de trasmitir el concepto de red causal. Se puede interpretar del grafo de la derecha que el evento "el pasto est mojado" (W = true) tiene dos posibles causas: o bien los aspersores de agua est en (S = true) o est lloviendo (R = true). La fuerza de esta relacin se muestra en la tabla. Por ejemplo, vemos que Pr (W = true | S = true, R = false) = 0,9 (segunda fila), y por lo tanto, Pr (W = false | S = true, R = false) = 1 - 0.9 = 0.1, ya que cada fila deben sumar a uno. Dado que el nodo Cloudly no tiene padres, su CPT especifica la probabilidad de que este nublado (en este caso, 0,5). Conviene pensar en C como la representacin de la temporada: si se trata de una temporada de nube es ms probable que llueva y es menos probable que el riego est encendido.

FIGURA 3. DOS ALTERNATIVAS DE RED BAYESIANA PARA UN PROBLEMA CON 4 VARIABLES.De la misma manera, la ausencia de un arco de Nuboso a PastoHmedo implica que el valor de la variable Nuboso (Tiempo) no tiene influencia directa sobre el valor de PastoMojado, solo una influencia indirecta a travs de Aspersor y Lluvia. Mas formalmente, PastoMojado, es condicionalmente independiente de (Tiempo) Nuboso, dado Aspersor y Lluvia. La red de la izquierda fue construida utilizando algoritmos de agrupamiento (clustering) tambin conocidos como join tree algorithms. La idea bsica es reunir varios nodos en un grupo de tal manera que la red resultante es un polirbol, la ventaja es que en tiempo de procesamiento de estos rboles se reduce a O(n). Por ejemplo, en la red de la izquierda, los dos nodos booleanos (Aspersor y Lluvia) son reemplazados por un meganodo que puede asumir cuatro valores posible: TT, T F, FT, and FF. El meganodo tiene solo un padre, de tal manera que solo hay dos casos condicionantes.

EJEMPLO 2: PROBLEMA DE LA ALARMA Y LOS TERREMOTOS.En este segundo caso tambin se tiene por objetivo trasmitir el concepto de red causal y simultneamente plantear algunos problemas concretos asociados al anlisis de los datos.

Una casa tiene una alarma que se activa ante intento de robo (Burglary), pero puede activarse ante temblores (Earthquake) ya que el escenario ocurre en Los ngeles. Dos vecinos, Juan y Mara se han ofrecido a llamar al dueo si escuchan la alarma. Juan a veces confunde el sonido de la alarma con otros sonidos, pero llama de todos modos y Mara a veces no la escucha por otras fuentes de sonido que tiene encendida (TV, Msica).

FIGURA 4.RELACIONES DE INDEPENDENCIA CONDICIONAL EN REDES BAYESIANAS.La topologa de la red de la figura 4 indica que tanto Robo y Terremoto son causas directas para Alarma y tambin que Robo y Terremoto son causas para Juanllama (JohnCalls) y para MariaLlama (MaryCalls), pero esa influencia solo se produce a travs de Alarma: ni Juan ni Mara detectan directamente el robo ni los temblores de tierra. De la misma manera, si bien en esta red no se hace referencia directa a las causas por las cuales Mara podra no or la alarma: las mismas estn implcitas en la tabla de probabilidades: P(Mariallama/Alarma). La ausencia de un arco entre Robo y Terremoto (o viceversa) significa que teniendo informacin sobre Robo no es de utilidad para predecir el valor de Terremoto. De la misma manera, y como en el caso anterior, la estructura de la red permite establecer relaciones de independencia condicional, por ejemplo: P(M / J, A, T, R) = P(M / A).

Es decir, conocido el estado de la alarma, para predecir el estado de Mara (llam) no importa saber si hubo un terremoto, un robo o Juan llam. Si la Red Bayesiana es una representacin de la probabilidad conjunta, sirve para responder consultas del dominio. Muchas de las preguntas pueden ser respondidas aplicando la regla de Bayes y/o unos pocos axiomas de probabilidad (los que estn indicados Apndice), la dificulta principal es el nmero de operaciones requerido para resolver el problema, especialmente si el nmero de variables es grande.

Ejemplo: calcular la probabilidad del evento de que suene la alarma, sin que se haya producido robo ni temblor, habiendo llamado Juan solamente: P(J M A R T ) = P(J/A) P(M/A) P(A/ R T) P(R) P(T) = 0.90A 0.30B 0.001C 0.99D 0.98E 0.000262 A. Directo de tabla 3.4 B. de tabla 3.5. P(M/A) = 1- P(M/A) = 1 0.70 = 0.30 C. Directo de tabla 3.3 D. Directo de tabla 3.1 E. Directo de tabla 3.2 Cul es la probabilidad de que haya habido un robo, dado que Juan llam y Mara llam? . P(B/JM) ??. Eq. 1 Siguiendo la estructura de la red, el numerador de la derecha resulta:= 0.90 0.70 .9402* 0.001 + 0.05 0.01 0.9402* 0.001 = 0.000592326

*Clculo de = =

= 0.9402

= 0.63 P(A)+0.0005

Clculo deP(A/B,E)P(B) P(E) + P(A/B,E) P(B)P(E) + P(A/B,E)P(B) P(E) + P(A/B,E)P(B) P(E)

0.002516442 P( P( 0.99748356 = 0.63 * 0.002516442+0.0005 * = 0.00208410024 0.002084

Finalmente, reemplazando en la ecuacin 1 resulta: 0.2842

La solucin anterior fue encontrada teniendo en cuenta la semntica de la red y computando directamente las probabilidades condicionales a partir de las tablas CPTs, sin representar la distribucin conjunta. En el captulo 14 de Russell and Norvig (2002, pags.504-506) se enuncia una forma general para este tipo de situaciones.

APLICACIONES DE REDES BAYESIANAS EN EL CONTEXTO DE MINERA DE DATOSComo se mencion anteriormente, el campo de aplicacin de BNs es muy grande y variado. Otras reas de aplicacin, aparte de las mencionadas anteriormente, son: bioinformtica, tanto anlisis de microarray como protemica y metabolmica (Werhli et al., 2006); sicologa (Lpez Puga et al.2007), diagnstico clnico (Li et al., 2010) y datos georeferenciados (Walker et al., 2005; Ornella y Tapia, 2008), entre otros. Existen diversos entornos de minera de datos que permiten utilizar redes bayesianas. Entre los ms reconocidos se puede mencionar: WEKA (Waikato Environment for Knowledge Analysis) (disponible en www.cs.waikato.ac.nz/ml/weka/), RapidMiner, anteriormente YALE (Yet Another Learning Environment) (disponible en http://rapidi.com/) y diversos paquetes implementados para el entorno R (http://cran.r-project.org).

WEKA-GENERACIN DE REDES BAYESIANAS A PARTIR DE DATOS REALES.

En muchas de las reas de aplicacin es muy difcil fijar a priori las relaciones entre las distintas variables. En este caso, primero se determina el esqueleto del grafo, para calcular posteriormente las tablas de dependencia. Como ejemplo se presentarn las alternativas que presenta el entorno WEKA para generar una red bayesiana a partir de un conjunto de datos de entrenamiento (Bouckaert, 2008). De hecho tanto RapidMiner como Knime solo poseen una implementacin de Naive Bayes (una versin muy simple de red bayesiana), aunque ambas pueden implementar redes bayesianas utilizando las libraras de WEKA3. Dado un conjunto de datos, lo primero que se realiza en WEKA es la bsqueda del esqueleto que mejor ajuste a los datos. Dicho ajuste se puede cuantificar por distintas mtricas. Entre las ms relevantes se puede mencionar4: Bayes (valor por defecto). Entropa. longitud de descripcin mnima (minimun description lenght o MDL). Las mtricas antes mencionadas (mtricas locales) tienen la ventaja de que el puntaje de toda la red puede ser descompuesto como la suma (o el producto) de los puntajes de cada uno de los nodos. Esto permite utilizar mtodos de bsqueda locales. De la misma manera, la bsqueda del mejor esqueleto involucra una heurstica de bsqueda determinado (la bsqueda exhaustiva de todos los esqueletos posibles es un problema intratable para un nmero relativamente grande de variables) y un estimador de la mtrica seleccionada. El algoritmo de bsqueda por defecto en Weka es K2, una variante de ascenso de colina (Hill cimbling) que aade o elimina arcos del grafo sin establecer un orden determinado en los nodos. Al estimador por defecto el autor de la clase lo denomina Estimador simple (SimpleEstimator), que estima las probabilidades condicionales directamente de los datos. Una alternativa interesante de bsqueda interesante para mencionar es un algoritmo de bsqueda gentico: una BN puede ser representada mediante un arreglo de bits de orden n n (n = nmero de nodos). El bit en la posicin (i, j) indica si existe o no un arco del nodo j al nodo i (j i). La heurstica del algoritmo gentico busca distintas variantes del arreglo3 Verificado en la versin 5.0.001 de RapidMiner y la versin 2.2.0 de Knime. 4 Una desventaja de BN en WEKA Es que solo puede trabajar con variables discretas.

(grafos) mediante operaciones derivadas de la biologa de poblaciones: mutaciones, entrecruzamientos, etc. (Witten and Eibe, 2005). Otros mtodos implementados, tambin reportados en la bibliografa son Tabu Search (bsqueda tab) y Recocido Simulado o SA (Simulated Annealing). Aprendizaje basado en un puntaje global. Muchas de las implementaciones de minera de datos estn orientadas a lo que se conoce como aprendizaje supervisado. En aprendizaje supervisado, y particularmente en clasificacin, el algoritmo debe aprender una funcin que relaciona los atributos con la clase a partir de un cierto nmero de ejemplos de entrenamiento (Russell and Norvig, 2002). Ms formalmente, cada ejemplo se puede definir como un par (x, f(x)), donde x es un vector de (n-1) atributos de entrada y f(x) es lo que se denomina variable de clase. El objetivo del algoritmo de aprendizaje es encontrar una funcin h que mejor aproxime a f (aprendizaje inductivo) a partir de datos de entrenamiento5. En mtodos de seleccin basados en un puntaje global, el algoritmo selecciona el esqueleto no en funcin del ajuste a los datos de entrenamiento, sino en que tan bien una red en particular puede predecir el valor de clase de ejemplos desconocidos. En Weka, dichos ejemplos de prueba son generados (la mayora de las veces) mediante validacin cruzada k-fold o validacin cruzada acumulada (Bouckaert, 2008). En particular, para generar utilizar una red bayesiana como clasificador, el algoritmo de bsqueda selecciona una red B:PB(A1, A2, . . . , An, C), que mejor ajusta a los datos de entrenamiento de acuerdo a algn puntaje (Friedman et al., 1997). Ante un ejemplo de prueba, la red B devuelve el valor de la clase C que maximiza la probabilidad posterior PB(c/a1, . . . , an).

EJEMPLO: IRIS DATASET.Como ejemplo de esta seccin se analizara en WEKA el conjunto de datos denominado iris dataset. Esos datos fueron recopilados por Fisher a principios de siglo y han sido ampliamente utilizados como ejemplo en la literatura estadstica y de reconocimiento de patrones. El conjunto consta de 150 instancias, 4 atributos (numricos) y la clase (nominal). Se encuentra en formato arff (Attribute-Relation File Format) como 5 Mientras que los atributos pueden ser tanto variables continuas como discretas, la clase solo puede tomarvalores discretos o nominales Si la variable se clase es continua se lo denomina regresin.

datos

de

ejemplo

en

Weka

o

en

el

sitio

http://www.cs.waikato.ac.nz/~ml/weka/index_datasets.html. La clase indica 3 especies de lirios (Iris Setosa, Iris Versicolor, Iris Virginica) y los atributos indican valores de medidas del ptalo (ancho y largo) y del spalo (ancho y largo).

FIGURA 5. INTERFAZ GRFICA DE WEKA CON LOS DATOS DE LIRIO YA CARGADOS.En una primera etapa se puede analizar los datos presentados directamente desde la interfaz grfica de Weka (Figura 5). Un anlisis ms exhaustivo de los datos (optimizacin de parmetros de los clasificadores, validacin cruzada Montecarlo, etc.) requiere programar los scripts adecuados en java u otro lenguaje adecuado. Desde java (utilizando por ejemplo el entorno Eclipse) se pueden invocar las clases de Weka, utilizando como librera externa el archivo .jar de Weka (Witten y Eibe, 2005). Luego de cargar los datos, se selecciona el clasificador que se quiere evaluar y se editan los parmetros del mismo. Por ejemplo, de la figura 6 se puede observar que se seleccion el clasificador Red Bayesiana con los parmetros por defecto: algoritmo de bsqueda K2 y estimador Simple Estimator. Una explicacin ms exhaustiva de las opciones disponibles en Weka se puede encontrar en Bouckaert (2008).

FIGURA 6. EDICIN DE LOS PARMETROS DE LA RED BAYESIANA IMPLEMENTADA EN WEKA.Normalmente, se evala el clasificador mediante validacin cruzada k-fold, donde k generalmente asume el valor de 10 (Figura 7). Esta es una de las alternativas de evaluacin ms utilizadas en la bibliografa. Durante la misma, los datos son particionados en 10 subconjuntos del mismo tamao. 9 de los 10 conjuntos son utilizados para el entrenar el algoritmo y la funcin obtenida es evaluada con la dcima particin. Esto se realiza 10 veces en total, utilizando como conjunto de prueba cada una de las particiones. Los valores de tasa de error y otros indicadores de la capacidad predictiva del algoritmo (matriz de confusin, coeficiente Kappa, etc.) son presentados en la interfaz al finalizar las 10 evaluaciones (Figura 7). En este caso se puede ver que se obtuvo aproximadamente un 93% de aciertos, un resultado relativamente bueno. De todas maneras, es muy comn realizar una optimizacin de los parmetros del algoritmo. Como se mencion anteriormente en estas situaciones es ms conveniente implementar scripts en java u otro lenguaje que pueda invocar las clases de Weka.

FIGURA 7. RESULTADOS DE LA EVALUACIN CRUZADA 10-FOLD DEL CLASIFICADOR RED BAYESIANA SOBRE LOS DATOS DE LIRIO (IRIS DATASET).Por ltimo, se puede solicitar el grafo de la mejor red bayesiana con mejor puntaje (Figura 8). Se puede observar en la figura que la variable correspondiente a la clase no tiene nodos padres. Esta ordenacin, i.e., colocar la variable de clase como variable independiente (nodo sin padre), es la que utiliza WEKA para utilizar las redes bayesianas como clasificadores.

FIGURA 8. RED BAYESIANA GENERADA A PARTIR DE LOS DATOS IRIS.

PAQUETES IMPLEMENTADOS EN EL ENTORNO R.A diferencia del WEKA y las otras libreras antes mencionada, en el entorno R no existe una interfaz grfica que permita un anlisis rpido de los datos. De la misma manera, y dado que el lenguaje utilizado en el entorno est orientado a objeto, la utilizacin de la mayora de los paquetes disponibles requiere un conocimiento ms profundo de lenguajes de programacin*. Tanto en la ayuda de consola como en el sitio WEB del proyecto (http://www.r-project.org) se encuentra disponible numerosa bibliografa de cmo utilizar el entorno. Tambin para cada paquete especfico se encuentra disponible un manual escrito por el autor (http://cran.r-project.org/mirrors.html).* R es un sistema para anlisis estadsticos y grficos creado por Ross Ihaka y Robert Gentleman. Tiene una naturaleza doble de programa y lenguaje de programacin y es considerado como un dialecto del lenguaje S creado por los Laboratorios AT&T Bell. R se distribuye gratuitamente bajo los trminos de la GNU General Public Licence; Si bien su desarrollo y distribucin son llevados a cabo por varios estadsticos conocidos como el Grupo Nuclear de Desarrollo de R, numerosos grupos del mundo contribuyen con paquetes de funciones especficas. Otro proyecto muy reconocido asociado al entorno R es Bioconductor (http://www.bioconductor.org).

En esta presentacin se har un breve resumen de 3 paquetes de R que permiten obtener Redes Bayesianas mediante distintos mtodos de bsqueda y mediante distintos

estimadores. De todas maneras, el nmeros de paquetes disponibles es mayor; siendo en algunos casos diseados para un dominio de aplicacin especfico.

CATNET PACKAGE.Si bien este paquete del entorno R fue diseado para la reconstruccin de redes de genes y protenas (Balov and Salzman, 2010), los autores plantean que su diseo permitira ser utilizado en otros dominios. La clase bsica de este paquete se llama catNetwork (por categorical network). Esto significa que los nodos del grafo solo pueden ser variables categricas. Entre una de las ventajas ms importante, Catnet permite comparar dos grafos mediante dos grupos de mtricas: las mtricas del primer grupo permiten comparar la topologa de los dos grafos; mientras que las del segundo grupo (probabilsticas) comparan las distribuciones asociadas a las redes. Esto puede ser particularmente til cuando se quieren evaluar redes bayesianas obtenidas mediante diferentes heursticas y/o estimadores. Finalmente, con respecto al aprendizaje de la red a partir de un conjunto de datos, catnet implementa un algoritmo de puntaje global, y realiza una bsqueda exhaustiva de las redes de acuerdo al criterio de estimador de mxima verosimilitud o MLE (Maximum Likelihood Estimator). Si el orden de los nodos no es conocido, la funcin cnSearchSA permite realizar una bsqueda estocstica basada en el algoritmo de recocido simulado o SA (Simulated Annealing), derivado del algoritmo Metrpolis. Para visualizacin y/manipulacin de los grafos, se requiere de otros paquetes de R, tales como Graphviz o igraph. Al igual que la mayora de los paquetes de R, las funciones se encuentran descriptas en detalle en el manual disponible en el repositorio pblico.

BNLEARN: BAYESIAN NETWORK STRUCTURE LEARNING.Bnlearn (Scutari, 2010) permite aprender la estructura de la red a travs de aprendizaje bayesiano basado en restricciones (o basado en tests de 'independencia condicional'), algoritmos por score (puntaje) y algoritmos hbridos. Para el primer grupo, este paquete tiene implementado los algoritmos GS (Grow-Shrink), el algoritmo de Asociacin incremental (IAMB), el algoritmo intercalado-IAMB (Inter-IAMB) y el IAMB rpido. Estos algoritmos utilizan test de independencia condicional para detectar las mantas de Markov (Markov blankets) de los nodos (variables), que a su vez son utilizadas para

computar la estructura de la red. Con respecto a algoritmos basado en un puntaje de la red se encuentran implementados hill climbing y taboo search; y finalmente, algoritmos hbridos tales como Max-Min Hill-Climbing (mmhc) y maximizacin restringida (Restricted Maximization), una implementacin mas general del mmhc que permite utilizar cualquier combinacin de algoritmos de los primeros dos grupos. Este paquete permite analizar tanto datos discretos como redes gaussianas. Dentro de los scores utilizados para evaluar las redes discretas se encuentran 6: logaritmo de la verosimilitud multinomial (equivalente a la medida de entropa usada en Weka), criterio de informacin de Akaike (aic) y puntaje basado en el criterio de informacin bayesiano (bic), que es equivalente a la longitud de descripcin mnima o Minimum Description Length (MDL) y tambin es conocido como criterio de informacin de Schwarz. Dentro de los puntajes utilizados para evaluar redes gaussianas se encuentran: logaritmo de la verosimilitud, criterio de informacin de Akaike y criterio de informacin Bayesiano. Otras funciones de utilidad son: comparacin y manipulacin de modelos (distancia de Hamming estructural), generacin aleatoria de datos y finalmente, validacin cruzada para evaluar la capacidad predictiva de la red para un nodo en particular. Tambin se encuentran disponibles funciones graficas avanzadas, que requieren de la instalacin de los paquetes Rgraphviz y lattice.

DEAL.Deal (Autores: Susanne Bottcher y Claus Dethlefsen) permite aprender y comparar redes bayesianas a partir de datos con variables continuas y/o discretas utilizando el algoritmo reportado por Bottcher (2001). Dentro de las funciones ms relevantes se puede mencionar: autosearch, es una bsqueda codiciosa (Greedy search) donde en cada paso se crea una lista de redes agregando o eliminando arcos (evitando que se genere un ciclo); la red de la lista con mejor puntaje se selecciona para el prximo paso en la bsqueda, si no se encuentra una red con mejor puntaje que la obtenida en el paso anterior, se termina la bsqueda. Y Drawnetwork, que permite especificar la estructura del grafo.

6 Estas mtricas tambin se encuentran en WEKA.

Otra funcin que se puede mencionar es rnetwork, donde dada una red de topologa y distribucin de probabilidad conjunta conocida permite simular un conjunto de datos proveniente de dicha distribucin. Algunas de estas funciones y otras reportadas en el manual se analizarn en el siguiente ejemplo.

EJEMPLO: ANLISIS DE DATOS CON EL PAQUETE DEAL.En este ejemplo se obtiene red bayesiana utilizando el paquete Deal y el conjunto de datos rats. Los datos son un conjunto de datos artificial de 24 ratas (12 hembras y 12 machos)aleatorizados para el uso de una de tres drogas. Las otras dos variables indican la prdida de peso luego de 1 o 2 semanas.

install.packages("deal") ## Instala el paquete desde un repositorio de la WEB o de un archivo local. library("deal") # # Carga el paquete data(rats) fit