方差分析3——正交表与正交实验设计(R语言)
正交试验设计(orthogonal design简称正交设计(orthoplan),是利用正交表(orthogonal table)科学地安排与分析多因素试验的方法,是最常用的试验设计之一。正交表是一种特殊的表格,内容是特定的,不过表头可以根据需要自己选择。正交表又分为等水平正交表和混合水平正交表。

一、正交表

上表即正交表L9(34),它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(41×24),此表的5列中,有1列为4水平,4列为2水平。根据正交表的数据结构看出,正交表是一个n行c列的表,其中第j列由数码1,2,… Sj 组成,这些数码均各出现n/Sj 次。
1.1 正交表的性质
每一列中,不同的数字出现的次数相等。例如在两水平正交表中,任何一列都有数码“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.2 正交表的结构
行数(Runs):正交表中的行的个数,即试验的次数,也是我们通过正交实验法设计的测试用例的个数。
因素数(Factors) :正交表中列的个数,即我们要测试的功能点。
水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数” 。即要测试功能点的输入条件。
正交表一般用Ln(mk)表示,L代表是正交表,n代表实验次数或正交表的行数,k代表最多可安排影响指标因素的个数或正交表的列数,m代表每个因素的水平数,且有\(n=k*(m-1)+1\)。
如:L8(27)

正交试验法是用最少的测试用例覆盖两两组合,根据经验来看,如何两两组合没有问题,三三组合、四四组合等出问题的可能性也不大。
1.3 常用正交表

二、正交表的生成(R语言)
install.packages("DoE.base")
library(DoE.base)
design1 <- oa.design(L9.3.4)
A B C D
1 1 2 3 2
2 1 1 1 1
3 1 3 2 3
4 3 2 1 3
5 2 2 2 1
6 3 1 2 2
7 3 3 3 1
8 2 3 1 2
9 2 1 3 3
三、正交实验设计步骤
正交实验设计法,就是使用已经造好了的表格——正交表来安排实验并进行数据分析的一种方法。正交实验采用两两组合方式,减少用例个数,使用于兼容性测试、测试范围小。
3.1 打印机正交实验设计
PowerPoint软件打印功能描述如下:打印范围分:全部、当前幻灯片、给定范围;打印内容分:幻灯片、讲义、备注页、大纲视图;打印颜色/灰度分:演的、灰度、黑白共三种设置;打印方式:是否加框。

正交实验设计步骤如下:
Step1、如果需求是文字描述,将文字转化为图形
Step2、需求中包含1个独立功能——打印功能
Step3、针对打印功能开展需求分析
界面可见输入参数:打印范围、打印内容、打印颜色、打印方式
界面不可见输入参数:网络、打印机本身(耗材、阴间)、驱动打印服务
Step4、分析界面可见输入参数之间的关系及特点

Step5、使用正交实验法设计测试用例
①将需求转化为因子状态表(因子:输入参数,状态输入参数取值)

②将因子状态表中的文字用字母代替

③将因子状态表带入正交表(规则:多则合并,少则补充)


④如果正交表中有合并项,将合并项拆分成多行

⑤将正交表中的字母用文字代替
⑥一行对应一条测试用例

3.2 web系统正交实验设计
web包含大量的服务器、操作系统、浏览器插件如下:
| Web浏览器 | 插件 | 服务器 | 操作系统 |
|---|---|---|---|
| Netscape6.2 | 无 | IIS | Windows2000 |
| IE6.0 | RealPlayer | Apache | Windows NT |
| Opera4.0 | MediaPlayer | Netscape | Linux |
| Enterprise |
选择四因子三状态的正交表,代入可得

总结
正交试验设计总的来说包括两部分:一是试验设计;二是数据处理、基本步骤可简单归纳如下:
(1) 明确试验目的,确定评价指标
(2) 挑选因素,确定水平。应对实际问题进行具体分析,并根据试验目的,选出主要因素。如果对问题了解不够,可以适当多取一些因素。确定因素的水平数时,一般尽可能使因素的水平数相等,以方便试验数据处理。最后列出因素水平表
(3) 选正交表,进行表头设计。根据因素数和水平数来选择合适的正交表。一般要求,因素数≦正交表列数,因素水平数与正交表对应的水平数一致,在满足上述条件的前提下,选择较小的表。如果要求精度高,可以选择较大的表
(4) 表头设计就是将试验因素安排到所选正交表相应的列中。一般一个因素占有一列,不同因素占有不同的列(可以随机排列)。不放置因素或交互作用的列称为空白列(简称空列),空白列在正交设计的方差分析中也称为误差列,一般最好留至少一个空白列
(5) 明确试验方案,进行试验,得到结果。对试验结果进行统计分析。通常采用两种方法:一种是直观分析法(或称极差分析法);另一种是方差分析法。通过试验结果分析可以得到因素主次顺序、优方案等信息
(6) 进行验证试验,作进一步分析
参考资料
方差分析3——正交表与正交实验设计(R语言)的更多相关文章
- R语言实战(五)方差分析与功效分析
本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ================================================================ ...
- 实验的方差分析(R语言)
实验设计与数据处理(大数据分析B中也用到F分布,故总结一下,加深印象)第3课小结--实验的方差分析(one-way analysis of variance) 概述 实验结果\(S\)受多个因素\(A ...
- R语言函数总结(转)
R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达 ...
- 【R笔记】R语言函数总结
R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字 ...
- R语言笔记完整版
[R笔记]R语言函数总结 R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头, ...
- 【转】R语言函数总结
原博: R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头, ...
- R 语言实战-Part 3 笔记
R 语言实战(第二版) part 3 中级方法 -------------第8章 回归------------------ #概念:用一个或多个自变量(预测变量)来预测因变量(响应变量)的方法 #最常 ...
- 用R语言的quantreg包进行分位数回归
什么是分位数回归 分位数回归(Quantile Regression)是计量经济学的研究前沿方向之一,它利用解释变量的多个分位数(例如四分位.十分位.百分位等)来得到被解释变量的条件分布的相应的分位数 ...
- 如何在R语言中使用Logistic回归模型
在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...
- R语言实战(三)基本图形与基本统计分析
本文对应<R语言实战>第6章:基本图形:第7章:基本统计分析 =============================================================== ...
随机推荐
- vue3.0+vite按需引入element plus
1.安装vite-plugin-style-import yarn add vite-plugin-style-import -D 2.在项目根目录下的vite.config.js中配置 import ...
- 图论之最小生成树问题(kruskal)
最近有几位同学催我更新,于是来摸摸鱼,来讲一下最小生成树问题. 所谓最小生成树(MST),就是在一张无向带权图中的一棵经过所有节点,边权和最小的一棵树.在实际生活中,可以运用于城镇之间的修路上. 对于 ...
- 解决黑苹果macOS Monterey系统无法正常睡眠、睡眠无法唤醒,唤醒后显示器无输出问题
1.解决无法睡眠问题:添加睡眠补丁:HibernationFixup.kext, 或者添加ssdt:ssdt-GPRW.aml,并在ACPI补丁中添加热补丁: 2.解决睡眠后无法唤醒.唤醒后显示器无输 ...
- js字符串搜索
- 5vue 样式绑定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 关于Lua中的面向对象实现
写在前面 最近在琢磨"Lua热重载",在测试中发现我之前对Lua中的面向对象实现有一些理解发生变化,这里记录一下. 本文提到的面向对象实现来自云风. 类实现 <Lua程序设计 ...
- Stream流相关方法
LIST<对象> 转换MAP 并根据某个字段分组 // 并根据某个字段分组,并做了归类 Map<String, List<User>> collect = user ...
- NuGet国内镜像
NuGet国内镜像 https://nuget.cdn.azure.cn/v3/index.json
- github pic test
- [C#]索引指示器
参考代码: using System; namespace IndexerDemo { class StuInfo { public string Name; public string[] CouN ...