实验设计

中心复合设计(CCD):用自然语言生成二阶响应面 DoE

中心复合设计(CCD)用尽可能少的实验跑出 2-6 因子的二阶响应面。Lattice 自动生成设计矩阵、随机化运行顺序,直接拿到实验室或产线就能跑。

何时选 CCD

如果你已经做过一轮筛选(比如部分因子设计),知道哪 2-6 个因子真正关键,现在想找最优,CCD 就是二阶响应面建模的主力设计:能在一次设计里同时估出主效应、两因子交互,以及纯二次项。

如果因子超过六个,请先做部分因子筛选;如果含硬性分类水平,考虑 Definitive Screening Design;如果实验非常便宜,直接全因子可能更简单。

Lattice 实际算什么

引擎调用 pyDOE3 的 CCD 生成器,按你选择的变体生成:ccc rotatable(默认)、cci inscribed、或 ccf face-centered。然后把编码水平解码回真实单位、用固定随机种子打乱运行顺序(保证后续可复现),最终输出一行一次实验的数据框。

输出包括设计矩阵、所用 α 值、因子点 / 轴点 / 中心点数量、正交性检查与 trace_id。同样的因子配置总会产出完全相同的实验单 — 把它交给同事,几个月后仍能复现。

1 · Intent → method

An LLM picks doe_generate_ccd from a fixed catalog.

2 · Method → numbers

Deterministic Python engine runs the math. Same input → same output.

3 · Numbers → plain language

A second LLM translates the result into your domain’s vocabulary.

提问的几种说法

planner 会从下面这类提问中自动挑出 doe_generate_ccd:

如果你不指定 α 或中心点数,Lattice 会默认选 rotatable + 5 个中心点重复,并在结果中告知,方便你覆盖。

怎么读运行表

每一行就是一次实验。列含编码水平(-1 / 0 / +1 / ±α)、解码后的真实单位、block 列(如果你要分块)、以及种子打乱后的 run_order。跑完实验、收齐响应后,把数据交回 Lattice,接 rsm_fit_quadratic 拟合曲面、再 optimize_constrained 找最优。

Lattice 帮你避开的常见错误

最常见的错误是该筛选时直接上 CCD — 六个因子里只有两个真起作用,跑 19 次完全是浪费。如果你直接从「我有这些因子」跳到「出 CCD」,Lattice 会问筛选结果。另一个常见错误是 α>1 时把轴点当作物理可达 — Lattice 会把轴点的真实单位值打印出来,签字前可以先核对。

  • CCD 一共多少次实验?

    对 k 个因子:2^k 个因子点 + 2k 个轴点 + n 个中心点重复。k=3、5 个中心重复时 = 8 + 6 + 5 = 19 次。Lattice 在提交前会先把次数显示出来。

  • rotatable / face-centered / inscribed 怎么选?

    默认 rotatable(α = 因子点数的四次方根),适合范围不受约束;面心(α = 1)适合物理边界硬限;inscribed 把所有点收进原始范围内。每种 Lattice 都给一行说明帮你选。

  • 可以加分块(blocking)吗?

    可以。CCD 天然可拆成正交块(因子部分 + 轴向部分)。Lattice 暴露 blocks 参数,会校验所选块数是否保持正交性。

Tool 输入字段

Schema for doe_generate_ccd not exported yet (run pnpm export:registry).