python - 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 来做。
解决方案
推荐阅读
- sqoop - 使用 sqoop 从 Mysql 中提取值到 HDFS
- javascript - 如何检查 DOM 节点文本值数组是否等于某个字符串?
- windows - git svn clone 卡在 perl.exe
- php - 带有 Bootstrap 网格的 Wordpress 循环。如何优化这段代码?
- flutter - Flutter 如何计算屏幕宽度
- android - 无法获取资源“https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1.pom”
- c# - 如何实现身份验证和授权 WEBAPI 2 .NET 应用程序?尝试 JWT 库
- javascript - 通过jquery更改html视频播放器css
- python - 根据之前的值循环一个函数?
- c++ - 使用子类从 std::priority_queue 获取容器时编译错误