侧边栏壁纸
  • 累计撰写 58 篇文章
  • 累计创建 1 个标签
  • 累计收到 48 条评论
标签搜索

目 录CONTENT

文章目录

正交实验:正交试验设计,正交实验极差分析和方差分析

食用菌精准育种实验室-实验宝典
2025-12-17 / 0 评论 / 0 点赞 / 7 阅读 / 2,827 字
欢迎来到青岛农业大学于浩教授团队
开放交流·合作共赢
山东省现代农业产业技术体系食用菌体系

原创内容,欢迎转载,转载请注明出处


主笔:于浩


导读

1、正交试验设计源于统计学的正交表方法,由日本统计学家田口玄一推广应用于质量工程领域,故又称田口设计 。其核心思想是:当研究多个因素对某一指标的影响时,通过选择部分具有代表性的实验组合,而非穷举所有可能组合,从而大幅减少实验次数。例如,研究3个三水平因素时,传统方法需要3×3×3=27次实验,而使用L9(3^3)正交表仅需9次实验即可覆盖所有因素水平的组合情况,减少约67%的实验工作量。正交表具有"分散、整齐、可比"的特点,确保每个因素的各个水平在实验中出现的次数相等,且各因素间组合均匀分布。这种设计使得数据分析时能够准确区分各因素对结果的影响,甚至识别因素间的交互作用。

2、正交试验最常用的就是三因素三水平,正交表的列数是固定的,因此9次的正交实验最多安排4因素3水平。因素和水平太多会造成实验条件差异大,噪声干扰增强,结果分析不准确。因此建议就采用三因素三水平的正交实验就行,最多采用4因素3水平,如果更为复杂的实验,建议使用“Plackett-Burman设计+最陡爬坡试验+响应面优化”来优化实验条件。

3、可以进行正交试验设计和分析的软件有非常多,其中正交设计助手、SPSS是大家最常用的软件,但是网上很多使用的软件或者在线平台是收费软件,非常昂贵,如果没有购买这个软件但是文章中提到了使用该软件,可能会留下隐患。建议在发文章的时候使用R语言的DoE.base包,或者Python的statsmodels库,这些是免费软件。本教程也提供了python来分析正交试验的脚本,可以一句代码生成所有分析结果和图片。

“正交试验设计和分析是采用python的statsmodels库完成的。” 【教程后会附上python的代码脚本】

4、其他

本教程对于结果只采用了极差分析和方差分析,当然如果从统计学角度看,引入D列的空白列(误差列)进行方差分析,对于判断是否显著非常重要。但是就算分析中不使用空白列,结果基本上可以得到一个准确的实验结果。所以说这里对于更为详细复杂的分析过程没有展示,有兴趣的可以自己学习。

做正交试验主要的目的就是减少实验的次数,但是这并不意味着不需要做平行,虽然说可以不做平行,但是我认为本身正交试验已经将实验次数减少了,因此强烈推荐大家做实验平行,哪怕只做2个平行,也可以减少由于随机误差导致的结果分析不准确。


https://www.ibmspss.com.cn/jiaocheng/spss-icmkdkl.html

一、1个3因素3水平的正交试验


(一)、正交实验设计

1、正交实验设计的基本流程

正交试验的基本实验流程如下:

(1)先做单因素实验,确定正交实验需要采用的因素与水平,一般来说根据文献和主观判断来选择不同的因素进行单因素实验,根据单因素实验结果,选择影响显著的因素开展正交实验。通常选用3因素3水平就行,太多的因素和水平结果判断不准确。

(2)生成正交表,可以用软件生成,也可以直接用下面现成的,软件生成的跟下面的完全一样。

(3)根据正交表来开展实验,最好每组条件做2-3组平行,得到实验结果。

(4)使用软件进行极差分析以及方差分析,得到最优的实验条件。


2、一个简单的3因素3水平正交实验设计

正交实验的设计,基本上设计的模式都是默认的,所以大家不需要利用软件给自己生成一个正交试验设计表格,可以直接套用网上的正交实验设计(如下图)。

如果是3因素3水平就用前面三列(A、B、C)如果是4因素3水平就把空白列D作为第4个因素。

试验编号 因素A 因素B 因素C 空白列D 结果Y(做教程用)
1 1 1 1 1 9.5
2 1 2 2 2 12.1
5 1 3 3 3 9.8
3 2 1 2 3 15.0
4 2 2 3 1 16.5
5 2 3 1 2 12.9
7 3 1 3 2 10.0
8 3 2 1 3 13.2
9 3 3 2 1 10.8

3、用SPSS软件生成正交试验(这部分没有用)

参考附录


(二)、正交试验结果极差分析:正交设计助手

