方差分析3——正交表与正交实验设计
正交试验设计(orthogonal design简称正交设计(orthoplan),是利用正交表(orthogonal table)科学地安排与分析多因素试验的方法,是最常用的试验设计之一。正交表(Orthogonal Array, OA)是一种用于实验设计的矩阵,它通过系统化的排列组合方法帮助研究者在有限的实验条件下最大限度地探索多个因素对实验结果的影响。两者结合为各类复杂系统的实验提供了简洁高效的解决方案,广泛应用于质量工程、产品设计、制造优化等领域。
正交实验 | 正交表 |
---|---|
![]() |
![]() |
一、正交表
正交表(Orthogonal Array)是一种统计设计工具,用于实验设计和分析。它通过控制变量之间的排列组合,以较少的实验次数有效探索不同因素对结果的影响。正交表的关键在于“正交性”,即变量之间的组合是均匀分布的,能够平衡各个因素的影响。通过正交表,研究人员可以系统分析多个变量对实验结果的影响,而无需进行所有可能的实验。常用于工程、制造和产品设计中,尤其在优化产品质量、缩短实验时间、节省成本等方面具有优势。
序号 | A | B | C | D | 因素 | |
---|---|---|---|---|---|---|
组合的个数 | 1 | 1 | 1 | 1 | 1 | 4个控件——因子 |
2 | 1 | 2 | 2 | 2 | ||
3 | 1 | 3 | 3 | 3 | ||
4 | 2 | 1 | 2 | 3 | ||
5 | 2 | 2 | 3 | 1 | ||
6 | 2 | 3 | 1 | 2 | ||
7 | 3 | 1 | 3 | 2 | ||
8 | 3 | 2 | 1 | 3 | ||
9 | 3 | 3 | 2 | 1 | ||
每个因素各有3个状态——水平 |
上表即正交表L9(34),它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(41×24),此表的5列中,有1列为4水平,4列为2水平。根据正交表的数据结构看出,正交表是一个n行c列的表,其中第j列由数码 组成,这些数码均各出现 次。
1.1 正交表的起源与发展
正交表的起源可以追溯到数理统计学的发展历史,尤其是早期的实验设计理论。在20世纪初,英国统计学家罗纳德·费舍尔(Ronald A. Fisher)提出了实验设计中的基本原则,如随机化、重复和区组设计。他提出了方差分析(ANOVA)和拉丁方阵等概念,用来优化农业实验中的各种因素组合。费舍尔的研究为实验设计理论奠定了基础。在此基础上,印度数学家C.R. Rao进一步推动了正交表的理论发展。Rao对“正交”的概念进行了深入研究,指出在实验设计中,多个变量应以正交的方式排列,即保证各个变量的水平相互独立且均匀分布。Rao的贡献使得正交表逐渐成为一种标准的实验设计工具,用于提高实验效率。后来正交表的广泛应用归功于日本统计学家田口玄一(Genichi Taguchi)。田口在20世纪50年代至70年代开发了“田口方法”(Taguchi Methods),将正交表引入质量控制与工业实验设计中。田口的方法主要应用于制造业中的多因素实验设计,通过正交表进行实验,以最少的实验次数达到优化设计的目的。田口的贡献将正交表从理论工具转变为实际应用中的重要手段。
正交表与正交实验设计在20世纪下半叶逐渐成熟,并在全球范围内得到了广泛推广。在20世纪70年代,日本制造业蓬勃发展,汽车、电子等高精密制造行业迅速崛起,正交表的应用帮助这些行业显著提高了产品质量和生产效率。田口玄一的实验设计方法在日本的工业界取得了巨大成功,并通过多国企业的推广,逐渐进入欧美国家的工业领域。随着全球制造业的发展,正交实验设计不仅在日本制造业取得成功,还逐渐渗透到欧美的汽车、航空、电子、化工等各类行业中。在欧美,正交实验设计被认为是一种高效的实验设计工具,尤其是在质量工程(Quality Engineering)中,它帮助工程师在成本有限的条件下优化产品性能。进入21世纪,随着计算能力的提升和计算机辅助设计工具的普及,正交表与正交实验设计得到了进一步的发展。现代软件工具(如Minitab、JMP等)使得正交实验设计变得更加便捷,工程师和科学家可以轻松设计和分析复杂的实验,极大提高了正交表在工业和科研中的应用效率。
1.2 正交实验案例
正交实验设计是一种有效的实验方法,能够在减少实验次数的前提下评估多因素对结果的影响。通过正交表,可以快速找到影响结果的关键因素及其最优组合。以下是基于上面图片中的六个因素(A-F)进行的正交实验设计案例及其分析过程。
-
实验目的
实验的目的是通过控制加热、保温及冷却的各个参数,优化工艺过程,以提升某种产品的性能或质量。实验的最终目标是找到最佳的参数组合,以提高产品质量。 -
挑选实验因素和水平
本实验涉及六个因素,每个因素有两个水平:
A:加热时间(0.6 h, 1.0 h)
B:加热温度(850℃, 900℃)
C:保温(1)时间(3 h, 2.5 h)
D:风冷时间(1 min, 3 min)
E:保温(2)温度(600℃, 650℃)
F:保温(2)时间(1.5 h, 2.5 h) -
选择正交表
实验使用了 L8(2^7) 的正交表。该正交表可以处理最多七个两水平因素,而本实验使用了六个因素,剩下的第七列可作为误差列。通过这种设计,实验次数从全因子设计的64次减少到8次。 -
实验实施
根据正交表设计出的8个实验组合,每个实验对应不同的因素组合。例如,第1行的实验组合为:加热时间0.6小时,加热温度900℃,保温1时间3小时等。实验结束后,记录各个组合下的实验结果(例如硬度值)。 -
数据分析
常用的分析方法有极差分析和方差分析:
极差分析:通过计算每个因素在不同水平下的平均值来确定影响程度。例如,A因素在0.6小时和1.0小时的平均结果值相减即为极差。极差越大,说明该因素对实验结果影响越大。
方差分析:通过计算各因素的方差并进行F检验,判断哪些因素对实验结果有显著影响。F值越大,说明该因素的影响越显著。 -
优化与验证
通过分析,确定各因素的最优水平组合。例如,假设加热时间A和加热温度B对实验结果影响最大,实验者可以将A和B的水平调整到最佳值,进行进一步验证实验。
1.3 正交表的性质
每一列中,不同的数字出现的次数相等。例如在两水平正交表中,任何一列都有数码“1”与“2”,且任何一列中它们出现的次数是相等的;如在三水平正交表中,任何一列都有“1”、“2”、“3”,且在任一列的出现数均相等。
任意两列中数字的排列方式齐全而且均衡。例如在两水平正交表中,任何两列(同一横行内)有序对子共有4种:(1,1)、(1,2)、(2,1)、(2,2)。每种对数出现次数相等。在三水平情况下,任何两列(同一横行内)有序对共有9种,1.1、1.2、1.3、2.1、2.2、2.3、3.1、3.2、3.3,且每对出现数也均相等。
以上两点充分体现了正交表的两大优越性,即“均匀分散性,整齐可比”。通俗的说,每个因素的每个水平与另一个因素各水平各碰一次,这就是正交性。
1.4 正交表的结构
行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。
因素数(Factors) :正交表中列的个数,即我们要测试的功能点。
水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数” 。即要测试功能点的输入条件。
正交表一般用表示,L代表是正交表,n代表实验次数或正交表的行数,k代表最多可安排影响指标因素的个数或正交表的列数,m代表每个因素的水平数,且有。
如:
正交试验法是用最少的测试用例覆盖两两组合,根据经验来看,如何两两组合没有问题,三三组合、四四组合等出问题的可能性也不大。
1.5 正交表与正交实验设计的应用
质量工程:正交实验设计最常见的应用是在质量工程(Quality Engineering)领域,尤其是在生产制造过程中。通过使用正交表,企业可以在不进行全因子实验的情况下,评估多个变量对产品质量的影响。这种方法特别适合大规模生产,因为它能够帮助企业在不增加成本的情况下,找到关键的影响因素并进行优化。例如,在汽车制造中,正交实验设计被用于优化发动机性能,评估不同材料和工艺参数对汽车耐用性、燃油效率和安全性的影响。
产品设计与开发:正交实验设计在产品设计和开发中的应用非常广泛。在新产品开发过程中,设计团队通常面临多个设计参数需要调整的复杂情况。通过正交实验设计,设计师可以在有限的实验次数下,探索多个因素的组合,从而找到最优设计。例如,在家用电器的设计中,工程师可以使用正交表测试不同的材料、形状、温度和使用条件,以找出最优的产品组合方案。
化工与材料科学:在化学工业和材料科学中,研究者需要测试多个化学成分或工艺条件对反应产物或材料特性的影响。正交实验设计为研究人员提供了一种系统化的工具,可以减少实验次数的同时,保证获得准确的实验结果。例如,在新型合金的研发中,研究者可以使用正交表测试不同成分比例、热处理时间和温度对合金性能的影响,从而找到最优的配方。
软件测试:正交表在软件工程中的应用越来越广泛,尤其是在软件测试中。由于软件系统通常包含多个模块和大量的输入组合,测试所有可能的组合几乎是不可能的。通过使用正交表进行组合测试,测试工程师可以有效减少测试用例数量,同时覆盖到大部分重要的输入组合。例如,在测试某款软件的输入验证功能时,正交实验设计可以帮助生成覆盖各类输入条件的测试用例,以发现潜在的功能缺陷。
农业实验设计:正交表最早的应用之一便是在农业实验中。农业科学家在研究农作物的生长、肥料和灌溉方式等多个变量的影响时,通常需要设计大量的实验。通过正交实验设计,农业研究人员可以以较少的实验次数探索多种种植条件对作物产量的影响,帮助农民找到最佳的种植方式。
生物医学与药物研发:正交实验设计在生物医学和药物研发中的应用也逐渐增加。在药物研发中,研究者通常需要测试多种化合物、剂量和给药方式对疗效的影响。通过正交表设计实验,科学家可以有效减少实验组合数量,并获得关于药物相互作用和最佳剂量的宝贵信息。此外,正交实验设计还广泛用于医疗设备的研发和临床试验设计中。
二、正交表的软件生成(R和Python语言)
install.packages("DoE.base")
library(DoE.base)
design1 <- oa.design(L9.3.4)
import itertools
import pandas as pd
# 定义每个因素的水平数 (3个水平,4个因素)
levels = [range(1, 4), range(1, 4), range(1, 4), range(1, 4)]
# 使用 itertools.product 生成所有组合(全因子设计)
design = list(itertools.product(*levels))
# 手动挑选 9 行来模拟 L9(3^4) 的设计
# L9 是特定的正交表,只挑选 9 行
selected_rows = [0, 1, 2, 3, 4, 5, 6, 7, 8]
design = [design[i] for i in selected_rows]
# 将设计转化为 pandas DataFrame
df = pd.DataFrame(design, columns=['Column1', 'Column2', 'Column3', 'Column4'])
# 打印生成的正交表
print(df)
三、正交实验设计步骤
正交实验设计法,就是使用已经造好了的表格——正交表来安排实验并进行数据分析的一种方法。正交实验采用两两组合方式,减少用例个数,使用于兼容性测试、测试范围小。
3.1 打印机正交实验设计
PowerPoint软件打印功能描述如下:打印范围分:全部、当前幻灯片、给定范围;打印内容分:幻灯片、讲义、备注页、大纲视图;打印颜色/灰度分:演的、灰度、黑白共三种设置;打印方式:是否加框。
正交实验设计步骤如下:
Step1、如果需求是文字描述,将文字转化为图形
Step2、需求中包含1个独立功能——打印功能
Step3、针对打印功能开展需求分析
界面可见输入参数:打印范围、打印内容、打印颜色、打印方式
界面不可见输入参数:网络、打印机本身(耗材、阴间)、驱动打印服务
Step4、分析界面可见输入参数之间的关系及特点
Step5、使用正交实验法设计测试用例
①将需求转化为因子状态表(因子:输入参数,状态输入参数取值)
打印范围 | 打印内容 | 打印颜色 | 打印方式 |
---|---|---|---|
全部 | 幻灯片 | 颜色 | 加框 |
当前幻灯 | 讲义 | 灰度 | 不加框 |
给定范围 | 备注页 | 黑白 | |
大纲视图 |
②将因子状态表中的文字用字母代替
A | B | C | D |
---|---|---|---|
A1 | B1 | C1 | D1 |
A2 | B2 | C2 | D2 |
A3 | B3 | C3 | |
B4 |
③将因子状态表带入正交表(规则:多则合并,少则补充)
列号/试验号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 3 |
2 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 |
3 | 1 | 2 | 3 | 2 | 3 | 1 | 3 | 1 | 2 |
4 | 1 | 2 | 3 | 3 | 1 | 2 | 2 | 3 | 1 |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|
A | A1 | A1 | A1 | A2 | A2 | A2 | A3 | A3 |
B | B1 | B2 | B3/B4 | B1 | B2 | B3/B4 | B1 | B2 |
C | C1 | C2 | C3 | C2 | C3 | C1 | C3 | C1 |
D | D1 | D2 | D1 | D2 | D1 | D2 | D2 | D1 |
④如果正交表中有合并项,将合并项拆分成多行
A | A1 | A1 | A1 | A1 | A2 | A2 | A2 | A2 | A3 | A3 | A3 | A3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
B | B1 | B2 | B3 | B4 | B1 | B2 | B3 | B4 | B1 | B2 | B3 | B4 |
C | C1 | C2 | C3 | C3 | C2 | C3 | C1 | C1 | C3 | C1 | C2 | C2 |
D | D1 | D2 | D1 | D1 | D2 | D1 | D2 | D2 | D2 | D1 | D1 | D1 |
⑤将正交表中的字母用文字代替
⑥一列对应一条测试用例
打印范围 | 全部 | 全部 | 全部 | 全部 | 当前幻灯 | 当前幻灯 | 当前幻灯 | 当前幻灯 | 给定范围 | 给定范围 | 给定范围 | 给定范围 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
打印内容 | 幻灯片 | 讲义 | 备注页 | 大纲视图 | 幻灯片 | 讲义 | 备注页 | 大纲视图 | 幻灯片 | 讲义 | 备注页 | 大纲视图 |
打印颜色 | 颜色 | 灰度 | 黑白 | 黑白 | 灰度 | 黑白 | 颜色 | 颜色 | 黑白 | 颜色 | 灰度 | 灰度 |
打印方式 | 加框 | 不加框 | 加框 | 加框 | 不加框 | 加框 | 不加框 | 不加框 | 不加框 | 加框 | 加框 | 加框 |
3.2 web系统正交实验设计
web包含大量的服务器、操作系统、浏览器插件如下:
Web浏览器 | 插件 | 服务器 | 操作系统 |
---|---|---|---|
Netscape6.2 | 无 | IIS | Windows2000 |
IE6.0 | RealPlayer | Apache | Windows NT |
Opera4.0 | MediaPlayer | Netscape | Linux |
Enterprise |
选择四因子三状态的正交表,代入可得
测试用例 | 浏览器 | 插件 | 服务器 | 操作系统 |
---|---|---|---|---|
1 | Netscape6.2 | 无 | IIS | Windows2000 |
2 | Netscape6.2 | RealPlayer | Apache | Windows NT |
3 | Netscape6.2 | MediaPlayer | Netscape Enterprise | Linux |
4 | IE6.0 | 无 | Apache | Linux |
5 | IE6.0 | RealPlayer | Netscape Enterprise | Windows2000 |
6 | IE6.0 | MediaPlayer | IIS | Windows NT |
7 | Opera4.0 | 无 | Netscape Enterprise | Windows NT |
8 | Opera4.0 | RealPlayer | IIS | Linux |
9 | Opera4.0 | MediaPlayer | MediaPlayer | Windows2000p |
总结
正交表是一种重要的实验设计工具,帮助研究者在多因素、多水平的复杂系统中高效获取有用信息。田口玄一将其引入工业领域后,广泛应用于质量工程、产品设计、制造优化等多个行业。正交实验设计的核心优势是通过有限的实验次数,评估多个因素对实验结果的影响,相较于全因子设计能大幅减少实验次数。
正交实验设计的基本步骤包括:明确实验目的和评价指标,挑选实验因素与水平,选择合适的正交表,进行表头设计和空列设置,然后实施实验并对结果进行统计分析,常用极差分析和方差分析方法,最后通过验证实验确保结果的准确性。
正交实验设计的优势在于其易于实施和分析,能够显著减少实验成本并提高效率,尤其适用于时间和资源有限的项目。正交表的应用广泛,涵盖制造业、软件测试、药物研发和农业科学等领域,帮助研究者在各种条件下优化设计,得出高效的解决方案。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)