均匀设计表是指在实验设计中,为了使各种因素对试验结果的影响尽可能均匀、最小化试验误差而采用的一种设计方法。在均匀设计表中,通过对不同因素的处理方式进行合理的安排和组合,以达到减小误差、提高实验准确性的目的。
ranges = [
[0, 0.4],
[0, 1],
[0, 30],
[0, 1],
[0, 3],
[0, 3]
]
p_ranges = np.array(ranges)
# 生成均匀设计表
num_samples = 100
samples = lhs(len(p_ranges), samples=num_samples, criterion='maximin')
#参数个数,抽样数,抽样标准
scaled_samples = ((p_ranges[:, 1] - p_ranges[:, 0]) * samples) + p_ranges[:, 0]
print(scaled_samples)
lhs
函数可用参数及其意义的概述:
num_params
:必需。整数,指定参数个数。samples
:可选,默认为100。整数,指定生成的样本数量(即设计中的行数)。criterion
:可选,默认为"maximin"。字符串,指定生成样本的优化标准。可选值包括"center"、"maximin"、"correlation"和"entropy"。iterations
:可选,默认为5。整数,当criterion
为"maximin"或"correlation"时,指定生成样本的迭代次数。random_state
:可选,默认为None。整数、RandomState实例或None,用于控制生成随机样本的随机数生成器的状态。verbose
:可选,默认为False。布尔型,指定是否在计算过程中打印信息。
lhs
函数中可用的优化标准及其含义的解释:
"center"
:样本点的均值尽可能接近每个参数的取值范围的中心点。"maximin"
:最大最小距离法,样本点之间的最小距离最大化。这有助于使样本在整个参数空间内均匀分布。"correlation"
:样本点之间的相关性最小化。这有助于避免样本在不同参数之间出现强烈的线性关系。"entropy"
:样本点之间的信息熵最大化。这有助于使样本点尽可能覆盖参数空间的不同区域。
选择适当的优化标准取决于您的设计目标和要求。如果希望样本均匀分布且相互独立,则可以使用"maximin"
或"correlation"
。如果要确保样本覆盖参数空间的不同区域,则可以使用"entropy"
。如果只关注样本的中心位置,则可以使用"center"
。
需要注意的是,不同的优化标准可能会导致不同的计算复杂度和结果。对于大型设计问题,可能需要调整迭代次数以获取更好的结果。