La PizarraMatemática.

Grado en Matemáticas

Redes bayesianas: grafos y tablas de probabilidad

Una red bayesiana organiza variables con flechas y guarda probabilidades en tablas. Aprenderemos primero a leer el dibujo sin inventar números: quién apunta a quién, qué recorridos existen y en qué orden se pueden generar estados. Después comprobaremos las tablas antes de multiplicar.

1. Los nodos son variables; las flechas todavía no son probabilidades

Un grafo Γ=(V,E) reúne nodos y flechas.

Para V={A,B,C,D} y E={(A,B),(B,C),(B,D)}, la pareja ordenada (B,D) significa B→D: origen primero, destino después.

En una red bayesiana cada nodo representa una variable aleatoria. Sus estados y probabilidades se especifican aparte. Una flecha indica una estructura condicional del modelo; la causalidad requiere hipótesis adicionales y no queda probada por dibujarla.

Traducir una pareja

Leer (S,A) y compararla con (A,S).

  1. Primera

    (S,A) dibuja S→A.
  2. Segunda

    (A,S) dibuja A→S; es otra dirección.
  3. Números

    Ninguna pareja dice P(A)=0,7 ni el valor de una condicional.

Resultado

El orden de la pareja tiene significado.

Lo comprobamos

Una lista de aristas y una tabla numérica son datos distintos.

Variable, estado y probabilidad

A indica si una alarma suena, con estados Sí y No.

  1. Variable

    A nombra la pregunta aleatoria.

  2. Suceso

    A=Sí especifica uno de sus estados.
  3. Número

    P(A=Sí)=0,15 asigna una probabilidad a ese suceso.
Resultado

A, A=Sí y 0,15 no son objetos intercambiables.

Lo comprobamos

El otro estado tendría probabilidad 0,85 porque A se ha declarado binaria.

2. Un padre llega por una sola flecha

X es padre de Y si existe X→Y.

Entonces Y es hijo de X. PA(Y) reúne todos los orígenes de las flechas que terminan en Y, no todos los nodos que estén dibujados arriba.

Una flecha indica una relación directa; un camino puede atravesar varios nodos
Padre: una flecha. Antepasado: un camino.ABCDPA(D)={B}Desc(A)={B,C,D}
El grafo tiene A arriba, B en medio y C y D abajo. Las flechas van de A a B, y de B a cada hoja. A es padre de B y antepasado de C y D; B es el único padre directo de ambas hojas. Desde C no podemos subir contra la dirección de la flecha y bajar a D para llamarlo descendiente. C y D no tienen hijos. El dibujo representa cuatro variables, sin asignar estados ni probabilidades todavía. Las alturas ayudan a leer el orden topológico, pero son las puntas de flecha, no la posición en la página, las que definen la relación.
En A→B y B→C,D, PA(B)={A}, PA(C)={B}, PA(D)={B} y PA(A)=∅.

Un nodo puede tener varios padres; ∅ es un conjunto sin elementos, no una probabilidad cero.

Dos flechas entrantes

En U→T←V, encontrar PA(T).

  1. Buscar puntas

    Ambas flechas terminan en T.

  2. Orígenes

    Salen de U y V.

  3. Conjunto

    PA(T)={U,V}; T es hijo de ambos.
Resultado

Tiene dos padres directos.

Lo comprobamos

No hay flecha entre U y V solo por compartir un hijo.

Una relación larga no es directa

En A→B→C, ¿A es padre de C?

  1. Flecha a C

    La flecha presente es B→C.
  2. Ausencia

    No aparece A→C.
  3. Respuesta

    El padre directo es B; A llegará por un camino de dos flechas.

Resultado

Padres de C: {B}.

Lo comprobamos

El dibujo completo puede contener además A→C, pero habría que indicarlo.

3. Para buscar descendientes seguimos las puntas sin dar marcha atrás

Un descendiente se alcanza por un camino dirigido de longitud positiva.

En A→B→C, C es descendiente de A y A antepasado de C.

No incluimos un nodo entre sus propios descendientes.

En nuestro grafo, Desc(A)={B,C,D} y Desc(B)={C,D}.

Desde C no se puede subir a B contra su flecha y bajar a D: ser hermanos en el dibujo no los convierte en descendientes entre sí.

Seguir todos los caminos permitidos

En U→V→W→T, buscar Desc(V).

  1. Primer paso

    V alcanza W.

  2. Segundo

    Desde W alcanza T.

  3. Excluir

    U queda detrás de una flecha inversa y V mismo no se cuenta.

Resultado

Desc(V)={W,T}.

Lo comprobamos

Una distancia de dos flechas sigue contando como descendencia.

Separar camino dirigido de conexión visual

En U→V←W, ¿W es descendiente de U?

  1. Desde U

    Podemos llegar a V.

  2. Siguiente

    La arista de W apunta hacia V; no permite salir de V hacia W.

  3. Decidir

    No hay camino dirigido de U a W.

Resultado

Compartir un hijo no crea un recorrido dirigido entre los padres.

Lo comprobamos

Conexión ignorando flechas y descendencia son relaciones distintas.

4. Raíz y hoja describen extremos; acíclico prohíbe volver al inicio

Una raíz no tiene padres; una hoja no tiene hijos.

En A→B y B→C,D, A es raíz y C,D son hojas.

Un nodo aislado es ambas cosas; puede haber varias raíces.

DAG significa grafo dirigido acíclico. El ciclo prohibido debe seguir las flechas. Un rombo U→V,U→W,V→T,W→T tiene un circuito si borramos direcciones, pero no un ciclo dirigido.

Agregar una flecha peligrosa

Añadir C→A al grafo A→B→C.

  1. Recorrer

    A→B→C usa flechas existentes.
  2. Cerrar

    C→A devuelve a A siguiendo direcciones.
  3. Conclusión

    Hay un ciclo dirigido y deja de ser DAG.

Resultado

El recorrido vuelve al mismo nodo sin invertir flechas.

Lo comprobamos

No se arregla cambiando las posiciones de los círculos.

Un rombo permitido

Usar U→V,U→W,V→T,W→T.

  1. Raíz

    U no recibe flechas.

  2. Hoja

    T no tiene salidas.

  3. Ciclos

    Todos los caminos van de U hacia T y ninguno vuelve a U.

Resultado

Es DAG aunque la figura tenga un contorno cerrado.

Lo comprobamos

V y W son intermedios, no hojas.

5. Un orden topológico coloca cada padre antes de sus hijos

Para generar estados desde las tablas necesitamos conocer antes los estados de los padres. A,B,C,D y A,B,D,C son órdenes válidos para nuestro grafo: C y D pueden intercambiarse.

Todo DAG finito tiene una raíz. Si cada nodo tuviera un padre, seguir padres acabaría repitiendo un nodo y formaría un ciclo. Retirar una raíz y repetir construye un orden topológico; no exige que ese orden sea único.

Comprobar un orden propuesto

En el rombo anterior, probar U,W,V,T.

  1. Padres intermedios

    U aparece antes de W y V.

  2. Último

    T aparece después de ambos padres.

  3. Decidir

    Cada flecha va de una posición anterior a una posterior.

Resultado

El orden es válido.

Lo comprobamos

U,V,W,T también lo es: no hay relación de precedencia entre V y W.

Detectar un fallo

Probar A,C,B,D en A→B,B→C,B→D.

  1. Primera flecha

    A aparece antes que B: esa cumple.

  2. Segunda

    C aparece antes que su padre B: falla.

  3. Corregir

    Mover B antes de C y D permite leer sus tablas.

Resultado

Basta una flecha invertida en el orden para invalidarlo.

Lo comprobamos

No basta con que la raíz esté al principio.

