Latest Posts:

Mostrando las entradas con la etiqueta grafos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta grafos. Mostrar todas las entradas

21 de abril de 2014

Correlación, causalidad… y grafos: lo más fundamental (e ignorado) en estadística

Una deficiente comprensión de conceptos estadísticos y la enorme presión a que los investigadores de todas las áreas nos vemos sometidos para publicar podría ser la causa de que la mayoría de los estudios científicos de áreas médicas, biológicas y de ciencias sociales lleguen a conclusiones erróneas con tal de publicar.Hace ya ocho años que el profesor John Ioannidis publicó esta rotunda afirmación [1], para sorpresa de parte de la comunidad científica y alivio de otros que por fin veían señalado al elefante en la habitación. Pero los años pasan y es frustrante ver que seguimos igual, tanto por parte de algunos autores (como el criticado aquí) como por periodistas que se “tragan” acríticamente cualquier cosa que comience por el manido “un estudio científico demuestra que…“.
 
(Créditos: XKCD-es)

Por esto he decidido dedicar (otra) entrada a aclarar concepciones erróneas que pululan sobre la estadística, una de las herramientas más potentes que tenemos y sin embargo con peor fama entre el público general precisamente por su mal uso.

Sé que otros blogs ya han hablado del tema “causalidad vs. correlación”, así que le doy a dar un enfoque nuevo: explicar la verdadera relación que existe entre correlación, causalidad y grafos.

Chocolate y premios Nobel

“Los países con mayor consumo de chocolate tienen más premios Nobel, por lo que se recomienda su consumo para mejorar la inteligencia.”
¿Te parece absurdo? A mí mucho. Pues esta asociación se llegó a publicar en una revista científica [2] y generó una ristra de titulares en todo tipo de medios, p.ej. aquí, aquí o aquí.
Los autores del estudio hipotetizaban que el efecto de los flavonoides del cacao sobre las capacidades cognitivas era tan importante que permitía la aparición de más premios Nobel allí donde más se consume. Rápidamente aparecieron críticas en las revistas científicas [3], donde se señalaba (entre otros puntos débiles del estudio) que muchos otros índices aparte del chocolate tienen una alta correlación con el número de premiados así que… ¿cuál es realmente la causa última?

Por ejemplo, entre los índices que correlaban salió el número de tiendas de IKEA en cada país:

Dos variables se dice que están correladas cuando el aumento (o disminución) de una provoca un cambio claro en la otra, lo que se suele traducir en que los datos representados como gráfica “parecen caer” sobre una línea en lugar de ser una “nube amorfa”. 

No creo que guardar los libros en armarios con nombres de pueblos noruegos te haga más listo. De hecho, puede que para llegar a ser un Nobel tenga más importancia el nivel socioeconómico de un país que la “inteligencia” de sus gentes.

Lo que se quería resaltar con esta anécdota de las tiendas IKEA es que, buscando, seguro se acabarán encontrando relaciones absurdas, así que sólo la correlación no justifica en absoluto la existencia de una relación de causa-efecto. De hecho, y aunque esto sea ya otro tema, la ausencia de correlación tampoco implica que no exista relación causa-efecto, ya que siempre quedará una probabilidad (pequeñísima) de haber obtenido una combinación de datos especialmente adversa.

Un error demasiado común

Antes de pasar a explicar el porqué aparecen estas correlaciones sin relación causal directa, quiero recopilar algunos “un estudio científico demuestra que…” para echar unas risas:
  • Lo del corazón partío les pasa factura a los solteros: “Los felizmente casados sobreviven más que los solteros tras un ‘by-pass’” (ElMundo)
  • Lo mejor para dormir tranquilo es no enterarse de las noticias: “La sobreinformación es la causante del «síndrome de fatiga informativa»” (ABC)
  • No es por no moverse del sofá, no, sino por mirar una pantalla: “Ver la televisión acorta la vida hasta en cinco años” (El Economista)
  • Y este estudio fue ya de traca: “El tamaño del pene está relacionado con el crecimiento del PIB: Un investigador de la Universidad de Helsinki (Finlandia) ha llegado a la conclusión en un reciente estudio que el tamaño promedio del pene en un país, tiene directa relación con el crecimiento del Producto Interno Bruto (PIB) de cada nación.” (Noticias Terra)
