首页 > 解决方案 > python中带有约束的广义子集设计

问题描述

我有三个F1, F2, F3具有3, 3, 6相应水平的因素,我想限制它们组合的数量进行实验设计。

据我通过搜索看到,这可以通过pyDOE2广义子集设计来完成,例如:

import pyDOE2

levels = [3, 3, 6]
reduction = 3
result = pyDOE2.gsd(levels, reduction)
result.data.tolist()
>>>[[0, 0, 0],
 [0, 0, 3],
 [0, 1, 1],
 [0, 1, 4],
 [0, 2, 2],
 [0, 2, 5],
 [1, 0, 1],
 [1, 0, 4],
 [1, 1, 2],
 [1, 1, 5],
 [1, 2, 0],
 [1, 2, 3],
 [2, 0, 2],
 [2, 0, 5],
 [2, 1, 0],
 [2, 1, 3],
 [2, 2, 1],
 [2, 2, 4]]

但是,我想做的是对因素水平的可能组合设置一些限制。例如,我不想要包含 F1L1 和 F2L3 或 F2L1 和 F3L2 的组合(F 代表因子,L 代表水平)。考虑到这些约束,有没有办法获得最佳的简化组合?

这不是 pyDOE2 特定的问题(任何其他可以实现这一点的库都可以),但我想用 python 来做。

标签: pythonexperimental-design

解决方案


推荐阅读