Verificación de predicciones · Última actualización: 2026-01-27

Control de calidad: cuando el dato también falla: cómo verlo en tablas

Si quieres detectar fallos de datos sin liarte con gráficos ni herramientas raras, las tablas son tu mejor amiga: te obligan a mirar coherencia, huecos, saltos y patrones repetidos. En QC aplicado a verificación, una tabla bien montada te chiva rápido si estás verificando contra ceros falsos, si hay unidades cambiadas, si un sensor se queda “clavado” o si una estación está mal expuesta. Aquí tienes plantillas de tablas simples (copiables a Excel/Sheets), cómo leerlas y qué conclusiones sí/NO sacar, conectándolo con métricas como bias, RMSE o CSI y con el mundo probabilístico (calibración y ensembles).

Este artículo forma parte del tema Verificación en WikiMeteo.es, donde reunimos conceptos y guías prácticas para entender mejor el tiempo y el clima.

1. Qué es y por qué importa

En verificación, una tabla sirve para dos cosas: (1) ver si el dato “tiene sentido” antes de calcular métricas y (2) localizar exactamente dónde y cuándo el dato se estropea. Si no haces esta revisión, puedes obtener un RMSE enorme por un único salto de unidad, o un bias raro por huecos tratados como cero.

2. Idea clave en 30 segundos

  • En una frase: si no puedes explicar tu tabla, no confíes en tu score
  • Señal típica: valores repetidos, ceros sospechosos, picos imposibles o timestamps raros
  • Confusión común: pensar que “más filas” = más calidad; importa qué columnas pones

3. La tabla mínima de QC (para cualquier variable)

Esta es la estructura base. Con esto ya detectas el 70% de problemas típicos.

  • timestamp (UTC o local, pero consistente): 2026-01-27 06:00
  • obs_raw: valor observado tal cual
  • obs_qc_flag: OK / SOSPECHOSO / MALO / NA
  • obs_qc_note: motivo (hueco, salto, unidad, sensor)
  • fcst: pronóstico (misma ventana)
  • diff: fcst - obs

4. Tablas específicas que detectan fallos típicos

4.1 Tabla de integridad (huecos vs ceros)

Objetivo: detectar si estás metiendo “0” donde en realidad faltan datos.

  • Columnas extra: is_missing (sí/no), is_zero (sí/no), run_length_zero (cuántos pasos seguidos a cero)
  • Lectura rápida: muchos ceros largos en episodio sospechoso = revisar

4.2 Tabla de coherencia temporal (saltos y deriva)

Objetivo: detectar escalones bruscos (step change) o deriva.

  • Columnas extra: obs_prev, delta_obs, abs_delta_obs, rolling_mean
  • Lectura rápida: un delta gigantesco sin evento asociado = unidad/corte/sensor

4.3 Tabla de coherencia espacial (comparar con vecinas)

Objetivo: ver si una estación está fuera de familia.

  • Columnas extra: obs_station, obs_neighbor_mean, zscore_like (obs - mean), n_neighbors
  • Lectura rápida: un outlier persistente = exposición/sensor

5. QPF en tablas: umbrales + CSI y bias

Para precipitación (QPF), en vez de mirar mm exactos (muy ruidoso en convectiva), se usan umbrales (p. ej. ≥1, ≥5, ≥20 mm/24h). Montas una tabla por umbral con cuatro contadores: hits, misses, false alarms, correct negatives.

5.1 Tabla de contingencia (por umbral)

  • Umbral: 20 mm/24h
  • Hit: pronóstico sí / observado sí
  • Miss: pronóstico no / observado sí
  • False alarm: pronóstico sí / observado no
  • Correct negative: pronóstico no / observado no

Con esa tabla calculas:

  • CSI: hits / (hits + misses + false alarms) → “qué parte de los casos relevantes acerté”
  • Bias (frecuencia): (hits + false alarms) / (hits + misses) → si sobrepronosticas (>1) o infra (<1)

5.2 Cómo el QC te cambia CSI/bias

  • Si hay huecos tratados como 0: aumentan false alarms → CSI cae artificialmente
  • Si un pluvio subcapta: aumentan false alarms → bias parece alto (sobrepronóstico) aunque no lo sea

6. RMSE y bias en tablas (continuo)

  • RMSE: castiga mucho un error grande (un salto de unidad te revienta la serie)
  • Bias: te dice si hay desplazamiento medio (pero no te dice si aciertas extremos)
  • Consejo: añade columna “flag_outlier” para ver qué filas dominan RMSE

7. Tabla de baseline: persistencia y climatología

Para no autoengañarte: en la tabla añade columnas de baseline.

  • baseline_persist: “mañana = hoy” (o próxima hora = hora anterior)
  • baseline_climo: valor típico (media/percentil por mes y hora)
  • Lectura: si tu modelo no mejora baseline, no hay victoria

8. Conectar con calibración probabilística y ensembles (tabla de fiabilidad simple)

Si tienes probabilidades (ensembles o forecast probabilístico), una tabla muy simple ya te dice si estás calibrado:

  • Bin de probabilidad: 0–10%, 10–20%, …, 90–100%
  • n_casos: cuántos
  • freq_obs: frecuencia observada real del evento
  • Lectura: si dices 70% y ocurre ~70%, estás bien calibrado

Ojo: esto solo vale si el “evento observado” está bien definido y el QC de referencia es razonable.

9. Errores comunes

  • No alinear ventanas (1h vs 3h vs 24h)
  • Huecos como 0
  • No guardar flags/notas QC (luego no sabes por qué cambió el score)
  • Interpretar CSI sin mirar bias
  • Olvidar baseline

10. Buenas prácticas

  • Tabla base + flags QC siempre
  • Umbrales para QPF (y operador espacial si convectiva)
  • Mirar “filas dominantes” de RMSE
  • Comparar con persistencia/climatología
  • Si hay probas, tabla de fiabilidad por bins

11. Resumen y claves finales

  • Una buena tabla detecta fallos antes de que te engañen las métricas
  • Para QPF, usa umbrales + CSI/bias
  • Para continuo, vigila outliers que dominan RMSE
  • Baseline evita autoengaños
  • Probabilístico: bins y frecuencia observada (con referencia auditada)

12. Mini-glosario

  • CSI: índice de acierto para eventos (sin contar correct negatives)
  • Bias (frecuencia): tendencia a pronosticar demasiados o pocos eventos
  • Persistencia: baseline simple usando el último valor observado
  • Hindcast: “repronóstico” histórico para evaluar de forma consistente

13. Referencias y lecturas recomendadas

  • WMO: guías de verificación y definición de métricas
  • NOAA: materiales de verificación y forecast evaluation
  • AEMET: documentación y recursos de observación/verificación