6. La tabla del hijo cambia de fila cuando cambia el padre

Una raíz tiene una distribución sin padres. Para un hijo, cada configuración de sus padres necesita su propia distribución. En un modelo inventado A→S, ambos binarios, podemos declarar P(A=Sí)=0,4 y P(A=No)=0,6.

La fila se elige con el estado del padre y después se lee el estado del hijo
Cada condición abre una distribuciónA → S; ambos: Sí / NoAS: SíS: NoSí0,750,25No0,100,900,75+0,25=10,10+0,90=1Toda la CPT suma 2: dos condiciones.
A y S son dos variables binarias y la flecha va de A a S. La tabla muestra una distribución de S cuando A vale Sí y otra cuando A vale No. En la primera fila, las probabilidades de S Sí y S No son tres cuartos y un cuarto; en la segunda, un décimo y nueve décimos. Cada fila suma uno porque sus dos resultados son exhaustivos y mutuamente excluyentes bajo la misma condición. Sumar las dos filas da dos y no es un error: esa tabla no es la conjunta de A y S. Para construirla faltaría especificar la distribución de la raíz A.
Para S fijamos P(S=Sí|A=Sí)=0,75 y P(S=Sí|A=No)=0,10; sus complementos son 0,25 y 0,90.

La barra se lee «dado»: primero seleccionamos el estado parental y después el resultado de S.

Leer la fila correcta

Buscar P(S=No|A=Sí).

  1. Condición

    El padre vale Sí, así seleccionamos su fila.

  2. Columna

    La consulta pide S=No.
  3. Entrada

    La celda correspondiente es 0,25.

Resultado

La respuesta se lee después de fijar ambos estados.

Lo comprobamos

El 0,90 pertenece a la otra condición parental.

Una raíz sin condición

Leer la distribución de A.

  1. Estado Sí

    Su probabilidad declarada es 0,4.

  2. Estado No

    Como es binaria, vale 1−0,4=0,6.
  3. Distinguir

    Estos números no se obtienen sumando las filas de S.

Resultado

La raíz aporta sus propios datos.

Lo comprobamos

El grafo sin tablas no permitía deducir 0,4.

7. Validamos una distribución por cada configuración de padres

Una CPT válida tiene entradas en [0,1] y suma uno sobre los estados del hijo al fijar los padres.

En la tabla anterior, 0,75+0,25=1 y 0,10+0,90=1.

La suma completa da dos porque son dos condiciones distintas.

Si un hijo tiene r estados y padres de d₁,…,dₖ estados, necesita d₁⋯dₖ filas con r entradas cada una. Una raíz tiene una sola configuración parental vacía. No rellenamos automáticamente filas ausentes con valores inventados.

Contar las filas antes de rellenarlas

Un hijo binario con padres de dos y tres estados.

  1. Combinar

    Dos opciones del primer padre por tres del segundo: seis condiciones.

  2. Entradas

    Cada condición contiene dos estados del hijo: doce celdas.

  3. Validar

    Cada una de las seis filas debe sumar uno.

Resultado

Seis filas no significa seis estados del hijo.

Lo comprobamos

El número de parámetros libres sería seis, porque cada fila binaria tiene un complemento.

Una fila que no sirve

Se proponen probabilidades 0,7, 0,4 y −0,1.

  1. Suma

    Suman uno, pero eso no es suficiente.

  2. Rango

    −0,1 es negativa y no puede ser probabilidad.

  3. Conclusión

    La fila es inválida y debe corregirse a partir del modelo.

Resultado

La suma y el rango se comprueban por separado.

Lo comprobamos

Tampoco serviría una fila positiva 0,6 y 0,6, porque sumaría 1,2.

8. Una configuración completa toma un factor de cada nodo

En A→S, el producto para A=Sí,S=Sí es 0,4·0,75=0,30.
Para A=No,S=Sí usamos la otra fila: 0,6·0,10=0,06.

Los productos describen estados completos diferentes.