Eje vertical: PIB. Eje horizontal: tamaño medio del miembro masculino. No, no es coña: alguien quiso imaginarse una correlación en esta nube de puntos…o quiso hacerse famoso. (Fuente)

Grafos y causalidad

Vamos al meollo: ¿por qué aparece correlación entre variables? Hay varias posibilidades:
  • (1) Causalidad directa: Una variable realmente se encuentra entre las causantes de la otra.
  • (2) Causalidad indirecta: Existe un tercer hecho (o varios) que relaciona indirectamente los dos bajo estudio.
  • (3) Casualidad con los datos: Si se seleccionan muy mal los datos, con sesgo intencionado o simplemente muy pocas muestras, puede “parecer” que hay correlación simplemente por azar. A veces también ocurre que simplemente existe correlación sin relación causal remota; p.ej. el precio del tomate en Cuenca puede subir a la par que el número de cines abiertos en China.
Los casos (1) son los típicos explorados en Física, donde existen modelos bastante buenos de sistemas sencillos y cerrados donde se controlan todas las variables de los experimentos. Los casos (3) suelen ser fácilmente identificables con el sentido común, p.ej. el caso del PIB y el tamaño del pene que menciono arriba.
 
Los casos verdaderamente problemáticos son los segundos, los de causalidad indirecta. Y aquí vemos el papel que juegan los grafos.

Uno de los modelos gráficos más usados en estadística es el que representa las variables como nodos y las relaciones causales como arcos dirigidos (con “flechitas”). Este modelo se llama red Bayesiana y es un formalismo matemático extremadamente potente.Veamos un ejemplo clásico en este tema: las relaciones entre que haya llovido (LL), que la hierba esté húmeda (H) y que hayan funcionado los aspersores o rociadores para regar (R). Se tienen tres nodos y las relaciones son:
 
(Créditos)

Cada flecha A -> B indica que A influye (es una causa) de B. Leamos la información que codifican los arcos del ejemplo:
  • LL->R: Si llueve no se enciende el aspersor, ya que no hace falta.
  • R->H: Si se ha regado, la hierba estará mojada.
  • LL->H: Si llueve, la hierba estará mojada.
Aunque no vamos a entrar en estos detalles, las “flechitas” no son siempre deterministas sino que normalmente implican incertidumbre, p.ej. si llueve hay un 80% de probabilidad de que no se enciendan los aspersores. Esto no es ninguna limitación, al contrario: permiten trabajar con información del mundo real donde casi todos los modelos tienen componentes desconocidas.

Correlación y distribuciones marginales

Por fin llegamos al quid de la cuestión: ¿qué pasa cuando estudiamos la correlación entre variables de un grafo?

Esto es lo que normalmente se hace con los estudios médicos y de otro tipo: se escogen dos (o más) variables entre las que se hipotetiza una relación causal y se pone a prueba mediante técnicas estadísticas (e.g. test chi2, etc.). Ahora, si la realidad es que A implica B, el modelo real es:



y se debería encontrar correlación. Por tanto, la clave para poder asociar correlación con causalidad de manera rotunda es estar seguros de que la única causa posible de B es A… o que tiene más causas pero todas ellas son independientes de A. Algo bastante difícil de asegurar en cualquier modelo complejo como puede ser la salud de una persona donde intervienen tantos y tantos factores.

Veamos algo más interesante: qué ocurre cuando se ignoran hechos. Por ejemplo, imaginemos un evento C que es la causa de A y de B, como representa este grafo:


La distribución de probabilidad que modela perfectamente este sistema depende de tres variables, pero según la teoría de modelos gráficos podemos separarla (“factorizar” es el término matemático) en el producto de las funciones que modelan cada relación causal por separado:

