用途:在数据采集之前设计实验与研究,决定如何把实验单元分配到处理条件、固定与变动哪些因素,使数据能回答所关心的问题。核心原则是随机化、重复与区组/局部控制。
主要能力:帮助在完全随机、随机区组、交叉/重复测量、整群随机、裂区、拉丁方、嵌套等设计间选择;支持筛选(部分因子、Plackett-Burman)、全因子 2^k、响应面(中心复合、Box-Behnken)与拉丁超立方等 DOE 布局;提供带种子的随机化与分配表脚本。
使用方式:安装命令为 uv venv --python 3.13 .venv-design 与 uv pip install --python .venv-design/bin/python "numpy==2.5.3" "pandas==3.0.6" "pydoe==1.5.0"。scripts/randomization.py 提供 simple_randomization、block_randomization、stratified_block_randomization、cluster_randomization、assign_factorial_runs、arm_balance;scripts/doe_designs.py 提供 full_factorial、two_level_factorial、fractional_factorial、plackett_burman、central_composite、box_behnken、latin_hypercube,返回真实因素单位的设计矩阵并可导出 CSV。参考文档见 references/randomization_and_blocking.md、factorial_and_doe.md、design_types.md、sequential_and_adaptive.md。
适用场景:比较若干预设条件的试验、受试者/样本分组随机化、多因子筛选与优化、整群随机试验、含中期分析的序贯或自适应设计、板位与批次运行顺序随机化。
限制与注意事项:伪重复(把同一单元重复测量当作独立重复)、混杂、无随机化、无同期对照、批次效应、板边缘效应、忽略混杂结构、缺少曲率的优化等错误无法靠事后分析弥补;脚本不实现入组系统,也不对未来分配保密;种子的复现性依赖已记录的软件环境;中心复合设计默认 circumscribed 会使轴向点超出给定高低范围,若范围为物理极限应改用 inscribed 或 faced,且不应裁剪越界行;默认单中心点不足以估计纯误差,应确认模型矩阵满秩并保留残差自由度。