Skip to contents

Alojar un hub de pronóstico con GitHub

Un hub de pronóstico es un portal centralizado de datos que apoya actividades semanales de pronóstico. En este taller usamos el ecosistema Hubverse para construir un hub de pronóstico que vive en GitHub. El hub almacena y archiva tanto datos de entrenamiento como resultados de pronóstico, y permite generar reportes semanales de pronóstico a partir de esos archivos.

Nuestro objetivo aquí es configurar un hub para una sola persona que ejecuta el flujo de trabajo de pronóstico. Como está construido dentro del ecosistema Hubverse, sin embargo, el mismo hub puede extenderse a un hub colaborativo con múltiples equipos y conectarse con un panel, todo con cambios mínimos a lo que construirá hoy.

Prerrequisitos

Crearemos un hub de pronóstico durante el taller. Complete los siguientes pasos antes del taller.

1. Crear o abrir su cuenta de GitHub

Siga estas instrucciones para crear una cuenta de GitHub. Una cuenta gratuita es suficiente.

2. Instalar GitHub Desktop

GitHub Desktop es una aplicación gráfica para interactuar con Git y GitHub. Simplifica las tareas de control de versiones, lo que facilita administrar repositorios y dar seguimiento a cambios sin usar la línea de comandos.

Primero, descargue GitHub Desktop. Una vez instalado en su computadora, abra la aplicación e inicie sesión con la cuenta de GitHub que creó en el Paso 1.

Después, autorice a GitHub Desktop para acceder a su cuenta de GitHub.

La página de autorización en su navegador
La página de autorización en su navegador

3. Descargar los archivos de configuración del hub

Descargue hub-setup-files.zip desde la página Descargas.

El ZIP contiene los datos de series de tiempo de Hubverse, archivos de resultados de pronósticos anteriores, el reporte semanal de Quarto y la configuración del flujo de trabajo de GitHub Actions.

Después de descargarlo, descomprima el archivo y mantenga juntos los archivos extraídos en una carpeta. En Windows, haga clic derecho en el archivo ZIP y elija Extract All; en macOS, haga doble clic en el ZIP.

Crear un hub en GitHub

1. Crear un hub usando una plantilla de Hubverse

Use este enlace y haga clic en el botón Use this template.

Se abrirá una página donde deberá ingresar un Repository name. Ese será el nombre de su hub. También verá la opción de hacer que el repositorio sea público o privado. Si los datos que va a pronosticar son sensibles, elija privado (en este taller usaremos un repositorio privado). Luego haga clic en Create repository.

2. Mover el hub remoto a la computadora local

En este momento, su hub existe de forma remota en GitHub. Para trabajar con él, deberá conectarlo con su computadora local mediante una clonación, que crea una copia local que permanece vinculada a la versión remota.

Solo necesita hacer esto una vez. Haga clic en el botón verde Code y luego seleccione Open with GitHub Desktop.

Su navegador le preguntará si desea abrir GitHub Desktop. Haga clic en Open GitHubDesktop.exe.

GitHub Desktop se abrirá y mostrará un mensaje. En Local path, verá dónde se guardará el hub en su computadora. Luego haga clic en Clone.

Si navega hasta esa ruta de archivos, verá las mismas carpetas y archivos que están en el hub remoto, ahora en su computadora local. Si tiene problemas para encontrar dónde se clonó el hub, vuelva a GitHub Desktop, haga clic en Repository en la barra de menú superior y seleccione Show in Explorer (Windows) o Show in Finder (Mac).

3. Configuración inicial de carpetas

A continuación, configure las siguientes carpetas.

Advertencia: Revise que los nombres de las carpetas no tengan errores de tipeo. Todos los nombres de carpetas deben estar en minúsculas.

Nota: Usará los archivos que extrajo de hub-setup-files.zip en la sección Prerrequisitos.

Crear una carpeta target-data

Esta carpeta contiene los datos que usará para el pronóstico.

Crear una carpeta src

Esta carpeta contiene archivos de programación, como scripts de R o archivos .qmd, que ejecutará como parte del flujo de trabajo. Mueva el archivo forecasting-weeklyreport.qmd desde hub-setup-files.zip a la carpeta src.

Crear una carpeta .github y una subcarpeta workflows dentro de .github

Esta carpeta contiene el archivo de configuración que le indica a GitHub qué archivos debe ejecutar. Mueva el archivo weeklyreport_run.yaml desde hub-setup-files.zip a la carpeta workflows.

Usuarios de Mac: Es posible que Finder no le permita crear una carpeta que comience con un punto (.). Si eso ocurre:

  1. Abra Terminal (presione Cmd + Spacebar, escriba “Terminal” y presione Enter).
  2. Escriba mkdir -p /path/to/your/hub/.github/workflows y presione Enter. Por ejemplo: mkdir -p /Users/epuser/Documents/MyHub/.github/workflows.
  3. La carpeta .github puede quedar oculta después de crearla. Para mostrarla: vaya a la carpeta del hub clonado en Finder, haga clic derecho en la carpeta .github, elija Get Info y desmarque Hidden en el panel que se abre.

Crear una carpeta microhub dentro de model-output

