正交试验DOE

它原本是日本学者为了质量管理而设计的试验。后来被用在算法的参数设计上,可以利用部分的试验确定出最合理的参数组合。

举个例子,比如遗传算法中的种群数pop,交叉概率pr,变异概率pm,以及迭代次数N,每个参数我们初始定为3个值,那么想要确定最优的参数组合需要设计3^4=81次试验,才能确定下来。这样的试验规模太大了,采用正交试验的方法只需要进行L27=L3^4(3水平4因子),27次试验就可以确定出最优的参数组合。

再来说一下它的核心:不必进行全部组合试验,而只需要进行部分组合的试验,就可以确定最优的参数组合。

那么问题就转变为:

(1)挑选出哪些部分的组合?

(2)怎么根据部分组合的信息最终取反推出最优的组合信息(不是所有组合都进行了试验,那么那些没出现的组合试验我们怎么去评估结果;以及因为试验和结果不是一对一的关系,我们怎么反推出最优?)

下面以Minitab软件为例——Minitab田口设计,对上面两个问题进行解答。别的软件或在线网址也可以实现,原理相通,操作有些微差别。

1.挑选出部分组合

这是DOE的设计部分,软件可以自己生成对应的组合。

这里我们需要挑选的是,因子数,以及因子水平数。因子数就是哪些参数,参数的数量;因子水平数是每个参数有多少种取值。一开始举的例子中,因子数是4个,分别是pop,pr,pm,以及N。因子水平数是3个,分别取不同的值,比如pop=20、50、100等。

最终体现在论文中,以及软件中的是L27(试验的次数为27)或者是L3^4(3水平4因子)。

也可以修改设计,改变名称、因子水平值等。最终表里面不显示1、2、3、4显示具体的值,比如pr=0.5、0.6、07、0.8等。

2.选最优组合

具体操作可以看这篇文章:DOE实验设计之田口方法含minitab应用 - 知乎 (zhihu.com)

我们需要的是最终的组合。等我们进行过27次试验后,会生成两个图。一个是信噪比(S/N,分为望目望大望小),该比值越大,表明品质越好;一个是均值,我们经常做最小化问题,是越小越好。

望大使响应最大化S/N = −10 *log(Σ(1/Y2)/n)
望目以响应为目标且要使信噪比只以标准差为基础正、零或负S/N = −10 *log(σ2)
望目(默认)以响应为目标且要使信噪比以均值和标准差为基础具有“绝对零”的非负数,其中在均值为零时标准差为零

调整后的公式为:

望小使响应最小化目标值为零的非负数S/N = −10 *log(Σ(Y2)/n))

最终可以根据信噪比和均值,得到最终的组合,并且可以得到因子的重要性排序(根据秩排序)。

如,下面这张图,可以确定最终的参数组合取值,N为第3水平,R为第三水平,Limit为第三水平,β1&β2&γ都为第三水平。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
正交试验设计是一种统计方法,用于确定多个因素对实验结果的影响。在MATLAB中,我们可以使用Design of Experiments (DOE)工具箱来实现正交试验设计。 首先,我们需要确定实验因素和水平数。例如,我们想要研究3个因素A、B和C,每个因素有2个水平(低水平和高水平)。我们可以使用MATLAB中的`fullfact`函数生成完全因子设计。 ```matlab factors = 3; % 因素数 levels = [2 2 2]; % 每个因素的水平数 design = fullfact(levels); % 生成完全因子设计矩阵 ``` 接下来,我们可以使用`orthogonalize`函数将设计矩阵转换为正交设计矩阵。正交设计矩阵具有平衡的水平组合,可以减少试验次数。 ```matlab ortho_design = orthogonalize(design); % 转换为正交设计矩阵 ``` 然后,我们可以将正交设计矩阵与实验结果进行配对。例如,假设我们的实验结果存储在一个向量`response`中。 ```matlab response = [10 15 12 8 14 9 11 13]; % 实验结果向量 ``` 最后,我们可以使用`fitlm`函数拟合线性模型,以评估因素的影响。 ```matlab model = fitlm(ortho_design, response); % 拟合线性模型 anova(model); % 进行方差分析 ``` 通过分析ANOVA表,我们可以得出每个因素对实验结果的影响和统计显著性。 总之,MATLAB提供了强大的工具箱和函数来实现正交试验设计分析。通过选择适当的因素和水平数,并利用正交设计矩阵和线性模型拟合,我们可以评估多个因素对实验结果的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值