Analítica web
Reflexiones sobre madurez digital, datos y tecnología

La física clásica en el mundo digital

Se lee en 4 minutos

Para ponernos en contexto, empezaré comentando la importancia que tiene en el mundo de los datos el poder expresarlos de forma visual (tal y como pudimos leer en este post de mi compañera Clara Saiz). Además, introduciendo el concepto de comunidad virtual, -agrupaciones (de usuarios, otras comunidades, etc…) con intereses similares y sin restricciones, que evolucionan como redes- ya tenemos el caldo inicial para entender qué podemos ver y cómo hacerlo.

A día de hoy existen varias aplicaciones como Gephi o Google Refine, que agrupan los datos según determinados modelos, basándose en algoritmos que a muchos nos suenan conocidos. Tal es el caso de uno de los modelos utilizados, Force Atlas 2, el cual se aproxima al comportamiento de una red desde el punto de vista físico, donde una partícula o nodo interactúa con sus vecinos más cercanos.

Aunque los modelos físicos tienen un entramado más complejo a nivel energético y podrían representarse mediante aproximaciones como el clásico oscilador armónico, los principios que gobiernan este algoritmo se sustentan sobre dos conceptos más “sencillos”: una fuerza de atracción basada en la conocida Ley de Hooke (la fuerza elástica en los muelles):Captura de pantalla 2016-08-10 a las 17.34.49

y una fuerza de repulsión basada en la Ley de Coulomb (fuerzas de interacción entre dos cuerpos cargados):Captura de pantalla 2016-08-10 a las 17.35.02

De esta forma, la distancia será la clave en este sistema, donde las partículas sufren más repulsión y menos atracción al estar cerca y viceversa.

A pesar de que este modelo sea sencillo a nivel conceptual, se le incluyen una serie de mejoras para adecuarlo a los requisitos visuales. Una de ellas sería la “repulsión por grado”, donde los nodos, que solo tienen un vecino, rodean a otros fuertemente conectados y se retoca la fuerza de repulsión para que esta sea más débil entre un nodo fuertemente conectado y otro que lo esté pobremente. De esta forma, estos nodos acabarán estando más cerca en un estado de equilibrio. Visualmente, esto impacta distinguiendo mejor las comunidades, ya que estas adquieren un mayor volumen, además de estar mejor definidas.

La gravedad

Una modificación en el modelo comentado, viene también de mano de la física: la gravedad. Se supondrá una atracción central, de modo que pondere con las fuerzas de repulsión.

Captura de pantalla 2016-08-10 a las 17.47.03

siendo d(n) la distancia del nodo al centro. A mayor distancia, la fuerza es más atractiva. Lo que se logra con esta “corrección” es no tener “islas” (componentes sin conexión).

En el siguiente vídeo vemos la acción de la gravedad, cómo inicialmente está afectando para, acto seguido, modificar el parámetro y ver cómo evoluciona el sistema creando las relaciones que convergen al equilibrio:

Otros parámetros que entran en juego, serán el escalado o el peso de las aristas de la red. En el primer caso, no se trata de otra cosa que mantener fija la constante de atracción Ka mientras que modificamos la constante de repulsión Kr. El resultado sería muy visual, ya que el gráfico se expande o contrae:

Por otro lado, el peso de las aristas viene determinado por un parámetro (δ) en la fórmula:

Si toma valor cero, las aristas no tendrán influencia atractiva. Vemos cómo varía según valores 0, 1 y 2:

El problema del solapamiento

Para prevenir el problema visual del solapamiento de los nodos, se tiene en cuenta el tamaño de los dos nodos involucrados, de forma que si la distancia de borde a borde es >0 (no existe solapamiento), la fuerza de atracción es proporcional a esta y la fuerza de repulsión es inversamente proporcional. Por otro lado, si la distancia es <0 (existe solapamiento), la fuerza de atracción es nula y la de repulsión será proporcional a los grados de cada nodo; por último, si la distancia es =0, entonces no existe fuerza de ningún tipo (posición de equilibrio).

En el siguiente vídeo, observamos cómo crecen las comunidades de forma estable, donde añadimos el solapamiento para después quitarlo y así poder apreciar visualmente el efecto que produce:

La temperatura

Como bien es sabido, es complicado tener un algoritmo veloz y eficaz al mismo tiempo, ya que una propiedad siempre mejora a costa de la otra. Ocurre lo mismo en la física y en modelos diseñados en base a fuerzas, donde la aproximación de los nodos crea una incapacidad para encontrar una posición estable comenzando a oscilar alrededor de su posición de equilibrio. Dicha oscilación se incrementa con la velocidad. Esta característica sería la temperatura y se consigue estabilizar con el parámetro de la “tolerancia”, el cual se ajusta en función del número de nodos: 0.1 para 5.000 nodos o menos; 1 para 50.000 o más nodos; y 10 para más de 50.000 nodos.

En el último vídeo, podemos apreciar cómo ejerce su efecto la temperatura, haciendo que las comunidades “exploten” para luego volver a su estado inicial:

La velocidad dependerá de la distancia entre un nodo y su vecino, la gravedad, la tolerancia y de la constante k. Podemos apreciar cómo el modelo encuentra el equilibrio:

velocidad

Donde la curva verde indica una velocidad alta y muchas oscilaciones, la curva roja una baja velocidad y muchos pasos de conversión y la curva amarilla encuentra el equilibrio ajustándose a la curva azul que representa el resultado esperado.

El peso de las aristas y la gravedad serán diferentes opciones para crear una mejor representación visual de la estructura, mientras que el escalado ayuda a hacer la red más compacta o la prevención del solapamiento hará más legible el resultado.

La física está detrás de muchas situaciones, desde la expansión de una mancha de petróleo en el mar (ecuación de ondas) hasta la evolución de los mercados financieros (el modelo de Black-Scholes se sustenta sobre el Movimiento Browniano).

¡¡Seguro que se te ocurren más situaciones en las que la física está por detrás!!

*Fuente de las fotos: herramienta Gephi
*Datos utilizados para crear las comunidades: página de Facebook “Doc Emmett Lathrop Brown”

Escribe tu comentario

cinco × 5 =

Navegar