Cómo representar distribuciones de valores de atributos bimodales en un mapa


8

Estoy buscando un método de visualización que me permita representar distribuciones de valores de atributos bimodales o incluso multimodales en entidades de línea.

Una distribución bimodal tiene dos modos diferentes que aparecen como picos distintos en la función de densidad de probabilidad (imagen # 1). La media, la mediana y los valores de desviación estándar son de poca utilidad para describir dichos datos.

# 1 Ejemplo de una distribución bimodal:

Ejemplo de distribución bimodal.
(fuente: wikimedia.org )

Mi caso de uso es el siguiente: para todos los enlaces de carretera en una red, he asociado mediciones de velocidad (muchos cientos por enlace) en distribuciones bimodales, a veces multimodales (tres modos). Ahora, estoy buscando una manera de visualizar estos datos en un mapa.

Además de adjuntar un diagrama de barras a cada enlace, no he encontrado ninguna manera de lograr mi objetivo utilizando un SIG. Los resultados de la visualización deben ser imprimibles para que las animaciones no funcionen.

# 2 Ejemplo de visualización usando diagramas:

Ejemplos de segmentos de carretera con diagramas de barras

Todas las ideas son bienvenidas!


¿Está utilizando "modal" en el contexto de la planificación del transporte o en las estadísticas? La elección de uno en el modo de transporte es una escala nominal (automóvil, autobús o ferrocarril), mientras que la longitud del cuerpo es una escala proporcional. en.wikipedia.org/wiki/Level_of_measurement
Kirk Kuykendall

1
Modal como en las estadísticas, lo siento, pensé que sería claro con la imagen y la descripción de la "distribución bimodal".
oscuro

Respuestas:


4

Una forma de manejar esto es unir sus datos de distribución en clases de velocidad y calcular el porcentaje de cada segmento dentro de cada clase. Luego, podría crear segmentos de línea paralelos y escalar su ancho en función del porcentaje para producir algo como esto:

línea de velocidad bimodal

Esto podría lograrse en GRASS, por ejemplo, utilizando v.parallel( página manual ), que puede crear líneas paralelas a cada lado de un segmento a una distancia establecida.

Del mismo modo, podría crear un segmento de línea por emparejamiento de medición de velocidad de línea, con pequeños niveles de deriva añadidos a las coordenadas. Luego, colorea los segmentos usando la velocidad como atributo. Esto también podría aclararse mediante el uso de la transparencia, dependiendo de los requisitos de la salida, produciendo algo como:

línea de desplazamiento bimodal

Finalmente, un enfoque hibridizado sería usar un solo gradiente de color en todos los segmentos de línea y luego usar el canal alfa de un segmento como una representación comprimida de la distribución. Al combinar esos elementos, terminará con un conjunto de datos que utiliza el color para representar la velocidad y la fuerza de la transparencia para representar la prevalencia del valor dentro del segmento:

línea de salida bimodal


Creo que la primera idea es brillante, pero me está costando visualizar la segunda como algo que no sea gris. ¿Conoces un ejemplo?
Matt Parker el

Me gusta la idea, pero el problema que veo en el enfoque 1 es que no se usa información sobre modos. Como los contenedores deberían ser iguales para todos los segmentos, en algunos casos eso conduciría a divisiones malas (por ejemplo, dividir un pico). Enfoque 2 suena aún más prometedor. Por supuesto, requeriría algo de preprocesamiento y normalización para trabajar con grandes conjuntos de datos. ¿Algún SIG OS admite el estilo de líneas de trazos múltiples como se muestra en la imagen?
oscuro

1
La transparencia le permite ver la densidad real de las líneas: más líneas crean un color más opaco. Básicamente, solo evita que la masa de líneas verdes convierta todo el segmento en una barra verde sólida. Es un poco extraño en esta aplicación porque la superposición de las líneas es causada por fluctuaciones aleatorias, en lugar de sobreplotting real (compárese con este diagrama de dispersión: had.co.nz/stat405/resources/drills/plot-drills/ggplots/… ).
Matt Parker el

1
@underdark: un par de opciones para el trazo múltiple: amortigua las líneas en diferentes valores para crear los anchos, luego colorea cada polígono por separado. Alternativamente, podría escribir una pequeña pitón en QGIS con el nuevo simbolizador ( qgis.org/wiki/Symbology-NG ). No es necesario que se limite a solo 3 segmentos, puede hacer todas las ubicaciones que desee con cualquiera de estos métodos.
scw

1
Incluí un enlace a v.parallel en mi respuesta, que debería proporcionar una buena manera de calcular la primera solución: crear segmentos de línea paralelos a distancias iguales a las cantidades, luego ajustar su grosor con herramientas de simbolización como las de QGIS.
scw

2

Quizás use un conjunto de líneas paralelas contiguas de ancho fijo. Cada línea podría dibujarse para reflejar la magnitud de su bin correspondiente (considere la escala de grises: la oscuridad sería de alta frecuencia, la luz sería pequeña). El resultado parecería algo parecido al canal alfa de la respuesta de scw. En efecto, unta el histograma / densidad a lo largo de un segmento de línea de área. El flujo de trabajo cartográfico general sería algo engorroso (debido a la codificación manual o el desplazamiento lineal, sin mencionar el manejo de intersección), pero sería implementable dentro del SIG estándar. Independientemente de la técnica que utilice o invente, si hace un mapa elegante, comparta sus hallazgos. ¡Buena suerte!

(los comentarios a continuación pueden ser útiles para quienes prueban esta idea)


1
Intenté tu sugerencia ayer. El problema que encontré con su solución en escala de grises (sería excelente para imprimir) es que es difícil de interpretar porque el resultado depende de la orientación de la línea. Significado: a veces las altas velocidades están a la izquierda, a veces en el lado derecho de la línea. Quizás tendría que introducir flechas adicionales, pero luego se llena realmente.
oscuro

1
Gracias por el comentario. Tienes razón. La direccionalidad es un problema. Se podría crear una señal visual adicional (como una flecha o una línea delgada que bordea el "carril rápido"). Al final, sin embargo, y luego de una mayor reflexión, creo que la técnica de trayectoria graduada probablemente debería aplicarse solo al caso de uso limitado cuando la red sigue la misma dirección general. Espero que tal discusión ayude a otros.
Glennon

2

¿Por qué no utilizar la solución en escala de grises de Glennon, pero hacer que se refleje para que tenga alta velocidad en ambos lados de la línea? Luego, el grosor aparente de la línea le indicará la velocidad promedio, y las rayas le indicarán si hay más de un modo.

La imagen a continuación muestra cómo se vería la muestra de la pregunta con líneas reflejadas. Utilicé líneas negras con opacidad en la imagen izquierda y líneas codificadas por colores con opacidad a la derecha.

Agregué algo de gamma (2) a la opacidad para que los picos se destaquen más.

Líneas de color y escala de grises de ancho fijo reflejadas http://img23.imageshack.us/img23/4920/mirrored.png


El ancho de la línea no cambiaría. Glennon sugirió líneas de ancho fijo. Duplicar las líneas duplicaría el ancho de líneas ya muy anchas y, por lo tanto, es imposible visualizar extensiones de red más grandes. Además, creo que esto sería muy difícil de interpretar.
oscuro

+1 Gracias por las imágenes adicionales. Para diferentes datos, este enfoque podría funcionar. Como indica la imagen # 2 en mi pregunta, me gustaría trabajar con aprox. 10 contenedores o, si es posible, evite "agrupar" los datos todos juntos.
oscuro

Mis imágenes en realidad usan las distribuciones de la imagen # 2 en su pregunta. Solo para aclarar su problema: si tuviera que decidir (por ejemplo, en una red grande, donde sería imposible mostrar toda la información) reducir la distribución a una sola variable, ¿preferiría la cantidad de picos, la velocidad promedio? , velocidad máxima (es decir, la que tiene el pico más alto) o algo más?
mkadunc

Mi solución favorita sería la cantidad de picos, la velocidad de esos picos y tal vez alguna información sobre el ancho del pico. Si tuviera que elegir solo una variable, lo más probable es que elija la velocidad máxima ... La velocidad promedio es lo que tengo ahora, pero quiero cambiarla.
oscuro

0

Silverlight (y probablemente flex) admiten símbolos de líneas animadas. Puede hacer líneas discontinuas donde los guiones se mueven a lo largo de la línea según la velocidad, y el ancho representa el volumen del tráfico. Nunca he visto ningún estándar cartográfico sugerido para símbolos animados, pero quizás hay algunos.


En realidad, no veo cómo eso hace posible visualizar una distribución bimodal de mediciones de velocidad. Líneas paralelas, una por pico en la distribución ... suena desordenado.
oscuro
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.