Mejores prácticas para describir modelos basados ​​en agentes

14

Trabajo bastante en biología matemática / epidemiología, donde la mayor parte del trabajo de modelado / ciencia computacional todavía está dominado por conjuntos de EDO, es cierto que a veces son conjuntos bastante elaborados de ellos. Una de las ventajas de estos modelos es que son bastante fáciles de describir y replicar. Una tabla de valores de parámetros, y las ecuaciones en sí mismas, y usted le ha dado a alguien todo lo que necesita para replicar su investigación de la forma que desee implementarla.

Pero los modelos algo más complejos han comenzado a ser más populares. Los modelos basados ​​en agentes, en particular, parecen ser más difíciles de describir en una publicación y más difíciles de replicar, porque no necesariamente están perfectamente descritos por un conjunto de EDO. ¿Existen pautas, o solo experiencia práctica, para describir estos modelos de manera que los lectores entiendan lo que sucedió y los hagan relativamente fáciles de replicar?

Fomite
fuente
1
Tengo entendido que un modelo basado en agentes descrito formalmente es tan determinista y fácil de reproducir como una ecuación diferencial ordinaria que se comporta bien. ¿Podría señalar algunos ejemplos específicos en la literatura?
Aron Ahmadia
@AronAhmadia Muchos modelos basados ​​en agentes dependen de componentes no deterministas. Por ejemplo, los creadores de la biblioteca de simulación MASON pensaron que la aleatoriedad era lo suficientemente importante como para incluir su propia implementación de un generador de números aleatorios ...
Michael McGowan
@MichaelMcGowan: estaba preocupado por eso. Las simulaciones conducidas por generadores de números aleatorios deben ser visibles como parte de la estrategia de reproducibilidad, pero ahora los científicos deben confiar en las estadísticas para sacar conclusiones.
Aron Ahmadia
@AronAhmadia Parte del problema es que nunca he visto mucho sobre lo que constituye una descripción formal de un ABM. Y eso deja de lado la cuestión de la estocasticidad.
Fomite
un problema similar en economía
Artem Kaznatcheev

Respuestas:

4

No trabajo en ese negocio, pero ingenuamente creo que hay tres partes en una descripción completa

  1. Una descripción del panorama de datos en el que viven. Describa esto en términos de la estructura de datos (gráfico (dirigido o no dirigido, ponderado o no ponderado); árbol; matriz; ...) y los datos asociados con cada nodo. Tome nota del manejo de casos especiales, como las condiciones de límite periódicas o el estado asumido para los vecinos fuera de la región de prueba. Presumiblemente, esto tiene una conexión bastante clara con su dominio problemático.

  2. Una descripción del estado interno del agente y cómo toma decisiones. De nuevo, espero que esto tenga una interpretación razonablemente clara.

  3. Una descripción del tiempo relativo y / o sincronización de acciones y actualizaciones entre los agentes y el paisaje; y entre pares o grupos de agentes.

El pseudocódigo (o incluso el código real si no está demasiado contaminado con detalles de implementación) ayudará.

dmckee --- gatito ex moderador
fuente
2

Hay algo llamado protocolo ODD (Descripción general, diseño y detalles), propuesto por Volker Grimm y otros para describir un modelo basado en agentes. Consiste en una lista de elementos necesarios para comprender el funcionamiento de un ABM y tiene como objetivo hacer que las descripciones de dichos modelos sean más estandarizadas.

La lista de verificación de lo que debe describirse consiste en:

Visión general

  1. Propósito
  2. Entidades, variables de estado y escalas.
  3. Resumen del proceso y programación

Diseño

  1. Principios básicos
  2. Aparición
  3. Adaptación
  4. Objetivos
  5. Aprendizaje
  6. Predicción
  7. Sintiendo
  8. Interacción
  9. Estocasticidad
  10. Colectivos
  11. Observación

Detalles

  1. Inicialización
  2. Los datos de entrada
  3. Submodelos

Más detalles se pueden encontrar en

Grimm, V., Berger, U., DeAngelis, DL, Polhill, JG, Giske, J. y Railsback, SR (2010). El protocolo ODD: una revisión y primera actualización. Modelado ecológico, 221, 2760–2768.

Kenji
fuente
1

La mejor manera, con mucho, es incluir todo su código como material complementario. Si es posible, también incluya archivos con las semillas aleatorias relevantes necesarias para recrear sus resultados. Esto no solo permite a las personas recrear sus resultados (lo que quizás no le interese), sino que también les permite continuar más fácilmente donde lo dejó. Esto permite nuevas colaboraciones y citas para su trabajo. Desafortunadamente, esto viene con la dificultad de obligarlo a limpiar su código y asegurarse de que esté libre de errores. Por lo tanto, es más un ideal que lo habitual en la práctica. Pero al menos, debe archivar una versión de su código que se utiliza para producir sus resultados, de esa manera, si otro investigador solicita el código, puede producirlo.

En términos de la descripción en su documento, me concentraría en una descripción independiente de alto nivel de implementación de las características novedosas clave del modelo (esta es la parte práctica que la mayoría de los buenos documentos logran). Concéntrese en las características que cambiarán el resultado cualitativamente si se modifican. La mayoría de los modelos con los que trabajo producen resultados cuantitativos, pero las cantidades específicas generalmente no son de interés, solo el comportamiento cualitativo (ya que los parámetros generalmente están lejos de ser observables en la naturaleza). Por lo tanto, me concentro en describir las partes del modelo, que si se modifica cambiarán el comportamiento cualitativo del sistema. Si esta mentalidad me obliga a describir hasta el último detalle de mi modelo hasta la implementación, entonces sé que mi modelo no es muy robusto y, por lo tanto, debería descartarse.

Una buena manera de probar si su descripción en papel es suficiente, es pedirle a un amigo (o estudiante) que no trabajó en este proyecto con usted que describa cómo podrían implementar su modelo es un pseudocódigo. Si no se atascan al intentar esto (ya que llegan a un boceto de un modelo que debería producir los mismos resultados cualitativos), entonces sabe que ha hecho un buen trabajo de descripción.

Artem Kaznatcheev
fuente