Mapa de la lección
Lección 05 publicada. Mapa, ejemplo, EX028.
flowchart TD
N0["Resultados de aprendizaje y conexión"]
N1["5.1 Diseño del experimento de simulación"]
N2["5.2 El estudio confirmatorio de simulación"]
N3["5.3 El ejercicio de mesa con operadores"]
N4["5.4 Validar el modelo"]
N5["5.5 Validación independiente en un segundo contexto"]
N6["5.6 Reportar el estudio principal"]
N7["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX028"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje y conexión"]
N1["5.1 Diseño del experimento de simulación"]
N2["5.2 El estudio confirmatorio de simulación"]
N3["5.3 El ejercicio de mesa con operadores"]
N4["5.4 Validar el modelo"]
N5["5.5 Validación independiente en un segundo contexto"]
N6["5.6 Reportar el estudio principal"]
N7["Síntesis del capítulo"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX028"]
[Resultados de aprendizaje y conexión]
|
v
[5.1 Diseño del experimento de simulación]
|
v
[5.2 El estudio confirmatorio de simulación]
|
v
[5.3 El ejercicio de mesa con operadores]
|
v
[5.4 Validar el modelo]
|
v
[5.5 Validación independiente en un segundo contexto]
|
v
[5.6 Reportar el estudio principal]
|
v
[Síntesis del capítulo]
|
v
[Ejemplo resuelto] --> [Ejercicio EX028]
Resultados de aprendizaje y conexión
Al terminar este capítulo, el estudiante será capaz de:
- Diseñar un experimento de simulación pareado con números aleatorios comunes, un número justificado de extracciones y una cota oráculo.
- Distinguir la incertidumbre de Monte Carlo de la incertidumbre de los parámetros y de la incertidumbre estructural, y decir cuál describe un intervalo reportado.
- Interpretar un patrón mixto de hipótesis sustentadas y no sustentadas sin rescatar las favorables.
- Diseñar y analizar un ejercicio de mesa a ciegas con operadores cuyo resultado sea la consecuencia de las elecciones realizadas, no la preferencia declarada.
- Validar un modelo con evidencia de validez aparente, histórica, de condiciones extremas y operacional, y enunciar qué establece cada una.
- Realizar una validación independiente en un segundo contexto seleccionado según criterios declarados de antemano y razonar sobre la transportabilidad.
El capítulo 4 verificó el simulador, reprodujo las líneas de base y puso a prueba los procedimientos en un piloto. Este capítulo ejecuta el estudio confirmatorio exactamente como se prerregistró y luego comprueba si su resultado se traslada a otro contexto.
5.1 Diseño del experimento de simulación
5.1.1 Comparaciones pareadas y números aleatorios comunes
Cada extracción de la simulación muestrea un escenario: duraciones de restablecimiento para cada alimentador y reservas para cada servicio. Cada política se evalúa sobre la misma extracción. Este diseño de números aleatorios comunes elimina de la comparación la varianza compartida entre escenarios: la cantidad de interés es la diferencia por extracción entre dos políticas, cuya varianza es Var(A) + Var(B) − 2 Cov(A, B). El pareo ayuda exactamente en la medida en que las pérdidas de las dos políticas están correlacionadas positivamente entre extracciones. Cuando dos políticas se compensan —una protege el agua en una extracción en la que la otra protege las telecomunicaciones—, la correlación es débil y el pareo ayuda poco; el EX028 muestra que esto ocurre en Riverbend. Analice de todos modos las diferencias pareadas, porque son el estimando correcto, pero no suponga que el pareo garantiza precisión.
5.1.2 ¿Cuántas extracciones?
El error estándar de Monte Carlo de una diferencia de medias es s_d / √n, donde s_d es la desviación estándar de las diferencias por extracción. En el piloto (capítulo 4), la desviación estándar de las diferencias DEP − CRITFLAG en Riverbend fue de unas 7 horas-servicio ponderadas, de modo que 500 extracciones dan una semiamplitud del 95 % de alrededor de 1,96 × 7 / √500 ≈ 0,6. El efecto mínimo de interés para H2 es el 10 % de la pérdida de CRITFLAG; como la pérdida de CRITFLAG en Riverbend es pequeña (alrededor de 4), ese umbral es de alrededor de 0,4, menor que la semiamplitud. Por eso el prerregistro fijó una regla de decisión de tres vías: H2 queda sustentada si el intervalo está completamente por debajo de −10 % de la pérdida media de CRITFLAG, rechazada si está completamente por encima de ese umbral (se descarta una reducción de al menos el 10 %), e inconclusa en otro caso, situación en la que el remedio previsto eran 2000 extracciones adicionales sin el oráculo. Registre el cálculo y la regla; no aumente n tras ver un resultado «casi significativo» fuera de la regla que redactó.
5.1.3 Qué significa un intervalo de Monte Carlo
Un intervalo bootstrap o normal sobre extracciones de la simulación describe la incertidumbre de Monte Carlo: cuánto se movería la estimación con más extracciones de este modelo con estas distribuciones de parámetros. No dice nada sobre la incertidumbre de los parámetros (si las distribuciones obtenidas son correctas) ni sobre la incertidumbre estructural (si la forma del modelo es correcta). Con suficientes extracciones, cualquier diferencia se vuelve «estadísticamente significativa» dentro de un modelo. Reporte los intervalos de Monte Carlo para completar, pero base las afirmaciones en los tamaños del efecto respecto del efecto mínimo de interés, y aborde la incertidumbre de los parámetros y la estructural con análisis de sensibilidad y validación (§5.4 y capítulo 6).
5.2 El estudio confirmatorio de simulación
5.2.1 El simulador
El simulador basado en eventos que sigue implementa el diseño prerregistrado. Un servicio no está disponible mientras su alimentador está desenergizado más allá de su reserva, o mientras un servicio del que depende no está disponible más allá de su reserva en el sitio; tras el restablecimiento hay un retardo de rearranque de una hora. Las cuadrillas toman el siguiente alimentador en el orden de la política en cuanto quedan libres. Las horas-cliente se calculan por alimentador. ORACLE enumera todos los órdenes posibles para cada extracción. Guarde el código como lab5_mc.py; el capítulo 6 lo importa.
# Lab 5 - paired Monte Carlo comparison of restoration orderings (offline, standard library only)
# Event-based: a service is unavailable while its feeder is down beyond its buffer, or while a
# service it depends on is unavailable beyond its on-site buffer; restart lag applies after restoration.
import itertools, random, statistics
RIVERBEND = {
"customers": {"F1": 9000, "F2": 1200, "F3": 2500, "F4": 6000},
"crews": 1, "dur": (2, 6, 4), # triangular(low, high, mode) hours per feeder
"services": { # name: (feeder, buffer triangular, weight, (depends_on, on-site hours) or None)
"WATER": ("F3", (4, 14, 8), 4.0, None),
"TEL": ("F2", (4, 12, 8), 3.0, None),
"HOSP": ("F2", (8, 48, 24), 5.0, ("WATER", 4.0)),
},
}
PORT_HALVARD = {
"customers": {"H1": 7000, "H2": 3000, "H3": 1500, "H4": 4000, "H5": 800, "H6": 5000},
"crews": 2, "dur": (1.5, 5, 3),
"services": {
"WATER2": ("H4", (10, 30, 20), 4.0, None),
"HOSP2": ("H2", (48, 96, 72), 5.0, ("WATER2", 6.0)),
"TEL2": ("H3", (2, 6, 4), 3.0, None),
"DISPATCH": ("H5", (1, 3, 2), 4.0, None),
},
}
H, LAG = 72.0, 1.0
def draw(region, rng, buffer_scale=1.0):
dur = {f: rng.triangular(*region["dur"]) for f in sorted(region["customers"])}
buf = {s: rng.triangular(*v[1]) * buffer_scale for s, v in sorted(region["services"].items())}
return dur, buf
def restore_times(order, dur, crews):
free, done = [0.0] * crews, {}
for f in order:
i = min(range(crews), key=lambda k: free[k])
free[i] += dur[f]
done[f] = free[i]
return done
def outage(region, done, buf):
"""Return {service: (start, end)} of unavailability, clipped to [0, H]."""
out = {}
def solve(s):
if s in out:
return out[s]
feeder, _, _, dep = region["services"][s]
ivs = []
if buf[s] < done[feeder]:
ivs.append((buf[s], done[feeder] + LAG))
if dep:
d = solve(dep[0])
if d and d[0] + dep[1] < d[1]:
ivs.append((d[0] + dep[1], d[1]))
out[s] = (min(a for a, _ in ivs), max(b for _, b in ivs)) if ivs else None
return out[s]
for s in region["services"]:
solve(s)
return {s: (max(0.0, iv[0]), min(H, iv[1])) for s, iv in out.items() if iv}
def evaluate(region, order, dur, buf):
done = restore_times(order, dur, region["crews"])
loss = sum(region["services"][s][2] * (e - b) for s, (b, e) in outage(region, done, buf).items() if e > b)
cust_h = sum(c * min(H, done[f]) for f, c in region["customers"].items()) / 1000.0
return loss, cust_h
def silo(region):
return sorted(region["customers"], key=lambda f: -region["customers"][f])
def critflag(region, believed_feeder=None):
feeder_of = {s: v[0] for s, v in region["services"].items()}
feeder_of.update(believed_feeder or {}) # the critical-customer list may also be out of date
crit = set(feeder_of.values())
return sorted(region["customers"], key=lambda f: (f not in crit, -region["customers"][f]))
def dep(region, believed_feeder=None):
svc = dict(region["services"])
if believed_feeder: # planner's (possibly wrong) dependency map
for s, f in believed_feeder.items():
svc[s] = (f,) + svc[s][1:]
mean = {s: sum(v[1]) / 3 for s, v in svc.items()}
tti = {}
def t(s):
if s not in tti:
dep_ = svc[s][3]
tti[s] = min(mean[s], t(dep_[0]) + dep_[1]) if dep_ else mean[s]
return tti[s]
key = {f: min([t(s) for s, v in svc.items() if v[0] == f], default=float("inf")) for f in region["customers"]}
return sorted(region["customers"], key=lambda f: (key[f], -region["customers"][f]))
def experiment(region, n=500, seed=7, buffer_scale=1.0, believed_feeder=None, oracle=True):
rng = random.Random(seed)
policies = {"SILO": silo(region), "CRITFLAG": critflag(region, believed_feeder), "DEP": dep(region, believed_feeder)}
res = {k: [] for k in list(policies) + (["ORACLE"] if oracle else [])}
cust = {k: [] for k in policies}
perms = list(itertools.permutations(region["customers"]))
for _ in range(n):
dur, buf = draw(region, rng, buffer_scale)
for k, order in policies.items():
l, c = evaluate(region, order, dur, buf)
res[k].append(l)
cust[k].append(c)
if oracle:
res["ORACLE"].append(min(evaluate(region, list(p), dur, buf)[0] for p in perms))
return policies, res, cust
def boot_ci(x, seed=11, b=1000):
rng = random.Random(seed)
means = sorted(statistics.fmean(rng.choices(x, k=len(x))) for _ in range(b))
return round(means[int(0.025 * b)], 2), round(means[int(0.975 * b)], 2)
if __name__ == "__main__":
for name, region in (("Riverbend", RIVERBEND), ("Port Halvard", PORT_HALVARD)):
policies, res, cust = experiment(region)
print(f"== {name}: orders {policies}")
for k, v in res.items():
extra = f" customer-hours(k) {statistics.fmean(cust[k]):7.1f}" if k in cust else ""
print(f" {k:8} weighted critical loss {statistics.fmean(v):6.2f}{extra}")
d = [a - b for a, b in zip(res["DEP"], res["CRITFLAG"])]
print(" DEP - CRITFLAG loss: mean", round(statistics.fmean(d), 2), "95% CI", boot_ci(d))
r = statistics.fmean(cust["DEP"]) / statistics.fmean(cust["SILO"]) - 1
r2 = statistics.fmean(cust["DEP"]) / statistics.fmean(cust["CRITFLAG"]) - 1
print(" DEP customer-hours vs SILO:", f"{r:+.1%}", "| vs CRITFLAG:", f"{r2:+.1%}")
Salida esperada:
== Riverbend: orders {'SILO': ['F1', 'F4', 'F3', 'F2'], 'CRITFLAG': ['F3', 'F2', 'F1', 'F4'], 'DEP': ['F2', 'F3', 'F1', 'F4']}
SILO weighted critical loss 52.75 customer-hours(k) 133.0
CRITFLAG weighted critical loss 3.97 customer-hours(k) 222.5
DEP weighted critical loss 4.32 customer-hours(k) 227.6
ORACLE weighted critical loss 1.79
DEP - CRITFLAG loss: mean 0.35 95% CI (-0.23, 0.97)
DEP customer-hours vs SILO: +71.2% | vs CRITFLAG: +2.3%
== Port Halvard: orders {'SILO': ['H1', 'H6', 'H4', 'H2', 'H3', 'H5'], 'CRITFLAG': ['H4', 'H2', 'H3', 'H5', 'H1', 'H6'], 'DEP': ['H5', 'H3', 'H4', 'H2', 'H1', 'H6']}
SILO weighted critical loss 53.93 customer-hours(k) 103.2
CRITFLAG weighted critical loss 31.63 customer-hours(k) 148.5
DEP weighted critical loss 9.61 customer-hours(k) 163.2
ORACLE weighted critical loss 9.61
DEP - CRITFLAG loss: mean -22.01 95% CI (-22.4, -21.59)
DEP customer-hours vs SILO: +58.2% | vs CRITFLAG: +9.9%
5.2.2 Leer los resultados frente a las hipótesis
Tabla de la lección; desplázate para ver todas las columnas →
| Hipótesis | Riverbend (principal) | Port Halvard (validación independiente) | Veredicto |
|---|---|---|---|
| H1: DEP reduce la pérdida ≥ 20 % frente a SILO | 52,75 → 4,32 (−92 %) | 53,93 → 9,61 (−82 %) | Sustentada en ambas |
| H2: DEP reduce la pérdida ≥ 10 % frente a CRITFLAG | +0,35 (intervalo de MC del 95 %: −0,23 a 0,97), completamente por encima del umbral de −0,40: se descarta una reducción del 10 % | −22,01 de 31,63 (−70 %) | No sustentada en Riverbend; sustentada en Port Halvard |
| H3: la ganancia crece con la divergencia de órdenes | Los órdenes difieren en 2 posiciones (F2/F3 intercambiados) y, sin embargo, no hay ganancia | Los órdenes difieren en las 4 posiciones críticas; gran ganancia | En parte; Riverbend es una anomalía que hay que explicar (§5.2.3) |
| H4a: horas-cliente ≤ +15 % frente a SILO | +71,2 % | +58,2 % | Falla en ambas |
| H4b: horas-cliente ≤ +15 % frente a CRITFLAG | +2,3 % | +9,9 % | Se cumple en ambas |
| Brecha con ORACLE | DEP 4,32 frente a ORACLE 1,79 | DEP 9,61 = ORACLE 9,61 | DEP lejos del óptimo en Riverbend; óptimo en Port Halvard |
El resumen honesto es mixto. Un orden consciente de la criticidad, de cualquier tipo, protege los servicios críticos de manera drástica en comparación con el orden de clientes primero, con un gran costo en horas-cliente que la teoría de la programación había predicho (capítulo 3). Que los tiempos aporten valor sobre una lista de clientes críticos depende de la región: ninguno en Riverbend, mucho en Port Halvard. Se aplica la condición de fracaso prerregistrada «H2 falla en una región y se cumple en la otra»: acotar la afirmación a las condiciones que distinguen las regiones y poner a prueba el mecanismo.
5.2.3 Explicar la anomalía de Riverbend sin rescatar la hipótesis
En Riverbend, DEP restablece F2 (telecomunicaciones y hospital) antes que F3 (agua), porque el tiempo esperado hasta el impacto de las telecomunicaciones (8 h) es ligeramente anterior al del agua (8,7 h). CRITFLAG restablece primero F3 porque tiene más clientes. Pero F3 protege dos servicios ponderados —el agua directamente y el hospital a través de su dependencia del agua—, mientras que restablecer primero F2 protege las telecomunicaciones y solo el camino eléctrico del hospital, que tiene una reserva larga. Una regla de tiempo hasta el impacto más temprano ignora los pesos y la ramificación; el capítulo 3 lo señaló como la debilidad conocida de la heurística. La pérdida mucho menor de ORACLE confirma que ninguna de las dos reglas está cerca del óptimo en Riverbend.
Esta explicación es post hoc. Es legítimo reportarla como una hipótesis generada por el estudio confirmatorio, que debe ponerse a prueba con datos nuevos (el capítulo 6 la pone a prueba en muchas regiones sintéticas); no es legítimo volver a ejecutar el estudio principal con una regla revisada y reportarlo como confirmatorio.
5.3 El ejercicio de mesa con operadores
5.3.1 Por qué personas, y no solo modelos
Una regla de restablecimiento que los operadores no seguirán no tiene consecuencia alguna. El ejercicio de mesa pregunta si, con la visualización del tiempo efectivo hasta el impacto probada en el piloto del capítulo 4, operadores experimentados eligen órdenes que el modelo califica como de menor consecuencia, y por qué sí o por qué no.
5.3.2 Diseño (sintético)
- Participantes. Doce operadores y gestores de emergencias (P01–P12) de tres empresas de servicios sintéticas, reclutados a través de los socios con consentimiento individual, ninguno del piloto. La participación fue voluntaria y sin pago más allá de los gastos; los gerentes no supieron quién participó.
- Cruce intrasujeto. Cada participante ordenó el restablecimiento en dos escenarios isomorfos —topología similar a Port Halvard con alimentadores renombrados y posiciones mezcladas—, una vez con una visualización convencional (número de clientes e indicadores de clientes críticos) y otra con la visualización del tiempo efectivo hasta el impacto añadida. El orden de las visualizaciones y de las versiones del escenario se contrabalanceó.
- Cegamiento. Los escenarios no contenían información sobre el resultado; en el piloto se revisaron las inyecciones en busca de pistas prematuras. Los analistas que puntuaron las justificaciones en texto libre no sabían qué condición de visualización las había producido.
- Resultado. El orden elegido, evaluado en el simulador sobre las mismas 500 extracciones que el estudio principal, de modo que el resultado es la consecuencia estimada por el modelo de la decisión del participante, no su preferencia declarada. Secundarios: tiempo de decisión; códigos de justificación.
- Análisis. Comparación pareada de si cada participante eligió el orden DEP con cada visualización; prueba exacta de McNemar sobre los pares discordantes; diferencias descriptivas de consecuencia; análisis temático de las justificaciones.
5.3.3 Resultados (sintéticos)
Tabla de la lección; desplázate para ver todas las columnas →
| Visualización convencional → visualización del tiempo hasta el impacto | Participantes |
|---|---|
| No DEP → DEP | 7 |
| No DEP → no DEP | 5 |
| DEP → no DEP | 0 |
| DEP → DEP | 0 |
Los siete pares discordantes se movieron hacia DEP. Bajo la hipótesis nula de que un cambio en cualquiera de las dos direcciones es igualmente probable, la probabilidad exacta bilateral de siete o más cambios en una dirección de siete es 2 × 0,5⁷ = 0,0156. Con doce participantes de tres empresas de servicios, esto es evidencia de que la visualización puede cambiar las elecciones en un ejercicio de mesa, no una estimación de con qué frecuencia los operadores cambiarían su práctica. De los cinco que no adoptaron DEP, cuatro mantuvieron un orden similar a CRITFLAG. Los códigos de justificación (dos codificadores, desacuerdos resueltos y registrados) incluyeron: expectativa institucional («el consejo nos mide por clientes restablecidos»; 4 participantes), desconfianza de las cifras de reserva («he visto los registros de combustible de los hospitales: nunca coinciden con lo que dice el papel»; 3) y logística de campo («las cuadrillas ya están cerca del alimentador grande»; 3). El último tema identifica una variable que el modelo omite: el tiempo de desplazamiento entre alimentadores, que hace que las duraciones de restablecimiento dependan del orden.
5.3.4 Lo que el ejercicio de mesa puede sustentar y lo que no
Sustenta: que la visualización es comprensible; que desplaza las elecciones del ejercicio de mesa hacia una menor consecuencia modelada; que los operadores plantean objeciones específicas que el modelo debe abordar. No puede sustentar: la adopción en el mundo real; los efectos bajo estrés, fatiga e información incompleta; ni los efectos en empresas de servicios distintas de las tres muestreadas. Los ejercicios de mesa son además actuaciones —los participantes saben que se les observa—, lo que empuja hacia respuestas que «parecen correctas».
5.4 Validar el modelo
Siguiendo a Sargent (2013), la validación es evidencia de que un modelo es adecuado para su propósito previsto —aquí, clasificar los órdenes de restablecimiento por la consecuencia sobre los servicios críticos—, no de que sea «verdadero».
Tabla de la lección; desplázate para ver todas las columnas →
| Tipo de validación | Evidencia del Estudio Cascada (sintética) | Qué establece | Qué no establece |
|---|---|---|---|
| Validez aparente | Doce participantes del ejercicio de mesa y dos ingenieros de los socios revisaron la estructura y las salidas del modelo | La estructura es reconocible para los profesionales; no hay omisiones flagrantes salvo el tiempo de desplazamiento | Que los parámetros sean correctos |
| Validación histórica | Interrupción por la tormenta de hielo de 2019 en Riverbend (todas las causas, registro sintético): el modelo, con los tiempos de restablecimiento de los alimentadores registrados, predijo pérdida de presión de agua a las 9 h y desvío hospitalario a las 13 h; los registros muestran 11 h y ninguno (el hospital recibió agua en camiones a las 10 h) | El momento de la falla del agua está en el rango correcto; el modelo omite la ayuda mutua (agua en camiones), una reserva humana | La exactitud para escenarios provocados por ciberataques; cualquier generalización a partir de un evento |
| Pruebas de condiciones extremas | Reservas nulas, reservas infinitas, un solo alimentador, un servicio | El comportamiento en los límites es sensato (invariantes del capítulo 4) | El comportamiento en el interior |
| Variabilidad de los parámetros | Escalado de reservas y conjuntos de pesos (capítulo 6) | Qué conclusiones dependen de qué parámetros | La adecuación estructural |
| Validez operacional | Acuerdo entre la clasificación de órdenes del modelo y la clasificación experta de los operadores en seis escenarios: coinciden 5 de 6 primeras opciones | El modelo clasifica los órdenes de forma muy parecida a los expertos en casos conocidos | Si alguno de los dos acierta en casos desconocidos |
La validación histórica produjo una corrección importante: el modelo trata las reservas como fijas, pero los operadores reales las amplían —agua en camiones, entregas de combustible, deslastre de carga en el hospital—. Un modelo sin estas reservas humanas es conservador respecto de la consecuencia y puede exagerar el beneficio de reordenar, porque ignora alternativas que los operadores usarían de todos modos. La tesis debe decirlo.
5.5 Validación independiente en un segundo contexto
5.5.1 Selección según criterios declarados de antemano
Port Halvard se eligió antes de la simulación, según criterios derivados del mecanismo y registrados en la enmienda del prerregistro del capítulo 3: más alimentadores críticos (cuatro), divergencia entre el orden por reservas y el orden por clientes entre los alimentadores críticos, dos cuadrillas y reservas hospitalarias largas respaldadas por contratos de combustible. Un modelador distinto construyó la configuración de Port Halvard a partir de la documentación de los socios, sin acceso a los resultados de Riverbend. Estos pasos reducen, pero no eliminan, el riesgo de un contexto de validación que favorezca al método: los propios criterios se eligieron para dar al mecanismo la oportunidad de actuar. Eso es aceptable para una prueba del mecanismo, no para estimar con qué frecuencia ayuda el método en regiones reales. El capítulo 6 aborda la segunda pregunta con muchas regiones generadas aleatoriamente.
5.5.2 Transportabilidad
Un resultado se transporta de un contexto a otro cuando la estructura causal pertinente es compartida y las diferencias se miden. Pearl y Bareinboim (2014) formalizan cuándo los hallazgos experimentales pueden transportarse entre poblaciones. De manera informal, para el Estudio Cascada: el mecanismo (reservas, restablecimiento secuencial, consecuencia ponderada) es compartido; los moderadores que difieren —número de alimentadores críticos, divergencia de órdenes, número de cuadrillas, duración de las reservas— deben medirse en cualquier región de destino antes de aplicar el resultado. Una empresa de servicios que conoce estas cuatro cosas sobre sí misma puede estimar si es probable que DEP supere a su lista actual; una que no las conoce, no puede.
5.6 Reportar el estudio principal
Reporte, como mínimo: el prerregistro y todas las enmiendas con sus fechas; la bitácora de desviaciones; cada hipótesis con su veredicto, incluidos los fracasos; los tamaños del efecto respecto de los efectos mínimos de interés; los intervalos de Monte Carlo etiquetados como tales; las brechas con ORACLE; el diseño del ejercicio de mesa, el consentimiento, el abandono y los resultados con pruebas exactas y temas cualitativos; cada tipo de validación con lo que establece; y la configuración de las dos regiones con el nivel de detalle que permitan los niveles de protección de la información (capítulo 7). Siga una estructura de reporte reconocida para estudios de simulación cuando exista una en la publicación de destino, y para el ejercicio de mesa siga las expectativas de transparencia de la investigación con seres humanos de su campo.
5.7 Errores habituales y límites
- Analizar por separado las medias de dos políticas en lugar de las diferencias pareadas.
- Aumentar el número de extracciones hasta que una diferencia sea «significativa».
- Presentar un intervalo de Monte Carlo como incertidumbre sobre el mundo.
- Volver a ejecutar el estudio confirmatorio con una regla revisada tras ver los resultados y llamarlo confirmatorio.
- Elegir un contexto de validación porque el método funcionará bien en él, sin decirlo.
- Medir las preferencias declaradas de los operadores en lugar de las consecuencias de sus elecciones.
-
Tratar la validez aparente como validación de los parámetros.
-
Leer el fracaso de H2 en Riverbend como una razón para revisar DEP y volver a ejecutar el estudio principal con el mismo prerregistro.
- Reportar un desplazamiento estadísticamente significativo en el ejercicio de mesa como evidencia de adopción, cuando doce participantes de tres empresas de servicios solo muestran que una visualización puede cambiar las elecciones.
- Tratar un único evento histórico, como la tormenta de hielo de 2019, como validación para escenarios provocados por ciberataques.
- Omitir la brecha con ORACLE, que muestra lo lejos que está cualquier regla del mejor orden.
Ejercicios — capítulo 5
EX027 — Ejecutar e interpretar el estudio principal. Objetivo: reproducir e interpretar el Laboratorio 5. Entradas: el código del §5.2.1. Restricciones: sin conexión; registre la salida exacta. Pasos: (1) ejecute el laboratorio; (2) complete la tabla de hipótesis del §5.2.2 a partir de su salida; (3) calcule el cambio relativo de DEP frente a CRITFLAG en cada región; (4) redacte un párrafo de resultados de 150 palabras que un revisor hostil aceptaría. Evidencia esperada: salida, tabla, párrafo. Rúbrica: 3 = salida exacta, H2 reportada como fallida en Riverbend y sustentada en Port Halvard, fracaso de H4a reportado, sin rescate; 2 = números correctos, el párrafo exagera; 1 = errores; 0 = no se ejecutó.
EX028 — Pareado frente a no pareado. Objetivo: ver por qué importan los números aleatorios comunes. Entradas: Laboratorio 5. Restricciones: sin conexión. Pasos: (1) para Riverbend, calcule la desviación estándar de las pérdidas de DEP, de las de CRITFLAG y de las diferencias por extracción; (2) calcule un intervalo no pareado del 95 % para la diferencia de medias con la aproximación normal; (3) compárelo con el intervalo pareado; (4) explique la diferencia en 100 palabras. Evidencia esperada: tres desviaciones estándar, dos intervalos, explicación. Rúbrica: 3 = DE de alrededor de 6,36 (DEP), 4,57 (CRITFLAG) y 6,79 (diferencias); intervalo no pareado de alrededor de −0,34 a 1,04 frente al pareado de −0,24 a 0,95; explica que el pareo ayudó solo modestamente porque las pérdidas de las políticas están débilmente correlacionadas —se compensan en cuanto a qué servicio falla en una extracción dada— y que la DE de las diferencias puede superar la DE de cada política sin dejar de ser inferior a √(Var A + Var B); 2 = números correctos, la explicación supone que el pareo siempre reduce la varianza; 1 = error; 0 = nada.
EX029 — Taxonomía de la incertidumbre. Objetivo: clasificar la incertidumbre. Entradas: cinco enunciados: (a) «con 5000 extracciones el intervalo se estrecharía»; (b) «el combustible del hospital puede ser menor de lo que dijo el director de instalaciones»; (c) «el tiempo de desplazamiento entre alimentadores no está modelado»; (d) «los pesos reflejan los valores de un solo panel»; (e) «las reservas pueden no ser triangulares». Restricciones: clasifique cada uno como incertidumbre de Monte Carlo, de parámetros, estructural o de valores y nombre el método que la aborda. Pasos: (1) clasifique cada enunciado; (2) justifique la clase en una oración; (3) nombre el método que reduce o expone esa incertidumbre. Evidencia esperada: tabla. Rúbrica: 3 = (a) Monte Carlo, (b) parámetros, (c) estructural, (d) valores, (e) parámetros o estructural con justificación, con métodos adecuados; 2 = un error; 1 = dos o más; 0 = nada.
EX030 — Crítica del diseño del ejercicio de mesa. Objetivo: reforzar un diseño con seres humanos. Entradas: §5.3.2. Restricciones: proponga al menos cinco mejoras dentro de los límites éticos y prácticos. Pasos: (1) identifique las amenazas —características de la demanda, muestra pequeña, tres empresas de servicios, ausencia de presión de tiempo, reconocimiento de escenarios isomorfos—; (2) proponga un cambio de diseño para cada una; (3) indique lo que cuesta cada cambio. Evidencia esperada: tabla. Rúbrica: 3 = cinco o más amenazas reales con cambios factibles y costos honestos; 2 = tres o cuatro; 1 = genérico; 0 = nada.
EX031 — Matriz de evidencia de validación. Objetivo: planificar la validación de su propio modelo. Entradas: un modelo de su investigación o el del Estudio Cascada. Restricciones: al menos cuatro tipos de validación; para cada uno, la evidencia, lo que establece y lo que no. Pasos: (1) elija al menos cuatro tipos de validación del §5.4; (2) para cada uno, indique la evidencia que reuniría; (3) indique lo que esa evidencia establece y lo que no; (4) identifique qué validación sería más perjudicial para su afirmación si fallara. Evidencia esperada: matriz y párrafo. Rúbrica: 3 = tipos bien elegidos, límites honestos, prueba más perjudicial identificada y planificada pronto; 2 = límites pobres; 1 = solo validez aparente; 0 = nada.
EX032 — Memorando de transportabilidad. Objetivo: asesorar a una tercera empresa de servicios. Entradas: una empresa de servicios sintética con cinco alimentadores, tres de ellos con servicios críticos cuyo orden por reservas coincide con su orden por clientes, y una cuadrilla. Restricciones: 300 palabras; use los moderadores del §5.5.2. Pasos: (1) mida los cuatro moderadores para esta empresa de servicios; (2) prediga la ganancia de DEP sobre CRITFLAG; (3) indique qué datos necesitaría para cambiar su predicción. Evidencia esperada: memorando. Rúbrica: 3 = predice ninguna ganancia porque los órdenes coinciden, explica los moderadores y observa que los pesos o la ramificación podrían seguir importando; 2 = predicción correcta, razonamiento pobre; 1 = predice una ganancia; 0 = nada.
Síntesis del capítulo
El estudio principal comparó cuatro órdenes sobre extracciones pareadas con una cota oráculo. El orden consciente de la criticidad, de cualquier tipo, protegió los servicios críticos de manera drástica en comparación con el restablecimiento de clientes primero y costó muchas más horas-cliente que el margen declarado de antemano: una compensación para las políticas, no una ganancia gratuita. La información de tiempos no añadió nada sobre una lista de clientes críticos en Riverbend y añadió mucho en Port Halvard; la explicación post hoc (pesos y ramificación ignorados por una regla de tiempo más temprano) es una hipótesis nueva, no un rescate. Un ejercicio de mesa a ciegas mostró que una visualización del tiempo hasta el impacto puede desplazar las elecciones de los operadores hacia una menor consecuencia modelada y sacó a la luz variables omitidas, como el tiempo de desplazamiento de las cuadrillas. La validación estableció que el modelo es adecuado para clasificar órdenes en casos conocidos y que es conservador porque omite las reservas humanas. Los intervalos de Monte Carlo describieron solo el ruido de la simulación; la incertidumbre de los parámetros, la estructural y la de valores quedan para el capítulo 6.