Presentación
Python es un lenguaje de programación de código abierto, cuya sintaxis es muy fácil de utilizar y aprender, es un lenguaje multiplaforma con una extensa cantidad de herramientas aplicables en distintas áreas de estudio, y es en la actualidad uno de los lenguajes mas utilizados por programadores dado que tiene un continuo proceso de actualización y de contar con una extensa comunidad de usuarios.
Objetivos
El presente módulo tiene como objetivo proporcionar a los participantes los conocimientos básicos requeridos para poder entender y desarrollar scripts en el lenguaje de programación Python y así automatizar procedimientos en análisis de datos hidrológicos.
Programa del Curso
Sesión 1: Instalación, entorno de programación y sentencias de control de flujo con Python
Descarga e instalación de Miniconda.
Configuración de Miniconda e instalación de Jupyter Notebook.
Descripción del entorno Jupyter Notebook y conceptos básicos de programación.
Operaciones básicas con Python .
Descripción de listas, tuplas y diccionarios.
Sentencias de control de flujo condicional e iterativo.
Sesión 2: Manipulación de datos de precipitación usando la librería Pandas
Uso del modulo Pandas.
Lectura, escritura y guardado de archivos (Excel, csv, txt, etc.)
Filtrado de dataframes en filas y columnas
Análisis de datos usando estadística descriptiva.
Agrupación de datos por estaciones meteorológica.
Exportación de resultados
Sesión 3: Análisis y visualización de datos hidrológicos
Análisis de datos hidrológicos: gráfico y consistencia.
Definición y aplicación de funciones en Python.
Análisis estadístico de variables climáticas.
Generación de series temporales de precipitación usando la librería Matplotlib.
Generación de gráficas 3D asociando variables climáticas.
Análisis de consistencia en la media y desviación estándar.
Sesión 4: Análisis de caudales y Indicadores estadísticos de eficiencia.
Análisis histórico de datos de caudales.
Generación de Box plots para analizar la estacionalidad de los caudales.
Descripción de los principales indicadores estadísticos.
Desarrollo aplicativo de un script para determinar los principales indicadores estadísticos de eficiencia, como: coeficiente de Nash, coeficiente de correlación de Pearson (r), volumen relativo al sesgo, error medio cuadrático, coeficiente de determinación R2.
Visualización de datos de caudales observados y simulados con resultados de indicadores estadísticos.
Sesión 5: Completación de datos faltantes de precipitación con Python y Scikit-Learn
Definición y creación de un modelo de regresión lineal mediante el método de mínimos cuadrados.
Generación de una gráfica que muestra línea de ajuste y valores de respuestas de datos de precipitación.
Interpretación de parámetros del modelo de regresión lineal y creación de la grafica de residuos.
Definición de redes neuronales.
Uso del modulo Scikit-learn en Python.
Aplicación de las redes neuronales para completar datos de precipitación.
Capacitadores
Ing. Henry Gómez
Especialista en Hidrología e Hidráulica
Ingeniero Agrícola de la Universidad Agraria la Molina, con varios años de experiencia en consultoría técnica en hidrología, diseño de obras hidráulicas y manejo de sistemas de información geográfica. Actualmente cursa la maestría de Recursos Hídricos de la Escuela de Post Grado de la UNALM, enfocado al uso, manejo y gestión del agua.
En el ámbito profesional, se ha especializado en el manejo de diversos software para el modelamiento hidrológico e hidráulico, tales como RS Minerve, HEC-HMS, HEC-RAS, además de tener dominio en el manejo de herramientas de información geográfica.
Formación:
Formación en modelamiento hidrológico.
Consultor en hidrología e hidráulica.
Consultor en formulación de proyectos.
Experiencia en trabajos en campo, realizando aforos, diagnóstico de características fisiográficas de cuencas y levantamientos topográficos.
Ing. Richard Gómez
Especialista en Telecomunicaciones de la Universidad Nacional de Ingeniería, con experiencia en la elaboración de programas para manipulación de datos y modelamiento predictivo.
En el ámbito profesional, se ha especializado en el manejo del lenguaje de programación Python y sus librerías para Data Science y Machine Learning, tales como Pandas, Numpy, Scikit-learn, además de tener dominio en otros lenguajes de programación (C++, Java, NodeJS, GO), manejo de Bases de Datos (SQL y no SQL) e APIs.
Formación:
Algoritmos y estructuras de datos
Métodos estadísticos y estocásticos
Programación orientada a objetos
Data Science