¿Cuáles son las intersecciones entre los campos de la ciencia de datos y los sistemas complejos?

Antes de ver algunas de las áreas de intersección, veamos cómo estos campos son distintos de alguna manera. Algunas distinciones clave entre estos dos amplios dominios de actividad:

  1. La ciencia de datos es la aplicación de estadísticas, aprendizaje automático y temas relacionados a través de algoritmos, para el análisis de datos recopilados de procesos de generación de datos. Si bien la ciencia de datos también incluye la simulación (modelos deductivos donde el comportamiento del sistema es conocido / asumido y estocástico), la gran mayoría de los casos es donde los datos ya recolectados de los sistemas en el mundo real o virtual se analizan para comprender el comportamiento subyacente del sistema. Por lo tanto, la intención de la ciencia de datos es encontrar patrones en los datos, ya sea a través de la exploración sistemática, modelos de aprendizaje automático o exploración iterativa.
  2. Los sistemas complejos (y su estudio) se refieren a sistemas que exhiben un comportamiento emergente, dependencia sensible de las condiciones iniciales y patrones caóticos en el comportamiento del sistema. Son esencialmente impredecibles en su comportamiento, a pesar de estar basados ​​en reglas simples y componentes interactivos. Un buen ejemplo es el doble péndulo, que es una excelente manera de entender cómo un sistema muy simple que debería ser determinista en su forma de comportamiento, puede comportarse de manera impredecible debido a pequeñas diferencias en la posición inicial del sistema. .

Ahora, veamos algunas similitudes:

  1. La ciencia de datos es el proceso de modelar estadísticamente el comportamiento del sistema. Entonces, entre otras cosas que los científicos de datos pueden hacer, también pueden estar interesados ​​en una forma de “decodificar” el comportamiento del sistema. Cuando los modelos de respuesta a factores (causalidad unidireccional simple) no funcionan, se debe recurrir a los sistemas de ecuaciones. Estas son situaciones para las cuales el modelado estadístico no es directamente adecuado. La ciencia de datos también abarca el campo de la simulación, como la simulación de inteligencia de enjambre y las simulaciones Monte Carlo. Es en estas situaciones donde la ciencia de datos y la teoría del caos / complejidad se cruzan
  2. Los sistemas complejos abarcan el estudio de sistemas basados ​​en agentes. Tome la optimización del enjambre de partículas, por ejemplo, donde un enjambre de agentes está codificado con una visión global de la aptitud y puede descifrar los máximos y mínimos de un gradiente a través de un proceso de “divide y vencerás” basado en la comunicación. Esto es relevante para la ciencia de datos, ya que a veces en la ciencia de datos, por ejemplo, al escribir algoritmos de aprendizaje automático o al construir redes neuronales, es posible que le interesen los problemas de optimización de múltiples variables, para los cuales estos métodos basados ​​en agentes son perfectos.
  3. El análisis de gráficos es otra área clave de intersección entre sistemas complejos y ciencia de datos. La ciencia de datos realizada en datos de redes sociales generalmente se asocia con el modelado de gráficos y el análisis basado en gráficos: podemos estar interesados ​​en calcular el rango de página de diferentes nodos, o el coeficiente de agrupación de un sub-gráfico, o agrupación dentro de estas redes sociales. Dichos problemas se abordan inherentemente en la teoría de la complejidad, pioneros como Erdos y Renyi, y más recientemente por Barabasi, Strogatz, et al.
  4. La ciencia de datos realizada en series temporales implica la comprensión de la sincronización, los datos como señales de los sistemas y la comprensión de esos sistemas a través de las señales que generan (como procesos estocásticos que generan datos). Curiosamente, una rama de la teoría de sistemas complejos se ocupa de la sincronización de procesos y sistemas: lo recomendaría al trabajo de Steven Strogatz sobre esto. La sincronización parece ser un orden fundamental de la naturaleza, y hay mucho que entender al estudiar los sistemas en este contexto.
  5. El modelado de sistemas complejos en la naturaleza a menudo requiere el manejo de numerosas variables; a veces, cientos de variables son de interés en el comportamiento del sistema. En ciencia de datos y aprendizaje automático, la ingeniería de características es un tipo de análisis que ayuda a identificar posibles nuevos factores, o factores que simplifican las matemáticas de la relación entre las variables en el modelo. A medida que comprendamos más acerca de los sistemas complejos y los estudiemos con mayor profundidad, tales técnicas pueden ser útiles desde la perspectiva del modelado de sistemas.

Algunos libros para considerar leer:

  1. Fundamentos de la ciencia de datos por Kannan, Hopcroft, et al.
  2. Una visita guiada de la complejidad por Melanie Mitchell
  3. Sincronización de Steven Strogatz
  4. Vinculado por A. Laszlo Barabasi (Más sobre el Dr. Barabasi aquí: Barabási Albert-László – Libros)
  5. Seis grados de Duncan Watts
  6. La investigación de Mark Newman en redes: Mark Newman

La respuesta de Scott Mongeau a esta pregunta también cubre algunos de estos métodos con más profundidad y tiene algunas referencias.