La carpeta model-output es donde van los resultados semanales de pronóstico. Como estos pronósticos vienen de la herramienta MicroHub, cree una subcarpeta microhub y coloque allí todos los archivos de pronóstico generados por MicroHub.

Para este ejercicio, suponga que los pronósticos ya se generaron durante las seis semanas anteriores, como si los hubiera estado ejecutando y enviando semanalmente. Agregue los siguientes archivos a la carpeta microhub:

  • microhub-output_2026-05-16.csv
  • microhub-output_2026-05-23.csv
  • microhub-output_2026-05-30.csv
  • microhub-output_2026-06-06.csv
  • microhub-output_2026-06-13.csv
  • microhub-output_2026-06-20.csv

Sincronizar el hub local con el hub remoto

Ahora que la configuración inicial está completa, sincronice su computadora local con el hub remoto para que ambos estén actualizados. Usaremos GitHub Desktop:

  1. Vuelva a GitHub Desktop y haga clic en Fetch en la parte superior para actualizar.
  2. Ingrese un mensaje de commit que describa los cambios; por ejemplo, initial set up.
  3. Haga clic en Commit to main. Esto guarda todos los cambios que hizo, de forma similar a guardar un archivo.
  4. En el mismo lugar donde estaba Fetch, ahora verá Push. Haga clic allí para subir sus cambios locales al hub remoto, de modo que ambos queden sincronizados.

Nota: A menos que tenga previsto extender este hub a un hub colaborativo completo o construir un panel usando el ecosistema Hubverse, no necesita tocar las carpetas hub-config ni model-metadata. Si le interesan estas funciones, avísenos y podemos ayudarle a configurarlas.

Ejercicio: recorrer el flujo semanal de pronóstico

1. Preparar los datos para el pronóstico

Habitualmente, los datos que se van a pronosticar se extraen en un horario fijo cada semana. Suponga que estamos en la semana 26 de 2026 (21 al 27 de junio) y que estamos trabajando con datos de SARI de un país en la Zona Epidémica E. Los datos ya se extrajeron de la base de datos y se limpiaron para que estén listos para la herramienta MicroHub: ese es el archivo microhub-target.csv de hub-setup-files.zip.

El otro archivo es time-series.csv. Contiene el mismo tipo de datos que microhub-target.csv, pero con el historial archivado: el archivo microhub-target.csv de cada semana se agrega a time-series.csv una vez que se carga. Suponga que hemos estado archivando datos desde enero de 2026, por lo que time-series.csv ya contiene 26 semanas de datos agregados.

Coloque ambos archivos, microhub-target.csv y time-series.csv, dentro de la carpeta target-data.

2. Ejecutar el pronóstico con MicroHub

Cargar datos

En MicroHub, elija microhub-target.csv desde la carpeta target-data de su hub. Supongamos que normalmente pronosticamos los miércoles. El miércoles de la semana 26 es 2026-06-24, así que seleccione esa fecha para Forecast Date. Al observar la serie de tiempo del año actual, conviene excluir las dos semanas más recientes de la entrada del modelo, debido a sospechas de actualización tardía de datos. Para este ejercicio, elija cualquier país de la Zona E y deje el resto de los ajustes en sus valores predeterminados. Haga clic en Run All Models.

Ejecutar el ensamble

Después de que todos los modelos individuales hayan terminado de ejecutarse, es momento de ejecutar el modelo de ensamble. Vaya a la pestaña Ensemble, seleccione los tres modelos individuales (INFLAenza, Copycat y newGBQR), y haga clic en Run Ensemble.

Resultado del pronóstico

Una vez que todos los modelos hayan terminado de ejecutarse, descargue el resultado del pronóstico desde la herramienta. Se descargará como microhub-output_2026-06-27.csv. Mueva ese archivo a la carpeta model-output/microhub de su hub local.

Sincronizar con el hub remoto

Una vez más, sincronice su computadora local con el hub remoto para que ambos estén actualizados:

  1. Haga clic en Fetch para actualizar.
  2. Ingrese un mensaje de commit que describa los cambios; por ejemplo, 2026-06-27 forecasting.
  3. Haga clic en Commit to main.
  4. Haga clic en Push para subir sus cambios locales al hub remoto.

3. Generación del reporte semanal

Ejecutar el flujo de trabajo de GitHub Actions

Vuelva a su hub remoto en GitHub y confirme que el envío de pronóstico 2026-06-27 esté allí. Luego haga clic en la pestaña Actions. En el panel izquierdo, seleccione el flujo de trabajo Run weekly report y haga clic en Run workflow. Tardará unos minutos en completarse. Cuando termine, verá una marca de verificación verde.

Sincronizar de vuelta a su computadora local

Puede confirmar que el reporte semanal se generó revisando su hub remoto. Como se generó en GitHub, el hub remoto tiene el nuevo reporte, pero su computadora local todavía no lo tiene; por eso deberá volver a sincronizarlo:

  1. Haga clic en Fetch para actualizar.
  2. En el mismo lugar donde estaba Fetch, ahora verá Pull origin. Haga clic allí para traer los cambios del hub remoto a su computadora local.
  3. Abra el reporte semanal desde la carpeta local de su hub.