La gestión de crisis. Cómo puede ayudar el código abierto
Si viniste a Linux Adictos tratando de escapar del bombardeo mediático sobre el Coronavirus, entraste en el post equivocado. La oportunidad de describir las excelentes herramientas disponibles bajo licencias de software libre y de código abierto, es demasiado buena para dejarla escapar.
La verdad es que entre las consecuencias del cambio climático, los errores humanos y los virus mutantes, uno debería tener esta lista siempre a mano.
En este primer artículo nos vamos a dedicar a lenguajes de programación de propósito específico o de propósito general que pueden resultar útiles en momentos de peligro. En los que siguen iremos subiendo en especificidad.
La gestión de crisis. Por qué es importante usar software libre y de código abierto
Hace años tuve oportunidad de conocer a la responsable de compilar estadísticas para un servicio de medicina general. Estamos hablando de uno de los más importantes hospitales universitarios de Argentina. Esta persona me mostró muy orgullosa su manejo de las funciones de base de datos de Excel. Cuando le pregunté por qué no usaba Access me miró como si le hubiera hecho alguna propuesta sexual particularmente degenerada.
De más está decir que la información que obtenía ese servicio era incompleta, tardía e imposible de compartir fácilmente.
Lo cierto es que en momentos de crisis la rápidez en la obtención, procesamiento y distribución de la información es primordial. Esto incluye
- Formularios fáciles de completar
- Interoperabilidad de las bases de datos
- Flexibilidad en el procesamiento de la información
- Capacidad de representación de los resultados en forma legible
No voy a caer en la obviedad de proponer reemplazar Microsoft Office por LibreOffice, ustedes no me necesitan para darse cuenta de eso. De lo que estoy hablando es de que los responsables de la compilación de estadísticas deberían tener conocimientos básicos de algunos de los lenguajes de programacion con funciones estadísticas. Por ejemplo:
R
R es un lenguaje y un entorno para ser utilizado en computación estadística y creación de gráficos.
R proporciona una amplia variedad de técnicas estadísticas (modelización lineal y no lineal, pruebas estadísticas clásicas, análisis de series temporales, clasificación, agrupación y gráficas.
Python
Python es el Aloe Vera de los lenguajes de programación. Es muy fácil de aprender, lo soportan todas las plataformas y dispone de un montón de librerías para trabajar con datos. Algunas de ellas son:
Pandas
Pandas es una biblioteca para Python que proporciona estructuras de datos y herramientas de análisis de datos de alto rendimiento y fáciles de usar. El nombre no tiene nada que ver con los osos. Pandas es la sigla en inglés de Biblioteca de Análisis de Datos en Python.
La librería está diseñado para una rápida y fácil manipulación, lectura, agregación y visualización de datos. Usando Pandas es posible recolectar los datos de un archivo CSV o TSV o de una base de datos SQL y crear un objeto Python con filas y columnas llamado marco de datos. El marco de datos es muy similar a una tabla en un software estadístico.
Seaborn
Aquí tenemos una biblioteca de visualización de datos que proporciona una interfaz de alto nivel para dibujar gráficos estadísticos atractivos e informativos.
Podemos utilizar Seaborn para:
- Determinar las relaciones entre múltiples variables (correlación)
- Observar las variables categóricas para las estadísticas agregadas
- Analizar las distribuciones univariantes o bivariantes y compararlas entre diferentes subconjuntos de datos
- Trazar modelos de regresión lineal para las variables dependientes.
Julia
Julia es un lenguaje de programación de propósito general, aunque es cada vez más utilizado por científicos e ingenieros por sus capacidades de gestión de datos y su entorno amistoso y rico en características que incluye: muchas opciones para la visualización y el trazado de datos, fácil manejo de conjuntos de datos con opciones interactivas en tiempo real, versátiles librerías para machine learning y características de computación paralela.
Además de las librerías creadas en forma nativa para la manipulación de datos, realización de operaciones matemáticas, y las específicas para BigData, el lenguaje de programación Julia, también soporta el uso de paquetes de Python, R, C/Fortran, C++, y Java.