|

Ingeniería de datos – estructurando el caos ferroviario

De manuales de taller en PDF y partes de trabajo en papel a un Data Lake estructurado en JSON.

El desafío de los datos «sucios«.

En la industria ferroviaria, los datos raramente vienen limpios. Lo habitual es encontrar Documentación técnica (ITs) en PDF, partes de taller manuscritos o en Excel desconectados, o logs de sensores sin procesar.

Para este proyecto, he simulado este entorno real creando un Pipeline de ingesta (en Python), que normaliza estas fuentes dispares en una estructura maestra unificada.

Arquitectura de datos (esquema JSON).

He diseñado un esquema de datos relacional ligero para alimentar la aplicación web sin necesidad de una base de datos pesada (SQL) para la demo, pero manteniendo la integridad referencial necesaria para el análisis.

Entidades principales.

1.  El parque de Uts (`fleet`):

    Cada unidad tiene un ID único (`trainId`), tipo (`type`) y estado actual.

    «`json

    { «id»: «465-228», «type»: «Civia», «status»: «Operational», «kms»: 120500 }

    «`

2.  El histórico (`historicalData`):

Aquí reside la inteligencia. En lugar de guardar «averías», se guardan eventos. Cada evento tiene metadatos enriquecidos:

    *   `risk`: el score calculado por el modelo.

    *   `correlation_type`: la razón del fallo (térmico, uso, vibración).

    *   `cost_impact`: el coste estimado si no se actúa.

Limpieza y normalización.

Un paso crítico fue la anonimización y normalización. Uno de los problemas es que los talleres suelen tener nombres distintos para lo mismo («Taller de componentes Norte», «Base Mantenimiento N»).

Para solucionarlo, estandaricé a códigos de operador (`MEC-01`, `ELE-01`) para permitir agregaciones (group by) limpias en los cuadros de mando.

Preparando el terreno para ML

Estructurar los datos de esta manera me facilitó enormemente el siguiente paso: el Machine Learning. Al tener `temp` y `failure_risk` en la misma fila de datos temporal, entrenar un modelo se convierte en una tarea directa, a diferencia de lo complejo que es intentar correlacionar Excel con PDFs.

En el próximo artículo, mostraré cómo uso Python para generar «datos sintéticos avanzados» que imitan la realidad operativa para entrenar nuestro motor predictivo.

Este es el segundo de los cinco artículos que he redactado acerca del proyecto KPI Ferroviaria, si no has leído el anterior, te dejo el enlaces para el primero.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *