Saltar al contenido principal
LibreTexts Español

13.6: Aprender y analizar redes bayesianas con Genie

  • Page ID
    85484
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Introducción

    Genie (Graphical network interface) es una herramienta de software desarrollada en la Universidad de Pittsburgh para Microsoft Windows y disponible de forma gratuita en Genie. Es útil para el análisis de decisiones y para representar gráficamente la unión de probabilidad y ocurrencias en red. Particularmente, Genie puede ser utilizado para el análisis de redes bayesianas, o gráficas acílicas dirigidas (es decir, las ocurrencias en una red de sucesos son condicionalmente independientes entre sí). Las redes bayesianas o Redes Bayesianas Dinámicas (DBN) son relevantes para los controles de ingeniería, ya que modelar un proceso usando un DBN permite la inclusión de datos ruidosos y medidas de incertidumbre; pueden usarse efectivamente para predecir las probabilidades de resultados relacionados en un sistema. En las redes bayesianas, la adición de más nodos e inferencias aumenta en gran medida la complejidad de los cálculos involucrados y Genie permite el análisis de estos complicados sistemas. Adicionalmente, la interfaz gráfica facilita la comprensión visual de la red (Charniak, 1991).

    Este enlace da un ejemplo de una compleja red bayesiana representada en la interfaz gráfica de Genie. Como se puede ver, Genie organiza la red de nodos e inferencias en una topología que se visualiza fácilmente y es útil tanto para sistemas simples como extremadamente complejos.

    Uso de Genie para Construir y Analizar Redes Bayesianas Dinámicas

    Esta sección incluirá instrucciones para descargar e instalar el software Genie así como describir el procedimiento para usar Genie para analizar redes bayesianas simples.

    Descarga e Instalación de Genie

    La descarga del software Genie está disponible en el sitio web Genie, representado a continuación:

    eniePage.JPG

    Para descargar Genie, haga clic en el enlace “Descargas” en el menú de la izquierda de la página y resaltado en rojo en la figura anterior.

    Aparecerá una página de registro que requiere algunos datos básicos del usuario. Después de que esto haya sido ingresado, haga clic en el enlace Registrarse.

    Aparecerá una página de Descargas con varias opciones de descarga. Da click en el enlace GENiE 2.0 resaltado en rojo en la siguiente figura. Esto iniciará la descarga.

    NOTA: La descarga de Genie Software solo está disponible para Windows.

    ownloadpage.JPG

    Instale el software siguiendo los pasos indicados en el programa de instalación de Genie.

    La instalación del software Genie ya está completa. Tenga en cuenta que la sección de ayuda del software presenta muchos tutoriales que describen cómo usar una amplia gama de funciones. Sin embargo, este artículo se centrará en el análisis de Redes Bayesianas Dinámicas.

    • Todos los materiales informativos utilizados para crear este tutorial provienen de GeniE

    Uso de GeniE para Analizar Redes Bayesianas Dinámicas

    Si el programa se instaló en la ubicación predeterminada dada en el asistente de instalación, se puede encontrar un acceso directo a GeniE en el menú de inicio que aparece en Todos los programas. Haga clic en el icono GeniE 2.0 como se ve a continuación:enieicon.JPG

    La interfaz principal aparecerá como se muestra en la siguiente figura:

    oolbars.JPG

    Tenga en cuenta las barras de herramientas importantes resaltadas en la figura anterior: la barra de menú (amarilla), la barra de herramientas estándar (roja) y la barra de herramientas de formato (azul).

    Considera esta sencilla ilustración de cómo construir una Red Bayesiana Dinámica usando Genie:

    Polly popular es la chica más popular en el campus de UM que solo sale con otros estudiantes de UM. Es de conocimiento común que Polly sólo acepta el 30% de las invitaciones que recibe para ir a una cita. De las invitaciones que acepta, el 40% de ellas provienen de chicos con GPA altos, el 40% de ellos provienen de chicos con GPA medios y el 20% de ellos provienen de chicos con GPA bajos. De las invitaciones que rechaza, 10% de ellas provienen de chicos con GPA altos, 30% de ellos provienen de chicos con GPA medios, y 60% de ellos provienen de chicos con GPA bajos.

    NOTA: En este ejemplo, la variable de GPA se discretiza en categorías de alto, medio y bajo. Esto es necesario para el análisis usando Genie porque de lo contrario existirían estados infinitos para cada nodo en el DBN (Charniak, 1991).

    La creación de una red bayesiana permite determinar las probabilidades de que Polly acepte o rechace ciertas invitaciones de fecha. A continuación se muestra cómo usar Genie para encontrar la probabilidad de que Polly acepte una invitación a una cita de un chico si sabe que el chico que la invita tiene un GPA alto.

    Primero, se crea un nodo para la variable llamada aceptación de invitación. Seleccione el nodo “chance” de la barra de herramientas estándar como se muestra en la siguiente figura resaltada en rojo.

    tandardtoolbar.JPG

    Haga clic con el botón izquierdo sobre una parte clara del área gráfica de la pantalla. Aparecerá un óvalo con “Nodo1” en su interior como se ve en la figura de abajo.

    odepic.JPG

    El modo de edición para el nodo debería aparecer automáticamente; si no, simplemente haga doble clic en el nodo para abrir la pantalla de edición como se muestra en la siguiente figura.

    ode1prop.JPG

    Ingresa un identificador para el nodo (debe ser un nombre de variable válido en un lenguaje de programación) e ingresa un nombre para el nodo (puede ser una cadena de cualquier longitud). Para este ejemplo, el identificador se ingresa como “Aceptación” y el nombre se ingresa como “Aceptación de Invitación”.

    Para definir las probabilidades del nodo, haga clic en la pestaña de definición resaltada en azul como se muestra a continuación. Los nombres de los estados se pueden editar haciendo doble clic en los campos de nombre (resaltados en rojo en la figura de abajo) y las probabilidades se pueden editar haciendo clic en el campo de probabilidad (resaltado en amarillo en la figura de abajo).

    ode1definitions.JPG

    En este ejemplo, “Estado0” se cambia a “Aceptar” y “Estado1” se cambia a “Rechazar”. Las probabilidades por defecto se ingresan como 0.3 para Aceptar y 0.7 para Rechazar.

    Para crear un segundo nodo para la variable GPA, simplemente haga clic nuevamente en el nodo de cambio y coloque un segundo nodo debajo del nodo “Aceptación”. Definir el nombre e identificador de este nodo como se hace con el nodo “Aceptación”. Luego defina las probabilidades para el nodo “GPA” agregando primero otro resultado haciendo clic en el botón “agregar resultado” resaltado en azul en la figura de abajo. Cambie state0, state1 y state2 a HighGPA, MediumGPA y LowGPA respectivamente. Para terminar de definir este nodo, rellene las probabilidades enumeradas en la declaración del problema (que se muestra en la siguiente figura) y presiona ok.

    Después de la creación y definición de ambos nodos, conecta estos dos nodos con un arco de influencia para representar que GPA afecta a cómo Polly acepta o rechaza las invitaciones que recibe. Para ello, haga clic en la herramienta Arco (que se encuentra en la barra de herramientas estándar)rrow.JPG, y haga clic en el nodo “Aceptación” y arrastre la flecha al nuevo nodo “GPA”.

    PAnodeprop.JPG

    La red bayesiana que describe este problema ahora está completamente definida dentro del programa Genie. Para determinar la probabilidad de que Polly acepte una invitación a una cita de un chico si sabe que el chico tiene un GPA alto, primero haga clic con el botón derecho en el nodo GPA, desplácese hacia abajo hasta “Establecer evidencia” y seleccione “HighGPA”. Esto se muestra en la siguiente figura.

    etevidence.JPG
    Figura a continuación.

    esultsarrowbox.JPG

    También se puede acceder a los resultados haciendo doble clic en el nodo Aceptación y seleccionando la pestaña de valor, que se muestra en la siguiente figura.

    esultsnodepropvalue.JPG

    Como se puede ver en la figura anterior, Polly aceptará la invitación de fecha 63.16% de las veces cuando sepa que el chico que la invita tiene un GPA alto. Otras probabilidades relacionadas con este ejemplo se pueden determinar de manera similar.

    La lógica y el procedimiento involucrados en este sencillo problema se pueden aplicar a sistemas complejos con muchos nodos interconectados. Por favor, vea las secciones de ejemplos elaborados para obtener más ejemplos de cómo usar Genie para analizar redes bayesianas.

    • Todos los materiales informativos utilizados para crear este tutorial provienen de GeniE
    Ejemplo\(\PageIndex{1}\)

    Para el reactor que se muestra a continuación, la probabilidad de que la corriente efluente contenga la fracción molar aceptable de producto es 0.5. Para el mismo reactor, si la corriente efluente contiene la fracción molar aceptable, la probabilidad de que la presión del reactor sea alta es 0.7. Si la corriente efluente no contiene la fracción aceptable, la probabilidad de que la presión sea baja es 0.85. Si la presión del reactor es alta, la probabilidad de que la temperatura de la alimentación sea alta es 0.9 y si la presión del reactor es baja, la probabilidad de que la temperatura de la alimentación sea baja es 0.75. Dado que la temperatura de la alimentación es baja, ¿cuál es la probabilidad de que la corriente efluente contenga la fracción molar aceptable del producto?

    STR.jpg

    Solución

    Las variables a incluir en la red bayesiana son la fracción molar aceptable de producto en la corriente efluente, la presión del reactor y la temperatura del reactor. Las variables están conectadas en una red acíclica como se muestra en la imagen de abajo. Después de que se crearon los nodos y se definieron los arcos de incidencia, se calculó la probabilidad actualizando la red y moviendo el puntero sobre la marca de verificación en el nodo. Como se puede observar en la figura, la probabilidad de que la corriente efluente contenga la fracción molar aceptable de producto dado que la temperatura de alimentación es baja es de 67%.

    enie.jpg

    Aquí se encuentra un archivo GeniE que contiene la solución completa del problema. En este archivo, se puede acceder a los valores ingresados en Genie para las probabilidades y etapas haciendo doble clic en los nodos.

    Ejemplo\(\PageIndex{2}\)

    El siguiente ejemplo es complicado y contiene muchas capas de información. Se pretende ilustrar cuántos elementos se pueden armar en una Red Bayesiana y analizarlos utilizando Genie de tal manera que el problema no sea imposiblemente complicado. Supongamos que se realizaron experimentos estadísticos detallados para encontrar todas las probabilidades declaradas.

    Considere un CSTR con una camisa de enfriamiento y una reacción exotérmica con A —> B. La corriente de alimentación es A pura y la corriente de enfriamiento en la camisa tiene un caudal suficientemente alto como para que la temperatura ambiente sea constante.

    Las bombas que transportan la corriente de alimentación del reactor son viejas, y a veces no bombean a su plena capacidad. 98% del tiempo las bombas funcionan normalmente, pero en otras ocasiones el caudal de alimentación es ligeramente inferior a lo normal. El proceso de precalentamiento para la corriente de alimentación es ineficiente y, a veces, no calienta los reactivos a 80°C. Hay un 95% de probabilidad de que la corriente de alimentación esté ligeramente más fría de lo deseado. Finalmente, las bombas para el agua de refrigeración a veces pierden energía, provocando que la temperatura ambiente del reactor suba más de lo habitual. Hay un 1% de probabilidad de que se produzca esta pérdida de energía.

    La concentración de A en el reactor depende del caudal de alimentación. Si este caudal es normal, entonces hay un 98% de probabilidad de que el CA sea normal, y un 1% de probabilidad cada uno de que sea ligeramente superior o inferior a lo normal. Si el caudal es bajo, entonces hay un 40% de probabilidad de que CA sea mayor de lo normal y un 60% de probabilidad de que CA sea normal.

    La temperatura del reactor depende de la temperatura de alimentación y de la temperatura ambiente. Si tanto T0 como Ta son normales, hay un 98% de probabilidad de que T sea normal, y un 1% de probabilidad cada uno de que sea ligeramente superior o inferior a lo normal. Si T0 es normal y Ta es alta, hay un 90% de probabilidad de que T sea normal y un 10% de probabilidad de que sea alta. Si Ta es normal y T0 es bajo, hay un 80% de probabilidad de que T sea normal y un 20% T sea baja. Finalmente, si T0 es bajo y Ta es alto, hay un 90% de probabilidad T es normal, un 8% de probabilidad T es baja y un 2% de probabilidad T es alta.

    La conversión depende de CA y T. Si una de estas variables es alta y la otra baja, existe la misma probabilidad de que X sea baja, normal o alta. Si tanto CA como T son normales, hay un 98% de probabilidad de que X sea normal, y un 1% de probabilidad cada uno de que sea ligeramente superior o inferior a lo normal. Si tanto CA como T son bajos, existe la misma probabilidad de que X sea baja o normal. Si tanto CA como T son altos, existe la misma probabilidad de que X sea normal o alto. Si CA es normal y T es baja, hay un 75% de probabilidad de que X sea normal y un 25% de probabilidad X es baja. Si CA es normal y T es alta, hay un 75% de probabilidad de que X sea normal y un 25% de probabilidad X sea alta. Finalmente, si T es normal y el CA es bajo o alto, hay un 85% de probabilidad de que X sea normal y un 15% de probabilidad de que X sea bajo o alto, respectivamente.

    Crear un modelo en Genie para este sistema que pueda ser utilizado para determinar las probabilidades de que ocurran eventos relacionados.

    Solución

    Aquí se encuentra un archivo GeniE que contiene la Red Bayesiana de este problema.

    Este modelo se puede utilizar para responder preguntas como (1) si un sensor de composición para B en la corriente de salida nos dice que la conversión es ligeramente baja, cuál es la probabilidad de que la temperatura de alimentación sea normal y (2) si un sensor de temperatura en el reactor nos dice que la temperatura del reactor es alta cuál es la probabilidad de que la temperatura ambiente sea normal?

    MiniTuba

    MiniTuba es un programa que permite la creación de Bayesain Networks pensamiento tiempo, con sólo los conjuntos de datos finales. Esto fue creado por Zuoshuang Xiang, Rebecca M. Minter, Xiaoming Bi, Peter Woolf, y Yongqun He, para analizar datos médicos, pero se puede utilizar para crear Redes Bayesianas para cualquier propuesta. En oder para usar este programa vaya a www.minituba.org/ y vaya a la pestaña demo Sandbox. A partir de aquí se puede iniciar un nuevo proyecto o bien modificar merly un proyecto antiguo. Este wiki hablará aunque cómo crear un nuevo proyecto.

    Primero Inicie sesión: para hacer esto haga clic en el enlace Iniciar sesión en la parte inferior de la página e ingrese demo @e .d.u como nombre de usuario y demo como contraseña esto debería abrir esta pantalla:

    andboxloggedin.jpg

    y haz clic en Mis Proyectos y luego en Creat New Project.

    El usuario necesita saber cuántas variables (EX: Temperatura, Velocidad de la bomba, Rendimiento, caudal en ChEMe), conjuntos de datos (EX: Reactores, Tanques etc.) y el número promedio de pasos de tiempo que se analizarán.

    En este ejemplo tendremos un CSTR cuyo rendimiento puede verse afectado por el Volumen del reactor, la velocidad del motor, la temperatura o la concentración. Esto quiere decir que hay 5 variables. Digamos que tenemos 5 reactores ejecutando este experimento con diferentes velocidades de Moter altas o bajas, temperatura y rendimiento y ya sea alto medio o bajo volumen y concentración. En este ejemplo, el rendimiento solo se ve afectado por la velocidad del motor y la temperatura con la siguiente probabilidad

    iniTubaExampleprobs.jpg

    Ingresa los datos solicitados en MiniTuba y luego haz clic en abrir proyecto de la lista. Luego haga clic en “cargar/updata data”

    en este ejemplo se utilizarán los siguientes datos:

    Medios: CSstrexample.xls

    Para insertar los datos, simplemente copie y pegue en el cuadro de datos para abrir, luego haga clic en CARGAR DATOS. Para ejecutar el análisis haga clic en “Iniciar DBN botton”

    Aquí puede definir qué series de datos y variables le gustaría analizar. Ahora MiniTuba da varias opciones diferentes para los datos. Los datos pueden ser analizados y un hijo un padre o ambos. Un hijo significa que los datos no son afectados por los otros datosque, Parent significa que los datos no afectan a los otros datos, y ambos significan que los datos pueden verse afectados y afectar a otras variables. En nuestro ejemplo, la velocidad del motor es lo único que sabemos que no se ve afectado por otras variables, por lo que lo seleccionaremos como padre.

    Política de Discretización le dice a MiniTuba cómo bin el. En nuestro caso, como las cosas son exactamente altas, med o bajas representadas por 0,1,2 es fácil desizar cómo descretizar los datos, pero está bien si los datos no están listos para todos los bin (es decir, en 0s 1s y 2s). Quantile escupe los datos en los tiradores pares (es decir, si seleccionas el cuantil 2, encontrará la media y luego todo lo que está por encima de eso está en un contenedor y todo lo que está por debajo de esa media está en un contenedor diferente). Intervalo bins cosas que están en intervalos de igual tamaño alrededor del otro.

    Seleccione Ajuste natural para ajuste de deslizamiento (esto le permitirá tener algunos puntos de datos que faltan por ejemplo: sin lectura de volumen en 1 conjunto de datos) Permite seleccionar 2 intervalos para velocidad de moter, temperatura y yeild y luego 3 intervalos para volumen y concentración.

    MiniTuba también te da la opción de obligarlo a que se le ocurran algunas relaciones climatológicas MiniTuba piensa que deberían o no. MiniTuba también le permite elegir el método utilizado para resolver esto, seleccionaremos anneling simulado Número de Instancias le permite elegir el número de computadoras utilizadas para resolver el problema, simplemente lo dejaremos en 1 En la versión Demo, el tiempo máximo de cálculo es de 1 min.

    Cuando todo esté hecho, haga clic en Ejecutar análisis bayesiano. Al hacer clic en Verificar progreso aparecerá la siguiente pantalla. Haga clic en Updata de vez en cuando para verificar el tiempo en que se ha calculado la solución.

    rogress screen.jpg

    Esto dará salida a la siguiente pantalla cuando haya terminado

    initubaanalysis.jpg

    Como puede ver, el rendimiento depende solo de la velocidad del motor y de la temperatura, al igual que embalamos el módulo para mostrar. Top Ten redes, muestra las 10 redes más probables. Click Score Distribution of Top Ten Networks muestra la probabilidad relativa de cada red, y la probabilidad de que la red número 1 sea la red correcta fuera de las 10 principales. En nuestro ejemplo la mejor red tiene una probabilidad de 0.77 como se ve a continuación.

    iniTubaScoredistribution.jpg

    Referencias

    • Charniak, Eugene (1991). “Redes Bayesianas sin Lágrimas”, Revista AI, 50-62.
    • Archivo de ayuda GeniE en GeniE & SMILE
    • Murphy, Kevin. (2002). “Redes Bayesianas Dinámicas”.
    • Xiang Z., Minter R., Bi X., Woolf P., y He Y. (2007). “MiniTuba: inferencia médica por integración en red de datos temporales mediante análisis bayesiano”, Bioinformática, v. 23, 2423-2432, 2007.

    Colaboradores y Atribuciones

    • Autores: Kevin Dahlberg, Paul Jantzen, Genevieve Lampinen, Albert Sawalha y David Toronto
    • Administradores: Ross Bredeweg, Jessica Morga, Ryan Sekol, Ryan Wong

    This page titled 13.6: Aprender y analizar redes bayesianas con Genie is shared under a CC BY 3.0 license and was authored, remixed, and/or curated by Peter Woolf et al. via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.