Saltar a contenido

DoE secuencial / adaptativo

El DoE clásico se enseña a menudo como un plan de un solo tiro. En la práctica corres una oleada, miras los datos y decides qué correr después. Desde doekit 0.5 ese bucle es de primera clase — sin abandonar D/A/G-eficiencia, SPV o potencia como lenguaje común.

Aumentar un diseño

aug = ed.augment_design(base, n_add=4, criterion="D")

Proponer el siguiente lote

nxt = ed.propose_next_runs(base, response=y, n_add=4, budget=16)
print(nxt.comparison.summary)
nxt.to_dict()  # schema: doekit.NextRunsProposal/1

Comparar diseños

cmp = ed.compare_designs(actual, aumentado)

Puente a optimización bayesiana

Las dos intenciones comparten una llamada: aprender (esta página — afilar el modelo) y optimizar (mover el resultado). Para el loop de surrogate + adquisición propio de doekit — un GP con media a priori OLS, EI/UCB/PI/EHVI y calibración LOO — ver Optimización bayesiana (la vía intent="optimize"). doekit tampoco reemplaza a Optuna/Ax: puedes convertir un espacio de búsqueda en un candidate set y seguir evaluando con las mismas métricas:

cand = ed.candidates_from_bounds([("lr", 1e-4, 1e-1)], n=200)

Superficie ya disponible (doekit ≥ 0.6 / 0.7): mezcla y split-plot y el agregado ed.experiment(...) / Experiment en la chuleta de agentes.