Arrays 如何创建正交数组?
假设我们有以下三个因素: 因子A:5个可能值Arrays 如何创建正交数组?,arrays,algorithm,statistics,combinatorics,black-box-testing,Arrays,Algorithm,Statistics,Combinatorics,Black Box Testing,假设我们有以下三个因素: 因子A:5个可能值 因子B:4个可能值 系数C:2个可能值 我如何为这些构建一个新的模型 我不明白的主要事情是做组合。我记得我们曾经遵循'11112222','11221122','12121212'这种组合,但似乎每个人都有不同的方法来填充数组中的值。 有没有标准的方法?没有一种简单的算法可以按顺序生成正交数组。取而代之的是,在许多不同的数学领域中发现了各种各样的结构,以及一些修改正交数组以某种方式改变其参数的技术。例如,请参见和。许多统计软件包都有一个正交数组设计实
因子B:4个可能值
系数C:2个可能值 我如何为这些构建一个新的模型 我不明白的主要事情是做组合。我记得我们曾经遵循'11112222','11221122','12121212'这种组合,但似乎每个人都有不同的方法来填充数组中的值。
有没有标准的方法?没有一种简单的算法可以按顺序生成正交数组。取而代之的是,在许多不同的数学领域中发现了各种各样的结构,以及一些修改正交数组以某种方式改变其参数的技术。例如,请参见和。许多统计软件包都有一个正交数组设计实用程序,它使用这些规则和已知正交数组的列表来尝试找到一个满足给定要求的正交数组
在你的情况下,我现在找不到比使用25次跑步时的六个五级因子设计更接近的了。您当然可以放弃三列。如果你在设计中有五个级别,而在实验中只有4个(或2个)级别,我倾向于一致地重新标记,例如{1,2,3,4,5}->{1,2,3,4,4}和{1,2,3,4,5}=>{1,2,1,2,1}但是我不清楚这对实验性质有什么影响。没有一个简单的算法可以按顺序生成正交数组。取而代之的是,在许多不同的数学领域中发现了各种各样的结构,以及一些修改正交数组以某种方式改变其参数的技术。例如,请参见和。许多统计软件包都有一个正交数组设计实用程序,它使用这些规则和已知正交数组的列表来尝试找到一个满足给定要求的正交数组
在你的情况下,我现在找不到比使用25次跑步时的六个五级因子设计更接近的了。您当然可以放弃三列。如果你在设计中有五个级别,而在实验中只有四个(或两个)级别,我倾向于一致地重新标记,例如{1,2,3,4,5}->{1,2,3,4,4}和{1,2,3,4,5}=>{1,2,1,2,2,1},但我不清楚这对实验性质有什么影响。正交数组的计算在计算上可能很昂贵,因此,设计通常以图书馆的形式提供 R包DOE.base有一个oa.design()函数,用于检索具有给定数量的因子和因子级别的设计。例如,要检索具有3个因子和级别3、4和5的设计,请使用以下命令
library(DOE.base)
oa.design(nlevels=c(3,4,5))
在本例中,返回的设计是60次运行的完全阶乘。这仍然是一个正交数组,但比同等因子水平的替代方案要昂贵得多
要获得3个因子和5个水平的正交数组,请使用:
oa.design(nlevels=c(5,5,5))
A B C
1 1 5 4
2 2 1 5
3 3 4 5
4 3 5 2
5 5 2 4
6 3 3 3
7 5 5 5
8 5 4 3
9 2 5 3
10 5 1 2
11 4 1 3
12 5 3 1
13 4 4 4
14 1 1 1
15 1 2 3
16 3 2 1
17 2 3 4
18 4 3 2
19 4 5 1
20 3 1 4
21 1 3 5
22 1 4 2
23 4 2 5
24 2 2 2
25 2 4 1
输入3个因子和4个级别,每个因子返回16个运行的正交数组,输入3个因子和3个级别,返回9个运行的正交数组
或者,Python包OApackage在PyPi()中可用
有关详细信息,请参阅:
- ,E.D.Schoen,p.T.Eendebak,M.V.M.Nguyen,《组合设计杂志》,第18卷,第2期,第123-140页,2010年
- ,皮特·T·伊恩德贝克,埃里克·D·肖恩,技术计量学第59卷,国际空间站。2017年1月1日
- 正交数组的计算在计算上非常昂贵,因此设计通常以库的形式提供
R包DOE.base有一个oa.design()函数,用于检索具有给定数量的因子和因子级别的设计。例如,要检索具有3个因子和级别3、4和5的设计,请使用以下命令
library(DOE.base)
oa.design(nlevels=c(3,4,5))
在本例中,返回的设计是60次运行的完全阶乘。这仍然是一个正交数组,但比同等因子水平的替代方案要昂贵得多
要获得3个因子和5个水平的正交数组,请使用:
oa.design(nlevels=c(5,5,5))
A B C
1 1 5 4
2 2 1 5
3 3 4 5
4 3 5 2
5 5 2 4
6 3 3 3
7 5 5 5
8 5 4 3
9 2 5 3
10 5 1 2
11 4 1 3
12 5 3 1
13 4 4 4
14 1 1 1
15 1 2 3
16 3 2 1
17 2 3 4
18 4 3 2
19 4 5 1
20 3 1 4
21 1 3 5
22 1 4 2
23 4 2 5
24 2 2 2
25 2 4 1
输入3个因子和4个级别,每个因子返回16个运行的正交数组,输入3个因子和3个级别,返回9个运行的正交数组
或者,Python包OApackage在PyPi()中可用
有关详细信息,请参阅:
- ,E.D.Schoen,p.T.Eendebak,M.V.M.Nguyen,《组合设计杂志》,第18卷,第2期,第123-140页,2010年
- ,皮特·T·伊恩德贝克,埃里克·D·肖恩,技术计量学第59卷,国际空间站。2017年1月1日