El bucle rojo/verde (medida vs umbral)
🟡 Parcial — El caveat de potencia estadística (SUBPODERADO) es advisory en v1: se señala, no tumba el gate.
Un control asocia una métrica con un umbral y una condición de bloqueo. El estado del control —rojo o verde— es el estado del ciclo de tratamiento para ese riesgo.
Qué define un control
Sección titulada «Qué define un control»Un control consta de tres elementos:
- Métrica — el valor medido (diferencia de paridad demográfica, métrica de sesgo, cobertura de prueba, etc.)
- Umbral — el valor límite declarado en
sei.yaml, derivado del apetito de riesgo - Modo —
blocking(tumba el gate si falla) oadvisory(señala el fallo, no bloquea)
El gate de riesgo es la conjunción de todos los controles blocking. Si alguno está en rojo, sei run devuelve exit ≠ 0 aunque la evidencia quede igualmente anclada y firmada.
Ejemplo real: el loan y la paridad demográfica
Sección titulada «Ejemplo real: el loan y la paridad demográfica»El escenario loan (crédito al consumo, EU AI Act Anexo III §5) mide la diferencia de paridad demográfica (demographic_parity_diff, diferencia de tasas de aprobación entre grupos de género) como control de sesgo. El gate pasa si < 0.03.
En la ejecución demostrada:
métrica medida: demographic_parity_diff = 0.0151umbral declarado: 0.03estimación puntual: PASA (0.0151 < 0.03)Sin embargo, el motor calcula un intervalo de confianza (IC) por bootstrap cluster-aware al 95%:
IC bootstrap [0.001, 0.072]El extremo superior del IC —0.072— cruza el umbral 0.03. La estimación puntual pasa el gate, pero el tamaño muestral es insuficiente para distinguir el estimador del umbral. El motor emite la advertencia SUBPODERADO.
Fiabilidad estadística: IC, no solo estimación puntual
Sección titulada «Fiabilidad estadística: IC, no solo estimación puntual»Informar únicamente la estimación puntual es una práctica insuficiente en sistemas de alto riesgo: un IC amplio puede ocultar que el sistema “pasa” el umbral por azar estadístico.
El motor sei reporta intervalos de confianza por control:
- Bootstrap cluster-aware — cuando las observaciones no son independientes (p.ej., varias imágenes por paciente en el caso médico), el bootstrap se estratifica por clúster (paciente) para producir un IC que respeta la dependencia intra-clúster.
- Umbral cruzado — si el IC cruza el umbral, el motor emite
SUBPODERADOcon el IC explícito, independientemente de la estimación puntual.
Este patrón se aplica tanto al escenario loan (por muestra) como al escenario médico (por paciente).
El “refactor” es el tratamiento
Sección titulada «El “refactor” es el tratamiento»Cuando un control está en rojo, el siguiente paso es elegir el tratamiento de menor coste que lleve la métrica al verde. Las opciones disponibles —cambio de código, ajuste de parámetro, cambio de dataset— están descritas en Modalidades de tratamiento.
El tratamiento comprometido en git es el acto que cierra el ciclo y desplaza el estado del control de rojo a verde en la siguiente ejecución de sei run.