La siguiente lección justificará que ese producto define una conjunta normalizada para un DAG con tablas válidas. Antes de calcular, distinguimos variable, estado y probabilidad, y comprobamos que cada factor usa los padres de esa misma configuración.

Un estado completo

Calcular A=Sí,S=No en el modelo inventado.

  1. Raíz

    P(A=Sí)=0,4.
  2. Hijo

    P(S=No|A=Sí)=0,25.
  3. Producto

    0,4·0,25=0,10.
Resultado

La conjunta de ese estado vale 0,10.

Lo comprobamos

Sumada con 0,30 recupera la marginal P(A=Sí)=0,4.

No sumar factores de un mismo caso

Calcular A=No,S=No.

  1. Entradas

    Leemos 0,6 de la raíz y 0,90 de la fila correspondiente.

  2. Operación

    Multiplicamos: 0,6·0,90=0,54.
  3. Control

    Las cuatro conjuntas 0,30,0,10,0,06,0,54 suman uno.

Resultado

0,54 es una conjunta; 0,6+0,9 no lo sería.

Lo comprobamos

La suma se usa para reunir estados distintos, no factores del mismo estado.

Ahora lo resolvemos de principio a fin.

EJEMPLO RESUELTO 1

Leer una familia sin invertir flechas

En A → B, B → C y B → D, identifica los padres de D, los descendientes de A, las hojas y un orden topológico.

  1. Fijar las flechas

    A→B, B→C y B→D.
  2. Padres de D

    Solo B apunta directamente a D: PA(D)={B}.
  3. Primer descendiente de A

    Seguimos A→B y alcanzamos B.
  4. Continuar

    Desde B alcanzamos C y D: Desc(A)={B,C,D}.
  5. Hojas

    C y D no tienen hijos.

  6. Orden

    A,B,C,D pone todos los padres antes de los hijos; A es antepasado de D, no padre directo.

Resultado

PA(D) = {B}; Desc(A) = {B, C, D}; hojas C y D; un orden es A, B, C, D.

Lo comprobamos

A es antepasado de D, pero no su padre directo: distinguir esas dos relaciones evita el error principal.

EJEMPLO RESUELTO 2

Completar y revisar una tabla binaria

Un nodo binario M tiene padre L. Para L = Sí se da P(M = Sí | L = Sí) = 0,80; para L = No se da P(M = Sí | L = No) = 0,20. Completa los estados No y comprueba las filas.

  1. Fijar la condición Sí

    P(M=Sí|L=Sí)=0,80.
  2. Completar

    P(M=No|L=Sí)=1−0,80=0,20.
  3. Fijar la condición No

    P(M=Sí|L=No)=0,20.
  4. Completar

    P(M=No|L=No)=1−0,20=0,80.
  5. Validar por filas

    Ambas suman uno y tienen entradas entre cero y uno.

  6. Interpretar el total

    La CPT entera suma dos porque reúne dos distribuciones condicionadas.

Resultado

Las entradas faltantes son 0,20 y 0,80; ambas filas son válidas.

Lo comprobamos

La suma de toda la CPT es 2 porque contiene dos distribuciones, una para cada valor de L.

Los símbolos que hemos usado

Γ = (V, E)
Un grafo queda definido por su conjunto de nodos V y su conjunto de flechas E.
(A, B)
Pareja ordenada que representa A → B: primero origen, después destino.
PA(X)
Padres de X: nodos que apuntan directamente a X.
Desc(X)
Descendientes de X: nodos alcanzables mediante un camino dirigido de longitud positiva.
DAG
Grafo dirigido acíclico: no podemos volver al inicio siguiendo un ciclo de flechas.
CPT
Tabla de probabilidad condicional de un nodo para cada configuración de sus padres.

Ahora te toca a ti.

Tienes cinco ejercicios. Inténtalos; las pistas te ayudan si te atascas.

Practicar este tema →

Para ampliar