4. 试验设计方法
代理模型的质量,在很大程度上由初始样本集决定。样本点选得不好,后续无论用克里金、径向基还是多项式响应面,都很难在关键区域拟合出可信的近似曲面。试验设计(Design of Experiments, DOE)要解决的核心问题就是:在有限的计算预算下,如何把样本点放到设计空间中,使它们携带尽可能多的信息。本节围绕拉丁超立方、正交设计、均匀设计和自适应采样四类方法展开,并给出针对具体问题生成初始样本集的可执行流程。
一、四类方法的定位与差异
这四种方法并不是互相替代的关系,而是服务于不同的设计目标。理解它们的差异,是选对方法的前提。
拉丁超立方采样(LHS)面向连续变量,核心思想是“分层投影”:把每个维度等分为 N 个区间,每个区间内只放一个样本点,再随机配对。这样在任意一维投影上,样本点都均匀铺满整个区间,避免了简单随机采样可能出现的聚集和空洞。LHS 适合变量维度中等(3~20 维)、变量连续、需要覆盖整个设计空间的场景,是代理模型初始样本集最常用的方法。
正交设计面向因素水平可枚举的场景,通过正交表安排试验,使任意两个因素的水平组合均衡出现。它的优势是能用较少的试验次数分离出各因素的主效应,常用于筛选关键变量、判断哪些因素对响应影响显著。正交设计对连续变量的处理是离散化水平,因此更适合因素数不多、水平可明确划分的问题。
均匀设计由方开泰提出,强调样本点在整个设计空间中的均匀散布,而不追求正交性。当因素水平较多、正交表规模急剧膨胀时,均匀设计可以用更少的试验点获得较好的空间填充性,适合高维、多水平的探索性试验。
自适应采样不是一次性布点,而是“边算边加”:先用少量初始样本建立粗略代理模型,再根据模型的不确定性或预测误差,在最有价值的区域补充样本点。它适合计算代价高、希望把预算集中在关键区域的问题,例如存在强非线性或响应剧烈变化的区域。
二、拉丁超立方采样的实现要点
LHS 的实现可以拆成三步。第一步,对每个维度 j(j=1,…,d),把取值范围 [a_j, b_j] 等分为 N 个区间,区间宽度为 (b_j−a_j)/N。第二步,生成一个 1~N 的随机排列 π_j,把第 k 个样本点在第 j 维的取值落在第 π_j(k) 个区间内,通常取区间中点或区间内均匀随机值。第三步,把所有维度的取值组合成 N 个 d 维样本点。
一个常见的改进是最大化最小距离准则:生成多组候选 LHS,计算每组样本点之间的最小欧氏距离,选最小距离最大的那一组。这能显著改善空间填充性,避免样本点偶然聚集。在 Python 中可用 scipy.stats.qmc.LatinHypercube 直接生成,再用 scipy.spatial.distance.pdist 做筛选。
import numpy as np
from scipy.stats import qmc
from scipy.spatial.distance import pdist
d, N = 5, 50 # 5 维,50 个样本
bounds = np.array([[0.1, 1.0]] * d) # 各维上下界
best, best_min = None, -1
for _ in range(200): # 200 组候选
sampler = qmc.LatinHypercube(d=d, seed=None)
u = sampler.random(n=N) # [0,1]^d
X = qmc.scale(u, bounds[:,0], bounds[:,1])
dmin = pdist(X).min()
if dmin > best_min:
best_min, best = dmin, X
print("最优最小距离:", round(best_min, 4))
print("样本集形状:", best.shape) # (50, 5)
这里 N 的选取没有绝对公式。经验上,对于 d 维问题,初始样本数取 N = 10d 是常见起点;若响应面较平滑,可降到 5d;若响应剧烈波动,则应提高到 15d~20d。注意这只是示例性经验值,实际应结合计算预算和模型精度要求调整。
三、正交设计与均匀设计的适用边界
正交设计的典型操作是查正交表。例如考察 4 个三水平因素,可选用 L9(3⁴) 正交表,只需 9 次试验即可均衡覆盖各因素水平组合。它的价值在于:通过极差分析或方差分析,能快速判断哪个因素对响应影响最大,从而在后续代理模型建模中剔除次要变量,降低维度。
均匀设计则适用于因素水平数较多的情况。例如 6 个因素、每个因素 10 个水平,若用正交设计,试验次数会迅速膨胀;而均匀设计可用 U10(10⁶) 之类的均匀表,仅 10 次试验就获得较好的空间覆盖。均匀设计的构造常用好格子点法(good lattice point method),通过数论方法生成偏差较小的点集。需要提醒的是,均匀设计不保证正交性,因此不适合做严格的主效应分离,更适合作为探索性布点或代理模型的初始样本。
四、自适应采样的补点逻辑
自适应采样的核心是“用模型指导采样”。以克里金模型为例,常用两种补点准则:
- 最大预测方差(MSP):在预测方差最大的位置补点,快速降低全局不确定性,适合探索未知区域。
- 期望改进(EI):综合考虑预测值和不确定性,在“可能更优”且“不确定性大”的位置补点,适合优化问题。
实际操作中,通常先用 LHS 生成 10d 个初始样本,建立克里金模型,然后每次迭代用 EI 或 MSP 准则选 1~5 个新点,调用真实仿真计算响应,更新模型,直到达到预算上限或精度收敛。判断收敛可观察交叉验证的均方根误差(RMSE)或最大预测方差是否低于阈值。
- 变量维度 d 与取值范围是否明确?连续变量优先 LHS。
- 初始样本数 N 是否与计算预算匹配?建议从 10d 起步。
- 是否做了最小距离筛选?避免样本聚集。
- 若需筛选关键变量,是否先用正交设计做因素分析?
- 若计算代价高,是否预留了自适应补点预算?
- 样本集是否保存为 (N, d) 矩阵并记录各维物理含义?
五、针对具体问题的生成流程
把上述方法串起来,一个可执行的初始样本集生成流程如下。首先明确设计变量及其上下界,例如某翼型优化问题中,5 个几何控制参数的范围分别为 [0.1,1.0]、[−5°,5°]、[0.02,0.12]、[0.3,0.7]、[0.0,0.05]。其次判断变量类型:全部连续,选 LHS。然后设定 N=50,用上述代码生成并筛选最小距离最大的样本集。接着对样本集做投影检查:绘制任意两维的散点图,确认没有明显空洞或聚集。最后把样本集写入 CSV,每行一个样本,列名为变量名,并附一份变量说明表。
如果问题中混有离散变量(如材料类型 1/2/3),可对连续变量用 LHS,对离散变量用分层随机或正交安排,再组合成完整样本。若响应计算单次耗时超过数小时,则初始样本可缩减到 5d,把更多预算留给自适应采样阶段。方法的选择始终服务于“用有限样本获得最大信息量”这一目标,而不是机械套用某一种设计。