Pablo Reyes

Científico de Datos · Universidad Mayor · Santiago, Chile

Este perfil reúne trabajo y proyectos propios ordenados por el tipo de problema que resuelven: pronosticar, detectar lo anómalo, anticipar fallas, medir causas, optimizar, gestionar riesgo, ordenar datos y trabajar con texto e imágenes. La idea es mostrar las distintas formas en que un científico de datos puede ayudar a una organización, en minería, energía, finanzas, retail o pensiones.

En todos sigo las mismas reglas: el código corre de principio a fin, las cifras salen de esa corrida, casi todos tienen tests y CI, y los resultados negativos se publican igual que los positivos.

Proyectos destacados

Cuatro proyectos con datos reales y un hallazgo que no era el esperado.

Cambiarse de fondo de pensiones en pánico

datos reales

24 años de valores cuota diarios, en UF. Cambiarse al fondo E en el piso de una caída resta 1,9 puntos de rentabilidad real al año; cambiarse antes logra el mismo Sharpe que una mezcla fija: no es acertar el momento, es tener menos renta variable.

duckdbcounterfactual-analysisbehavioral-finance

Impacto causal en una flota minera

real + simulado

¿Funcionó el programa de mantenimiento, y en qué camiones? Con sensores reales de 60.000 camiones Scania, el DRLearner por defecto colapsa (r = −0,01); se aisló la causa y se recupera a 0,61–0,79.

causal-inferenceeconmldifference-in-differences

Herramienta abierta

datoschile: datos públicos de Chile en una línea

Librería de Python para bajar la UF, el dólar, el cobre, los valores cuota de las AFP y la morosidad bancaria de la CMF, limpios y en un DataFrame. Corrige errores reales de las fuentes, como el dólar filtrado en la UF en 2014 o los tres formatos de los Excel de la CMF, y cada semana verifica que las fuentes no hayan cambiado.

import datoschile as dc

dc.indicadores.uf(desde=2020)
dc.pensiones.indice(fondos="A", desde=2008, real=True)
dc.cmf.morosidad(solo_sistema=True)
pythonpandasopen-datadata-cleaning

Experiencia

Control de combustible de una flota de buses

trabajo real, datos de ejemplo ficticios

Cada uno de los 17 terminales llevaba el combustible en su propio Excel. Primero hice un script en Python que une las planillas, calcula los km por litro de cada bus contra su carga anterior y marca las que quedan fuera del rango de su modelo. Después, una app en AppSheet que reemplazó las planillas: el operador registra cargas, pistolas y estanques desde el celular, y la app calcula consumo por pistola, stock teórico y AdBlue. Al revisar el código corregí tres errores: fechas mal ordenadas entre meses, buses que quedaban sin rango por cómo estaba escrita la norma, y la primera carga de cada bus marcada por error.

pythonpandasappsheetexceldata-cleaning

Proyectos por tipo de problema

34 proyectos. Cada uno indica si usa datos reales o simulados.

1.Pronosticar lo que viene

Volatilidad del cobre

datos reales

14 años de precios reales de la LME: GARCH(1,1) tiene el mejor QLIKE y solo HAR-X, con el VIX y el dólar, lo empata. CatBoost ajustado en cada fold no le gana.

garchcatboostshap

2.Detectar fraude y anomalías

Anomalías en compras públicas

datos reales

13,7 M de líneas de ChileCompra: las Compras Ágiles se acumulan bajo el tope y la acumulación se movió con la ley, pero casi no hay señal de compras partidas. Isolation Forest encuentra el 38,8% de las anomalías plantadas revisando el 5%.

public-procurementbunchingisolation-forest

3.Anticipar fallas de equipos

Falla desde señal continua

real + simulado

Rodamientos (NASA IMS) y señal sísmica (LANL): features espectrales con boosting le ganan 2,7× a una CNN.

remaining-useful-lifesignal-processingfft

4.Medir causas y evaluar decisiones

Fondos de pensiones

datos reales

Una señal de régimen que "ganaba" 1,4–2,3% al año empata en Sharpe con una mezcla fija fuera de muestra. En UF, 2021–23 cayó 26%.

duckdbcounterfactual-analysispensions

5.Optimizar operaciones

Planta de flotación

datos reales

Planta real de hierro: el R² 0,83 de una partición al azar es -0,43 en orden temporal; solo con laboratorio reciente se le gana a la persistencia, y cuatro modelos recetan pH opuestos.

soft-sensorwalk-forwardoptimization

6.Medir y gestionar riesgo financiero

7.Ordenar y preparar los datos

8.Clasificar y estimar

9.Texto, lenguaje e imágenes

Herramientas

LenguajesPythonSQLRC++CC#JuliaGoRubyDatospandasPolarsNumPyDuckDBdbtParquetPydanticJupyterML y estadísticascikit-learnLightGBMXGBoostCatBoostPyTorchSciPyOptunaPlotlyLenguaje, visión y edgeLangChainHugging FaceUltralytics YOLOONNXRaspberry PiProducciónFastAPIStreamlitMLflowDockerGitHub ActionspytestPrometheusGrafanaGitLinux