P(a,b,c)=P(a|c)P(b|c)P(c)
 

¿Qué problema tiene esto? Pues que si estudiamos solamente A y B, olvidándonos de C, realmente se trabaja con la función:

P(a,b)
 

donde se dice que C ha sido “marginalizado“, y toda la información de sus arcos pasan a crear un nuevo “arco” entre A y B… ¡Aunque inicialmente no existía relación causal alguna entre ellas!
En resumen: si se estudian dos variables dejando fuera causas comunes, se detectará una correlación entre ellas aunque no exista relación causal directa alguna. Este es el mayor peligro en cualquier estudio científico.


Curiosamente este efecto depende del sentido de las flechas: si ahora estudiamos solamente las variables A y B dejando fuera una C que es efecto de ambas, no detectaremos correlación entre A y B. Si reflexionas un momento sobre qué significan las flechas entenderás por qué esto es así de manera intuitiva.



Una regla general para saber si el ignorar un nodo C introduce correlación entre A y B es esta: si los caminos desde A a B se encuentran en una configuración “flecha-flecha” (como en este último dibujo), no aparece correlación, y sí aparece en cualquier otro caso.

Un ejemplo práctico: delincuencia y boy scouts

Quería terminar con un ejemplo numérico para aclarar los conceptos a quien nunca antes de hoy hubiese oído hablar de probabilidades marginales y cia. Lo he sacado de este excelente curso de la PennState University (EEUU).

Tenemos los siguientes datos sobre 800 chicos a los que se clasifica por nivel socioeconómico (S), si son o no boy-scouts (B) y si tienen o no antecedentes delictivos (D):


¿Qué pasa si estudiamos la hipotética relación entre ser boy-scout y delinquir? Pues que tendríamos que “ignorar” (marginalizar) el nivel socioeconómico, sumando los datos sobre los distintos niveles (aquí un ejemplo del proceso) y llegando a:


Estos números, sometidos a tests estadístico gritan un: sí, existe correlación (negativa) entre ser boy-scout y delinquir. Luego: ¿los boy-scout son mejores personas? No tan rápido…

¿Y si el modelo subyacente a los datos fuese que el nivel socioeconómico fuese la causa de ambos, ser boy-scout y delinquir, sin que exista relación directa alguna entre estas últimas?

 Posible modelo causal alternativo: c: Nivel socioeconómico,  a: ser boy-scout, b: delinquir. 

Poner a prueba este modelo es sencillo: se puede determinar si existe relación causal directa entre “a” y “b” en el grafo del dibujo poniendo a prueba la correlación de la distribución condicional de éstas para cada valor dado de “c”:


P(a,b|c)
En la práctica esto se traduce en volver a la tabla original:


Y hacer tres pruebas de correlación entre ser boy-scout y delinquir para cada trozo de 2×2 de los datos, uno por cada nivel socioeconómico (low, medium, high).

Estas pruebas dan un resultado de correlación nula (la hipótesis nula arroja χ2=0.16), luego la apresurada hipótesis de que ser boy-scout te hace menos propenso a delinquir era errónea: el detonante real es el nivel socioeconómico, que a su vez condiciona que un chico se pueda permitir hacerse boy-scout o no.

Aunque el artículo me ha quedado “algo” denso y largo, ¡espero que lo hayas disfrutado! Puedes leer más en los enlaces que dejo abajo.
Referencias:

Tomado de:

Ciencia Explicada

5 de mayo de 2008

La Teoría de los Grafos

La teoría de los grafos

Nuevamente Gaussianos vuelve a dar en el blanco. Un artículo fácil de digerir, pero no por ello carente de rigor matemático: introducción a la teoría de los grafos. El artículo parte del famoso problema d elos puentes de Konigsberg. Disfrútenlo:

del sobre y similares.

Los puentes de Königsberg

