Investigando los procesos de toma de decisiones

Photo by Hans-Peter Gauster on Unsplash

Hace 10 años me especialicé en una rama de las matemáticas dedicada a la toma de decisiones, cursando el máster “Ingeniería de Sistemas de Decisión”. En aquella época casi nadie hablaba de “big data” ni “data mining”, aunque nosotros lo estudiábamos en el máster.

Rápidamente me di cuenta que las bases de datos con las que trabajábamos eran un poco “de juguete”. Pero lo que importaba era aprender las bases de las herramientas, cómo se usaban los algoritmos, qué teorías los soportaban, y qué tipos de análisis podíamos realizar.

Con el tiempo me di cuenta que la mayoría de decisiones en muchas empresas se basan en la propia experiencia de un grupo reducido de personas, y que pocas veces se hacen análisis de los hechos, de las tendencias, de los datos disponibles, muchos de ellos en bases de datos abiertas.

Esto era hasta que se ha puesto de moda esta terminología de “big data”. La complejidad del mundo que vivimos hace necesarios estos análisis, donde ya no es suficiente solo la experiencia de un grupo de personas, sino que necesitas algoritmos y herramientas de computación que aporten relaciones entre datos que tú no eres capaz de ver a simple vista.

Por ejemplo, la página de UCI Machine Learning Repository tiene una gran cantidad de datos con los que investigar y probar. La página de Neural Network Forecasting también tiene gran información sobre redes neuronales. La web de Statistics Views tiene también muy buenas publicaciones que puedes investigar.

La herramienta Pyomo es un paquete de código abierto para modelar aplicaciones de optimización en Python. El libro de “Pyomo — Optimization Modeling in Python” puede ayudarte en usar esta herramienta.

En realidad, hay muchísimas fuentes que puedes consultar para aprender. La Sociedad Europea de Matemáticas tiene una revista online donde puedes navegar y descubrir nuevos estudios. O también la Sociedad Española de Matemática Aplicada.

Me considero una persona generalista, no me considero especialista. Conocer un poco de muchas herramientas y disciplinas, al igual que una CEO de una empresa que hace un MBA en Dirección y Administración de Empresas, te ayuda a entender cómo unir a diferentes especialistas para construir algo juntos que de forma separada no sería posible.

En varias ocasiones he visto las “guerras” que se producían dentro del colectivo de matemáticos/as diviendo los teóricos de los prácticos. En varias ocasiones me han dicho “una matemática de verdad se dedica al estudio y evolución del conocimiento que llega al borde del conocimiento actual”. Este tipo de respuestas me cabreaban bastante, porque realmente lo que yo quería era aplicar a problemas sociales reales lo que estudiaba, y no estar encerrada en un despacho de investigadores aprendiendo complejos teoremas que solo ellos entienden y que no tienen ninguna aplicación práctica.

El libro “Model Building in Mathematical Programming” del profesor H. Paul Williams se centra en un tipo de modelos matemáticos que normalmente se calsifican como: programación linear (linear programming, LP), programación no-lineal (non-linear programming, NLP) y programación entera (integer programming, IP).

La primera edición de este libro se publicó en 1978. El profesor H.P. Williams, tiene un proyecto con el que me siento identificada desde que terminé la facultad de matemáticas. Cuando terminé la facultad, sentía que faltaba mucha aplicación práctica al mundo real de todos los modelos teóricos.

H.P. Williams, en su trabajo en IBM, aprendió que el 40% de modelos inciales, construidos por clientes, no se podían llevar a cabo, y otro 40% no tenían límites definidos. Muchos eran imprecisos y poco claros para entenderlos. Este libro muestra ejemplos prácticos de la vida real donde aplicar modelos matemáticos, como por ejemplo aplicación en biología molecular.

He programado en Java, en R, en Matlab, en Minitab, en WinQSB, en Web-HIPRE, en GeNIe, etc. Y te das cuenta que hay muchos paralelismos entre diferentes lenguajes. Lo importante, es aprender la base, la esencia que soporta la lógica por debajo del lenguaje. La mayoría tiene paquetes, lo que se conoce en esta jerga como APIs, donde ya hay funciones programadas que hacen tareas que tú puedes usar, algo así como un paquete de piezas de lego con las que construir lo que tú quieres. Los bloques son la base. Tu creatividad e ingenio combinándolos, permite el potencial de las creaciones que puedes crear juntándolos de diferentes formas.

Tal y como comenta el profesor H.P. Williams, aunque se está realizando un gran trabajo en la potencia computacional de las máquinas que usamos, y la usabilidad de las aplicaciones que desarrollamos, la parte más importante en la aplicación práctica de estas herramientas es entender en profundidad el problema y su modelización matemática.

En base a la experiencia que tengo en el diseño de experiencias de usuarios y clientes con el uso de tecnología, añado a este comentario, que es importante entender para qué hacemos lo que hacemos y sobre qué lo construimos. Primero define las preguntas que quieres responder y luego explica cómo las vas a responder.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.