我有三个因素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来完成。