Königsberg (actualmente Kaliningrado, Rusia) era una ciudad de Prusia del siglo XVIII. El problema que nos ocupa tiene como protagonista a un río, el río Pregel, que cruzaba la ciudad, a dos islas que se encontraban en el mismo y a siete puentes que comunicaban las dos partes de la ciudad con las mismas. Concretamente la situación era como se describe en la imagen (A y B son las dos partes de la ciudad y C y D las dos islas):

Königsberg y sus puentes

(Imagen tomada de Historias de la Ciencia)

El problema consistía en comenzar en un punto, pasar por los siete puentes sin repetir ninguno y volver al punto de partida. Antes de seguir leyendo podéis intentarlo vosotros mismos, aunque os recomiendo que no le dediquéis demasiado tiempo.

Iniciación a la teoría de grafos

Un grafo es básicamente un conjunto no vacío (al menos contiene un elemento) de puntos llamados vértices y un conjunto de líneas llamadas aristas cada una de las cuales une dos vértices. Se llama lazo a una arista que une un vértice consigo mismo. Se dice que dos vértices son adyacentes si existe una arista que los une.

Se dice que un grafo es simple si para cualesquiera dos vértices existe a lo sumo una arista que los une. En otro caso se denomina multigrafo.

Si v es un vértice de un grafo, se denomina grado de v al número de aristas que inciden en el mismo (por convenio de considera que un lazo cuenta dos veces al determinar el grado de su vértice).

Se dice que un grafo es conexo si no puede expresarse como la unión de dos grafos de vértices disjuntos. Os dejo un ejemplo:

Grafo conexo y grafo no conexo

Un camino de longitud n es una sucesión de vértices, v_i, y aristas, a_j, de la siguiente forma: v_0,a_1,v_1, \ldots ,v_{n-1},a_n,v_n. Se dice que un camino es cerrado si v_n=v_0, es decir, el vértice inicial y el final son el mismo. Se dice que es simple si todas sus aristas son distintas. Se llama trayectoria a un camino simple en el que todos sus vértices (salvo probablemente el inicial y el final) son distintos y se denomina circuito a una trayectoria cerrada con al menos una arista.

Se llama camino euleriano a un camino simple que contiene todas las aristas del grafo y se denomina circuito euleriano a un camino euleriano cerrado. Se dice que un grafo es euleriano si contiene un circuito euleriano.

Resolución del problema

Para empezar, ¿quién resolvió el problema? Pues como ya sabéis los que conocíais el problema y como habréis intuido los que no lo conocíais fue Leonhard Euler quien dio solución a este asunto. La idea genial de Euler fue representar la ciudad de Königsberg como un grafo en el que las cuatro partes de la misma eran los vértices y los siete puentes eran las aristas:

Königsberg representada por un grafo

Por tanto el problema de los puentes de Königsberg pasa a ser un problema de teoría de grafos cuya solución publicó Euler en su artículo Solución de un problema relativo a la geometría de posición.

Según las definiciones que hemos visto en el punto anterior lo que queremos saber es si este grafo en euleriano, es decir, si contiene un circuito euleriano (es decir, un camino que contiene a todas las aristas del grafo sin que ninguna se repita y que comienza y termina en el mismo vértice). Vamos a demostrar el siguiente resultado:

Teorema:

Un grafo G es euleriano y sin vértices aislados \Leftrightarrow G es conexo y el grado de todos sus vértices es par.

Demostración:

\Rightarrow ) Si G es euleriano entonces contiene un circuito euleriano y como no tiene vértices aislados entonces cualquier par de vértice u y v están conectados por la parte del circuito que va de u a v. Por tanto G es conexo.

Por otra parte, como G es euleriano contiene un circuito euleriano, es decir, un camino simple y cerrado que contiene a todas las aristas. Por tanto por cada arista que llegue a un vértice debe haber otra que salga del mismo y en consecuencia el grado de cada vértice es un número par.

\Leftarrow ) Partimos de que G es conexo y todos sus vértices tienen grado par.

