Introducción al modelado basado en agentes. Extensión GIS Voy a hablarles un poco acerca de la extensión NetLogo GIS, ¿de acuerdo? El modelo del que les quiero hablar está en la librería de modelos bajo el libro de texto IBM, capítulo 8 y se titula "NetLogo ticket" o "Venta de boletos". De acuerdo. Y está inspirado en la disertación de Tseng, quien fue estudiante en Maryland mientras estaba ahí. Y estaba interesada en trabajar con su asesora Wendy Moe, tratando de entender cómo la venta de boletos de un evento en vivo les afectaba. Este modelo nunca logró explorar esa pregunta al detalle desde un modelo basado en agentes. De nuevo, su disertación es mucho mejor en eso, pero no es basada en agentes. Pero sí examina, en una primera prueba, el intento de llegar a ese punto, ¿de acuerdo? Así que, en este modelo, notarás que toma un poco ajustarlo e iniciar y eso es porque lo que vamos a hacer es poner información acerca de espacios geográficos reales. Y esta información fue obtenida del Gobierno Federal de los Estados Unidos en sus censos. Básicamente dibujados desde Tiger que es la herramienta que provee información gratuita acerca del censo que cualquiera que vaya puede acceder, en esencia. Ahora, para algunos datos tienes que pagar por ello y cosas así, pero la mayoría es gratis. Así que lo que he hecho es arrastrar un mapa de Manhattan con los límites de censo fuera de ello y después poblé cada uno de esos límites del censo con un agente representativo para cada casa. De hecho, creo que es como 1 por cada 10 casas las que están en ese segmento particular del censo. Es algo interesante solo ver esto ahora mismo. Primero, no hay nadie viviendo en Central Park, que corre justo debajo del centro, como puedes imaginar. Y luego, también tengo una sede que está localizada en el mundo. Y lo que esto te permite hacer entonces es explorar cómo la gente decide qué hacer o no entre esta sede u otra sede y usando datos demográficos reales de un área en particular. Así que, en este caso, todos esos agentes deciden si vale el tiempo y el dinero asistir. Y puedes entender qué tantas sedes diferentes puedes tener y eventualmente si te gustaría tener dos sedes que compitan entre una y otra y quizá proveer descuentos y ofertas y cosas como esas. Así es como se corre el modelo. Vamos a pausarlo un segundo y te voy a mostrar cómo funciona realmente el código. Así que, para leer en una extensión de NetLogo, tienes que empezar el código del modelo con extensiones y nombrar la extensión. Y ya viste esto un poco en la unidad 4 donde revisamos cómo construir un modelo viral de marketing. Entonces, en este caso particular, voy a leerlo en la extensión GIS. Y esa extensión GIS es una de las que se construyen en el paquete de NetLogo cuando lo descargas. Y la primera cosa que hace es ajustar los comandos de mapas, y muestra la carga usando el comando GIS, carga esos shapefiles del directorio de data/roads.shp y data/tracts.shp y va a ponerlos como variables. Shapefiles, para aquellos que nunca lo han usado anteriormente, es una forma GIS de describir polígonos, puntos y líneas y cómo describen el espacio del mundo. Así que esto describe los caminos y las vías para que puedas ver qué está pasando. La siguiente cosa que tenemos que hacer es... como la forma en que GIS trabaja es que tienes todos los datos sobre el mundo completo pero solo quieres mirar en un punto particular de ello porque no quieres mirar al mundo entero cuando estudias Manhattan así que, lo que vamos a hacer es ajustar el mundo que es llamado "envoltura" (el espacio que envuelve al mundo) y vamos a ajustar esa envoltura a la unión de los caminos y segmentos del censo. Esas son envolturas específicas, así que hay algo que ajusta los límites externos de los caminos y los límites externos de los segmentos del censo. Así que vamos a tomar eso y a usarlo para crear la unión de nuestro sistema y crear la envoltura. Y vamos a mostrar los caminos y los trayectos y vamos hacerlo dibujando ajustando el color a rojo y mostrando los caminos en las líneas donde intersecta y diciéndole a NetLogo que lo dibuje con una linea con grosor de 1. Y lo que hace es dibujar líneas rojas que ves acá atrás. Y, de hecho, podemos activarlo y desactivarlo por la manera en que especificamos el código. Ahora esto está en la capa de dibujo así que hay algunas maneras de interactuar con él. Podemos visibilizar los trayectos e ilustrarlos también y te mostraré cómo interactuar en un momento. Una de las cosas que hacemos, y aquí es donde hacemos la interacción, es donde decimos por cada una de las vías preguntamos los parches que se intersectan con esas vías Para ajustar su ID de vía en el parche del GIS propiedad STFID, que es el valor del ID de vía que se guarda en la base de datos. Ahora que hemos hecho eso, cada parche sabe a qué vía está conectada al conjunto de datos del GIS y cuando cargamos la información del parche, vamos al archivo doméstico, que contiene la población de los hogares en cada extensión. Pero lo más importante es que leamos en esa población doméstica y resulta que este geo_id2 especifica la vía del censo que la población describe. Así que podemos preguntar a los parches que tienen el ID de vía que combine el censo para ajustar su población y leer desde el hilo de esa población. Ahora, hay un pequeño problema con eso. Podría haber múltiples parches en cada extensión del censo que no queremos tener. No queremos tener múltiples cuentas teniendo la población en cada una de ellas. Así que la siguiente línea aborda eso. Dice que pregunte a los parches con población > 0, ajustar su población a la población dividida entre el número de parches con los que tiene la misma ID de vía. Así que si tiene 2 parches que están en esa vía porque tienen la misma ID, entonces separa la población en dos partes. Así que, ahora, usando la intersección final, hemos intersectado la capa de dibujo en términos de extensiones con los parches actuales. Es esta intersección GIS la que determina eso por nosotros. Después de eso, el resto del código es muy estándar. El código de modelado basado en agentes va a determinar los consumidores que vienen de alguna sede y después toma la decisión de compra en base a eso. Así que eso es todo respecto a la extensión GIS. En la próxima charla, hablaremos sobre la extensión de red.