¡Buena pregunta! Desde mi perspectiva, creo que las técnicas avanzadas de simulación por computadora son una intersección clara entre la ciencia de datos y los sistemas complejos.

Hay varias metodologías clave de simulación a considerar para diseñar, analizar y / o investigar dinámicas de sistemas complejos:

> Dinámica de sistemas: un marco de modelado de tipo pseudohidráulico adecuado para simular grandes sistemas complejos, como la dinámica macroeconómica y de ecosistemas. Las rutas circulares en lo que parecen ser sistemas bastante simples a menudo conducen rápidamente a observaciones dinámicas no lineales. https://en.wikipedia.org/wiki/Sy
> Redes de Petri: un lenguaje de modelado gráfico-matemático adecuado para simular sistemas distribuidos. Un buen método para el diseño o análisis de sistemas altamente especificados. Puede generar información sobre restricciones ocultas y posibles fallas de diseño en sistemas o procesos complejos, por ejemplo, casos de uso de fabricación o seguridad cibernética. Tenga en cuenta que los modelos dinámicos de sistemas pueden subespecificarse con mayor granularidad utilizando redes de Petri. https://en.wikipedia.org/wiki/Pe
> Monte Carlo: un enfoque algorítmico bien estudiado y utilizado, adecuado para sistemas en los que los elementos clave múltiples son de naturaleza probabilística, incluso potencialmente puramente aleatoria. Solicitado con frecuencia para el análisis financiero y de riesgos, por ejemplo, examinando la probabilidad de pérdida en una cartera de inversiones. También se puede usar para estudiar tecnoeconomía (por ejemplo, un modelo de VPN de fábrica que involucra costos variables para las materias primas) incluso sistemas de comportamiento tecnoeconómico (por ejemplo, un modelo de VPN de fábrica que involucra costos variables para las materias primas y donde las ganancias están sujetas a una demanda variable de consumidores / clientes basados ​​en marketing). https://en.wikipedia.org/wiki/Mo
> Evento discreto: un enfoque de modelado y simulación que permite examinar sistemas complejos como un conjunto discreto de eventos que ocurren con el tiempo. También puede imputar incertidumbre, pero se centra principalmente más en el análisis del proceso y los resultados que en los resultados sistémicos brutos dados muchos elementos variables en la simulación de Monte Carlo. A menudo se usa para modelar, diseñar, estudiar y administrar complejos procesos industriales y fábricas. Varios paquetes de software de código abierto y comercial permiten modelar y simular fábricas para realizar análisis de fallas y optimización. https://en.wikipedia.org/wiki/Di
> Multi-agente: Quizás el más adecuado para examinar sistemas no lineales altamente inciertos, esto permite el modelado de agentes independientes que luego pueden interactuar libremente en el sustrato de simulación, a menudo produciendo un comportamiento emergente complejo. A menudo se usa para estudiar la dinámica de multitudes, para estudiar el comportamiento de organismos o animales que actúan libremente, o para estudiar y diseñar espacios físicos de acuerdo con los flujos de tráfico humano. https://en.wikipedia.org/wiki/Mu

Con base en los resultados de las simulaciones, a menudo se pueden derivar nuevas variables y medidas, que luego se pueden analizar a través de enfoques de análisis de datos más tradicionales.

Podría ser adecuado decir que la simulación puede situarse bajo el paraguas de la gestión de operaciones o la investigación de operaciones, ya que a menudo el resultado deseado son ideas que se pueden aplicar para optimizar y controlar sistemas complejos.

More Interesting

¿Cuáles son las diferencias entre un científico de aprendizaje automático y un científico de datos?

¿Cuáles son los mejores marcos de implementación (DL4J, Theano, TensorFlow, etc.) para máquinas de Boltzmann restringidas?

¿Se puede usar la detección de características / descripción de características para la clasificación de imágenes con redes neuronales artificiales?

¿Por qué elegiría algoritmos de selección de características sobre la reducción dimensional?

¿El sobreajuste en un conjunto de datos implica que el modelo realmente puede aprender y generalizar sobre ese conjunto de datos, pero desafortunadamente demasiado entrenado?

¿Cómo se compara Core ML con TensorFlow?

¿Cómo está bien si me resulta difícil recordar todo después de terminar el curso de aprendizaje automático?

¿Cuál es la diferencia entre agrupar sin PCA y agrupar con PCA?

¿Cuáles son las diferencias entre la red neuronal artificial (informática) y la red neuronal biológica?

¿Son el aprendizaje automático / aprendizaje profundo / ciencia de datos, realmente ciencia espacial para que un tipo promedio entienda e implemente?

¿La investigación actual sobre el procesamiento del lenguaje natural gira principalmente en torno al aprendizaje profundo? Si no, ¿cuáles son las técnicas modernas alternativas?

¿Cuál es el orden para aprender a usar los campos aleatorios de Markov para el procesamiento de imágenes?

¿Cuál es la explicación de la causa de la explosión y desaparición del gradiente de red neuronal recurrente RNN?

¿Qué se debe considerar al decidir entre usar un algoritmo de filtrado colaborativo basado en el usuario y en el elemento?

¿Cómo aprende IBM Watson de los libros y documentos médicos?