Si el número de aristas de G es 1 ó 2 el resultado es inmediato. Procedemos por inducción: supongamos que G tiene n aristas y que el resultado es cierto para los grafos que cumplan las condiciones y tengan menos de n aristas.

Usando que todo grafo en el que todos sus vértices tienen grado mayor o igual que dos posee un circuito (¿por qué?) tenemos que el nuestro contiene un circuito, dikgamos C. Si C contiene todas las aristas de G, entonces C es un circuito euleriano y hemos terminado. En caso contrario sea G_1 el grafo obtenido al suprimir de G las aristas de C y suprimir después los vértices que han quedado aislados. Puede que el grafo haya quedado dividido en subgrafos no conectados entre sí; cada uno de ellos es una componente conexa de G_1.

Por haber eliminado las aristas de un circuito todos los vértices de G_1 tiene grado par. Por la hipótesis de inducción, cada componente conexa G_{1i}de G_1 contiene un circuito euleriano.

Como en cada componente conexa G_{1i} debe haber al menos un vértice v_i de C podemos obtener un circuito euleriano en G (que es lo que queríamos conseguir) del siguiente modo:

Partimos de un vértice cualquiera de C (que recordemos que no era un circuito euleriano). Recorremos C hasta llegar a un vértice v_i de una componente conexa G_{1i} de G. Recorremos esta componente conexa a través del circuito euleriano que hemos visto que debe contener y continuamos recorriendo C hasta que nos encontremos con un vértice de otra de las componentes conexas, realizando entonces la misma operación. Repetimos el procedimiento hasta llegar al vértice de partida, obteniendo así un circuito euleriano.

c.q.d.

Observemos ahora el grafo que habíamos obtenido de la ciudad de Königsberg y calculemos el grado de todos sus vértices. Hay tres vértices con grado 3 y un vértice con grado 5. Es decir, no hay ninguno con grado par. Por tanto, según el teorema anterior, este grafo no contiene un circuito euleriano, esto es, no podemos comenzar en un punto de la ciudad y recorrer cada uno de los puentes sólo una vez y terminar en el punto de partida.

El problema del sobre y similares

Supongo que muchos de vosotros os habréis encontrado con el típico problema de recorrer todos los segmentos de un dibujo sólo una vez sin levantar el lápiz del papel. En esos problemas los vértices inicial y final no tiene que ser el mismo, es decir, puedo comenzar en el vértice que quiera y terminar en ese mismo o en cualquier otro, pero debo pasar por todas las líneas una y sólo una vez sin levantarme del papel. El más típico es el sobre:

Sobre cerrado

El siguiente resultado es un corolario del teorema anterior y nos ayudará a analizar todos estos problemas:

Corolario:

Un grafo G contiene un camino euleriano \Leftrightarrow G es conexo y tiene como máximo dos vértices de grado impar.

La demostración os la dejo a vosotros para que la penséis.

Un camino euleriano es precisamente lo que buscamos cuando queremos resolver estos problemas. Por tanto lo único que tenemos que hacer es calcular el grado de cada vértice. Si tenemos más de dos vértices de grado impar el recorrido no será posible; por el contrario, si tiene sólo dos vértices o ningún vértice con grado impar entonces sí se podrá recorrer de esa forma (no puede haber sólo un vértice con grado impar ya que el número de vértices de grado impar es par, ¿por qué?). En el caso de nuestro sobre tenemos cuatro vértices con grado impar y por tanto no podremos recorrer todas las aristas sólo una vez sin levantar el lápiz del papel.

Por contra, si tenemos el sobre abierto:

Sobre abierto

sí podremos recorrerlo así ya que ahora sólo hay dos vértices con grado impar, los dos de abajo. De hecho se sabe que para recorrer todas las aristas sólo una vez sin levantar el lápiz del papel debemos comenzar en uno de los vértices de grado impar y terminar en el otro.

Con estos resultados ya no habrá problema de este tipo que se os resista.

Fuente:

Gaussianos

google.com, pub-7451761037085740, DIRECT, f08c47fec0942fa0