1、打开正交设计助手(点击下载软件),点击“文件/新建工程”,再弹出的对话框中输入工程名字,如Test。

ScreenShot_2025-12-17_161338_511.png

2、点击刚才生成的工程的名字,再点击“实验/新建实验”,创建实验。

ScreenShot_2025-12-17_161508_398.png

3、在弹出的对话框的第一个子窗口“实验说明”,输入实验的名称,如 正交试验。

ScreenShot_2025-12-17_161629_319.png

4、在第2个子窗口“选择正交表”中选择“L9_3_4”,这个表格适用3因素3水平和4因素4水平的实验。

ScreenShot_2025-12-17_161653_722.png

5、在最后一个子窗口 “因素与水平” 中写上因素的名称,因素一般都是写1、2、3,当然写其他的也行,只要能一一对应起来就行。最后点击“确定”

ScreenShot_2025-12-17_161813_811.png

6、把实验的结果写在实验结果一栏,点击这个实验的名字,再点击“分析 / D. 直观分析”,就可以生成极差分析了。

ScreenShot_2025-12-17_162039_440.png

7、下面就是极差分析结果,主要就看哪个因素的极差大,谁大谁对于结果影响显著。

ScreenShot_2025-12-17_162132_294.png


(三)、正交试验结果方差分析:SPSS

1、方差分析一般用SPSS,我发现正交设计助手的方差分析不计算显著性,所以就使用大家常用的SPSS了,再次说一下,建议使用下面的python脚本,不要使用这个SPSS收费软件,有风险。想要下载使用可以到PDD上面自行购买。

第一步肯定也是打开SPSS软件,然后点击下面的 “变量视图”,在第一列输入我们的三个因素的名字,以及结果列的名字,输入后后面会自动生成一些信息,不用看。

ScreenShot_2025-12-17_163503_390.png

2、点击下面的 “数据视图”,把上面的正交表和实验结果粘贴上去。

ScreenShot_2025-12-17_163544_644.png

3、粘贴完成结果之后,点击上面的 “分析 / 一般线性模型 / 单变量”。

ScreenShot_2025-12-17_163616_811.png

4、Y是结果,所以Y是因变量,点击Y再点击因变量左边的箭头,把Y移动到因变量这一栏。

同样的方法把L、M、N三个因素转移到 固定因子窗口中。

ScreenShot_2025-12-17_163701_106.png

5、转移之后,点击右上角的 “模型”。

ScreenShot_2025-12-17_163718_949.png

6、在模型窗口中,先点击“设定”, 再把左边的三个因素,依次转移到右边“模型”窗口中,不能一起选择转移。

在下面 类型中选择“主效应”,完成后点击“继续”。

ScreenShot_2025-12-17_163808_839.png

7、又回到了之前的窗口,点击下面的“确定”就开始进行方差分析了。

ScreenShot_2025-12-17_163822_561.png

8、很快就自动弹出方差分析的结果。从结果可以看出来,L、M和N三个因素的Sig.的值分别为0.046、0.100和0.621,其中L因素的值小于0.05,是显著的。

ScreenShot_2025-12-17_163913_203.png


二、利用python脚本分析3因素3水平的正交实验结果


脚本和使用方法

我编写了一个正交实验的python脚本,采用了statsmodels等库来进行正交结果的极差分析和方差分析,并绘制了极差分析图片。

脚本的名字为:orthogonal_test.py (右键链接另存为,可以下载脚本)

这个脚本是一个3因素3水平的正交试验的结果分析,大家在使用的时候按照给出来的正交表开展实验(跟上面的正交表一样),然后把其中第40列的值更换成为自己的实验结果就可以了。

image-20251217155814327.png

只需要打开powershell,或者在linux服务器上面找到脚本所在路径,输入

python orthogonal_test.py       # linux上面是 python3 orthogonal_test.py

结果

下面就是生成的结果,首先是极差分析,可以看到根据极差分析:L因素 > M因素 > N因素,说明了L因素对于结果影响最大。

最优的水平组合也给出来了就是:L因素的2水平,M因素的2水平和N因素的2水平

通过方差分析可以看到,L因素的显著性p值为0.045968 < 0.05,因此L因素是显著的,所有的结果跟“正交设计助手“和”SPSS“给出来的结果完全一致,所以可以完全可以采用python脚本来分析结果,不需要下载上面的两个软件

ScreenShot_2025-12-17_160012_333.png

下面是脚本绘制出来的极差图片,更直观的看到每个因素的极差水平,以及判断每个因素哪个水平是最优的。

Figure_1.png



附录


利用SPSS来设计正交表格

有时间再补充,没啥用的操作。

0

评论区