Mapa de la lección
Lección 04 publicada. Mapa, ejemplo, EX021.
flowchart TD
N0["Resultados de aprendizaje y conexión"]
N1["4.1 Términos"]
N2["4.2 Diagnóstico de una reproducción fallida: TankBen"]
N3["4.3 Verificación del simulador"]
N4["4.4 Ajuste sin filtración: laboratorio 6"]
N5["4.5 Un piloto acotado en el banco de pruebas T2"]
N6["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
N6 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX021"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje y conexión"]
N1["4.1 Términos"]
N2["4.2 Diagnóstico de una reproducción fallida: TankBen"]
N3["4.3 Verificación del simulador"]
N4["4.4 Ajuste sin filtración: laboratorio 6"]
N5["4.5 Un piloto acotado en el banco de pruebas T2"]
N6["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX021"]
[Resultados de aprendizaje y conexión]
|
v
[4.1 Términos]
|
v
[4.2 Diagnóstico de una reproducción fallida: TankBen]
|
v
[4.3 Verificación del simulador]
|
v
[4.4 Ajuste sin filtración: laboratorio 6]
|
v
[4.5 Un piloto acotado en el banco de pruebas T2]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX021]
Resultados de aprendizaje y conexión
Después de este capítulo usted podrá (1) distinguir reproducción, replicación y reimplementación, (2) diagnosticar por qué no puede reproducirse un resultado publicado de detección en TO, (3) verificar un simulador de procesos antes de confiar en él, (4) diseñar un piloto acotado en una instalación aislada y (5) tomar una decisión de continuar o no continuar declarada de antemano. Toma las hipótesis del capítulo 3 y prepara el estudio principal del capítulo 5.
4.1 Términos
La política de distintivos de artefactos de la ACM distingue la repetibilidad (mismo equipo, misma configuración), la reproducibilidad (otro equipo, mismos artefactos) y la replicabilidad (otro equipo, artefactos propios). En TO difieren mucho porque las plantas, los controladores y los conjuntos de datos rara vez pueden compartirse. Fije su vocabulario antes de afirmar cualquiera de ellas. En el Setpoint Study, volver a ejecutar el laboratorio 3 con el mismo código y las mismas semillas es repetibilidad. Un colega que ejecuta el código archivado es reproducibilidad. El trabajo sobre TankBench-21 es una reimplementación a partir de la descripción del artículo, más cercana a la replicación. Decirlo con precisión evita que un revisor lea una nueva puntuación como una confirmación independiente del resultado original.
4.2 Diagnóstico de una reproducción fallida: TankBench-21
El banco de pruebas sintético TankBench-21 informa un F1 de 0,96 para una alarma de banda más tasa de cambio. La reimplementación del candidato obtiene 0,31. Un diagnóstico disciplinado enumera hipótesis y prueba cada una: (a) convención de puntuación: el artículo usó ajuste por puntos (el laboratorio 1 muestra que esto solo puede explicar una diferencia de este tamaño); (b) filtración del umbral: los umbrales se eligieron con la partición de prueba; (c) alineación de etiquetas: las etiquetas de ataque empiezan cuando se lanzó el script de ataque, no cuando el proceso se desvió por primera vez; (d) muestreo: el artículo submuestreó a 10 s, lo que suaviza el ruido. Volver a puntuar con ajuste por puntos da 0,94, dentro de una tolerancia declarada de antemano de ±0,05, así que la reproducción «tiene éxito», pero tiene éxito en reproducir una métrica inflada. La tesis registra ambas cifras y adopta la exhaustividad por eventos más el retardo.
4.3 Verificación del simulador
La verificación pregunta si el modelo está bien construido; la validación pregunta si es el modelo correcto (vocabulario estándar de modelado). Las pruebas de verificación del tanque del laboratorio 3 incluyen: equilibrio en 50,0 con el caudal de entrada nominal (comprobación analítica); conservación de la masa durante 1.000 pasos sin ruido; media del residuo cercana a cero sin ataque; y semillas que producen trazas idénticas en dos máquinas. Un detector evaluado en un simulador no verificado se evalúa en un sistema desconocido. Escriba cada prueba de verificación como código que falle de forma ruidosa y ejecute el conjunto antes de cada lote de experimentos. Si la comprobación del equilibrio falla tras un cambio en el término de caudal de salida, ningún resultado de detector de esa versión es utilizable hasta que la prueba pase. Conserve la salida de las pruebas con los registros de las ejecuciones para que un examinador pueda ver que la verificación precedió a los resultados que respalda.
4.4 Ajuste sin filtración: laboratorio 6
El CUSUM tiene dos parámetros, la holgura k y el umbral h. Ajústelos con semillas separadas de las semillas de evaluación y examine la robustez frente al error del modelo. El laboratorio 6 barre k y añade un sesgo constante de calibración del sensor de nivel de 0,4 unidades, un desajuste realista entre el modelo y el instrumento.
# Lab 6 (synthetic): CUSUM drift k vs. false alarms and detection delay - the tuning trade-off reviewers ask about.
import random
def first_alarm(seed, attack, k, h=6.0, steps=600, onset=300, bias=0.0):
rng = random.Random(seed); true, est, s = 50.0, 50.0, 0.0
for t in range(steps):
inflow = 1.0 + rng.gauss(0, 0.05) + (0.05 if attack and t >= onset else 0.0)
true += inflow - 0.02*true
lvl = true + rng.gauss(0, 0.3) + bias
if attack and t >= onset: lvl = 50.0 + rng.gauss(0, 0.3) + bias
est += inflow + rng.gauss(0, 0.02) - 0.02*est
s = max(0.0, s + abs(lvl - est) - k)
if s > h: return t
return None
for bias in (0.0, 0.4):
for k in (0.4, 0.6, 0.8, 1.0):
fa = sum(first_alarm(i, False, k, bias=bias) is not None for i in range(100))
d = [a-300 for a in (first_alarm(i, True, k, bias=bias) for i in range(100)) if a is not None and a >= 300]
print(f"bias={bias} k={k} false_alarm_runs={fa}/100 detected={len(d)}/100 mean_delay={sum(d)/len(d) if d else float('nan'):.1f}")
Salida esperada:
bias=0.0 k=0.4 false_alarm_runs=0/100 detected=100/100 mean_delay=25.6
bias=0.0 k=0.6 false_alarm_runs=0/100 detected=100/100 mean_delay=30.9
bias=0.0 k=0.8 false_alarm_runs=0/100 detected=100/100 mean_delay=38.0
bias=0.0 k=1.0 false_alarm_runs=0/100 detected=100/100 mean_delay=46.1
bias=0.4 k=0.4 false_alarm_runs=97/100 detected=19/100 mean_delay=35.4
bias=0.4 k=0.6 false_alarm_runs=4/100 detected=99/100 mean_delay=46.1
bias=0.4 k=0.8 false_alarm_runs=0/100 detected=100/100 mean_delay=55.6
bias=0.4 k=1.0 false_alarm_runs=0/100 detected=100/100 mean_delay=66.5
Con un modelo perfecto, la k más pequeña parece la mejor. Un pequeño sesgo de calibración vuelve inútil k = 0,4: 97 ejecuciones alarman antes de que empiece el ataque y solo 19 alarmas caen después del inicio. La elección defendible es k = 0,8, que cambia unos 7 pasos de retardo (frente a k = 0,6 sin sesgo) por robustez. Este es el tipo de resultado que los revisores esperan ver antes del estudio principal.
4.5 Un piloto acotado en el banco de pruebas T2
El piloto responde solo preguntas de viabilidad: ¿puede la instalación ejecutar el escenario de repetición de forma segura?, ¿puede el historiador registrar a 1 Hz? y ¿detiene la válvula de flotador el desbordamiento? Los datos del piloto no se usan para pruebas de hipótesis. Los criterios de continuar o no continuar se escriben de antemano: continuar si tres ejecuciones consecutivas se completan sin que nunca se alcance la válvula de flotador, con una pérdida de registros inferior al 1 % y sin ningún reinicio no planificado del controlador; en caso contrario, revisar. El plan del piloto también registra quién puede detener una ejecución y cómo (una parada de emergencia física que corta la alimentación de la bomba, independiente del PLC).
4.6 Errores comunes y límites
Llamar replicación a una nueva puntuación; confiar en un simulador porque «parece correcto»; ajustar con semillas de evaluación; usar datos del piloto para probar hipótesis; carecer de una parada de emergencia independiente. Cada error permite que un resultado parezca mejor de lo que es. Una nueva puntuación con ajuste por puntos solo confirma que se usó la convención original. Una traza de aspecto plausible no es una prueba de verificación superada. Las semillas compartidas entre el ajuste y la evaluación filtran información. Las ejecuciones piloto responden a la viabilidad, no a las hipótesis. Y sin una parada física que corte la alimentación de la bomba de forma independiente del PLC, el piloto no está acotado.
Ejercicios — capítulo 4
- EX021 — Términos de repetibilidad de la ACM. Clasifique tres actividades (volver a ejecutar su propio laboratorio 3, un colega que ejecuta su archivo, un colega que construye su propio modelo de tanque) según los términos de la ACM.
Mostrar criterios de evaluación
Rúbrica: 3 = repetibilidad / reproducibilidad / replicabilidad asignadas correctamente; 2 = dos correctas; 1 = una; 0 = nada. - EX022 — Registro de reproducción de TankBench-21. Escriba una entrada del registro de reproducción de TankBench-21 con las cuatro hipótesis, pruebas y resultados.
Mostrar criterios de evaluación
Rúbrica: 3 = cuatro hipótesis con pruebas/resultados, incluido ajuste por puntos→0,94; 2 = hipótesis sin resultados; 1 = parcial; 0 = nada. - EX023 — Prueba de verificación de la conservación de la masa. Escriba y ejecute una prueba de verificación de la conservación de la masa en el modelo sin ruido del laboratorio 3.
Mostrar criterios de evaluación
Rúbrica: 3 = equilibrio sin ruido≈50 y comprobación de la identidad entrada−salida; 2 = solo el equilibrio; 1 = vago; 0 = nada. - EX024 — Elija k con sesgo de calibración. Usando el laboratorio 6, elija k para una planta en la que se espera un sesgo de calibración de hasta 0,4 y justifíquelo con dos cifras.
Mostrar criterios de evaluación
Rúbrica: 3 = k=0,8 con 0/100 FA frente a k=0,6 con 4/100 FA y el compromiso de retardo; 2 = elección de k sin ambas cifras; 1 = solo k; 0 = nada. - EX025 — Criterios de continuar o no continuar del piloto en T2. Escriba criterios de continuar o no continuar para un piloto en T2 que incluyan un criterio de seguridad y uno de calidad de datos.
Mostrar criterios de evaluación
Rúbrica: 3 = seguridad (válvula de flotador), datos (<1 % de pérdida), reinicio, prueba previa de la parada de emergencia; 2 = falta uno; 1 = continuar vago; 0 = nada. - EX026 — Por qué el 0,94 reproducido no indica calidad. Explique por qué el 0,94 reproducido no es evidencia de que el detector de TankBench-21 sea bueno.
Mostrar criterios de evaluación
Rúbrica: 3 = puntuación con ajuste por puntos ≠ rendimiento en retardo/FA/turno + posible ajuste con el conjunto de prueba; 2 = una razón; 1 = «demasiado alto»; 0 = nada.
Síntesis del capítulo
Reproduzca las líneas de base con una tolerancia declarada de antemano y diagnostique las diferencias de forma sistemática; verifique el simulador; ajuste con semillas separadas y someta el resultado a pruebas de estrés frente al error del modelo; y pilote solo para la viabilidad, con una autoridad de parada física independiente.
Siga estudiando — capítulo 04 de 08
← Capítulo 03 (borrador) · Índice de capítulos del curso · Capítulo 05 (borrador) →