【数学建模算法】(32)方差分析(下)

2.双因素方差分析

如果要考虑两个因素对指标的影响,各划分几个水平,对每一个水平组合作若干次试验,对所得数据进行方差分析,检验两因素是否分别对指标有显著影响,或者还要进一步检验两因素是否对指标有显著的交互影响。

2.1.数学模型

设取个水平,取个水平,在水平组合下总体服从正态分布。又设在水平组合下作了个试验,所得结果记作服从,,,且相互独立。将这些数据列成下表的形式。

双因素试验数据表

...
...
...
... ... ... ... ...
...

将分解为:

其中,且相互独立。记

\mu是总均值,是水平对指标的效应,是水平对指标的效应,是水平与对指标的交互效应。模型表为:
\left\{\begin{array}{l}{x_{i j k}=\mu+\alpha_{i}+\beta_{j}+\gamma_{i j}+\varepsilon_{i j k}} \\ {\sum_{i=1}^{r} \alpha_{i}=0, \sum_{j=1}^{s} \beta_{j}=0, \sum_{i=1}^{r} \gamma_{i j}=\sum_{j=1}^{s} \gamma_{i j}=0} \\ {\varepsilon_{i j k} \sim N\left(0, \sigma^{2}\right), i=1, \cdots, r, j=1, \cdots, s, k=1, \cdots, t}\end{array}\right.(16)

原假设为:


2.2.无交互影响的双因素方差分析

如果根据经验或某种分析能够事先判定两因素之间没有交互影响,每组试验就不必重复,即可令,过程大为简化。

假设,于是:

此时,模型(16)可写成:
\left\{\begin{array}{l}{x_{i j}=\mu+\alpha_{i}+\beta_{j}+\varepsilon_{i j}} \\ {\sum_{i=1}^{r} \alpha_{i}=0, \sum_{j=1}^{s} \beta_{j}=0} \\ {\varepsilon_{i j} \sim N\left(0, \sigma^{2}\right), i=1, \cdots, r, j=1, \cdots, s}\end{array}\right.(20)

对这个模型我们所要检验的假设为式(17)和式(18)。下面采用与单因素方差分析模型类似的方法导出检验统计量。
记:

其中为全部试验数据的总变差,称为总平方和,对其进行分解:
\begin{aligned} S_{T} &=\sum_{i=1}^{r} \sum_{j=1}^{s}\left(x_{i j}-\overline{x}\right)^{2} \\ &=\sum_{i=1}^{r} \sum_{s=1}^{s}\left(x_{i j}-\overline{x}_{i \cdot}-\overline{x}_{\cdot j}+\overline{x}\right)^{2}+s \sum_{i=1}^{r}\left(\overline{x}_{i \cdot}-\overline{x}\right)^{2}+r \sum_{j=1}^{s}\left(\overline{x}_{\cdot j}-\overline{x}\right)^{2} \\ &=S_{E}+S_{A}+S_{B} \end{aligned}

可以验证,在上述平方和分解中交叉项均为 0。其中:

我们先来看看的统计意义。因为是水平下所有观测值的平均,所以反映了差异的程度。这种差异是由于因素的不同水平所引起的,因此称为因素平方和。类似地,称为因素的平方和。至于的意义不甚明显,我们可以这样来理解:因为

在我们所考虑的两因素问题中,除了因素和之外,剩余的再没有其它系统性因素的影响,因此从总平方和中减去和之后,剩下的数据变差只能归入随机误差,故反映了试验的随机误差。
有了总平方和的分解式:

以及各个平方和的统计意义,我们就可以明白,假设(17)的检验统计量应取为与的比。

和一元方差分析相类似,可以证明,当成立时,

当成立时:

检验规则为:
时接受,否则拒绝;
时接受,否则拒绝;
可以写出方差分析表:

无交互效应的两因素方差分析表

方差来源 平方和 自由度 均方
因素
因素
误差
总和

2.3.关于交互效应的双因素方差分析

与前面方法类似,记:

将全体数据对的偏差平方和:

进行分解,可得:

其中:

S_{B}=r t \sum_{j=1}^{s}\left(\overline{x}_{. j .}-\overline{x}\right)^{2}, \quad S_{A B}=t \sum_{i=1}^{r} \sum_{j=1}^{s}\left(\overline{x}_{i j .}-\overline{x}_{i . .}-\overline{x}_{c_{j}, c}+\overline{x}\right)^{2}
称为误差平方和,为因素的平方和(或行间平方和),为因素的平方和(或列间平方和),为交互作用的平方和(或格间平方和)。
可以证明,当成立时:

据此统计量,可以检验。

检验因子和各个水平的效应是否有差异,与 2.2 中的检验是一样的。

双因素方差分析表

方差来源 平方和 自由度 均方
因素
因素
交互效应
误差
总和

2.4.Matlab实现

统计工具箱中用 anova2 作双因素方差分析。命令为

p=anova2(x,reps)

其中 x 不同列的数据表示单一因素的变化情况,不同行中的数据表示另一因素的变化情况。如果每种行—列对(“单元”)有不止一个的观测值,则用参数 reps 来表明每个“单元”多个观测值的不同标号,即 reps 给出重复试验的次数 t 。下面的矩阵中,列因素有 3 种水平,行因素有两种水平,但每组水平有两组样本,相应地用下标来标识:
\left[\begin{array}{lll}{x_{111}} & {x_{121}} & {x_{131}} \\ {x_{112}} & {x_{122}} & {x_{132}} \\ {x_{211}} & {x_{221}} & {x_{231}} \\ {x_{212}} & {x_{222}} & {x_{232}}\end{array}\right]

例3 一种火箭使用了四种燃料、三种推进器,进行射程试验,对于每种燃料与每种推进器的组合作一次试验,得到试验数据如下表。问各种燃料之间及各种推进器之间有无显著差异?

火箭试验数据

58.2 56.2 65.3
49.1 54.1 51.6
60.1 70.9 39.2
75.8 58.2 48.7

解:记燃料为因素,它有4个水平,水平效应为,。推进器为因素 ,它有 3 个水平,水平效应为。我们在显著性水平下检验:


编写如下的Matlab程序:

x=[58.2 56.2 65.3
49.1 54.1 51.6
60.1 70.9 39.2
75.8 58.2 48.7];
[p,t,st]=anova2(x)

求得p=0.4491 0.7387,表明各种燃料和各种推进器之间的差异对于火箭射程无显著影响。

例4 一火箭使用了 4 种燃料,3 种推进器作射程试验,每种燃料与每种推进器的组合各发射火箭 2 次,得到如下表结果。

58.2,52.6 56.2,41.2 65.3,60.8
49.1,42.8 54.1,50.5 51.6,48.4
60.1,58.3 70.9,73.2 39.2,40.7
75.8,71.5 58.2,51.0 48.7,41.4

试在水平 0.05 下,检验不同燃料(因素 )、不同推进器(因素 )下的射程是否有显著差异?交互作用是否显著?

解 编写程序如下:

clc,clear
x0=[58.2,52.6 56.2,41.2 65.3,60.8
49.1,42.8 54.1,50.5 51.6,48.4
60.1,58.3 70.9,73.2 39.2,40.7
75.8,71.5 58.2,51.0 48.7,41.4];
x1=x0(:,1:2:5);x2=x0(:,2:2:6);
for i=1:4
    x(2*i-1,:)=x1(i,:);
    x(2*i,:)=x2(i,:);
end
[p,t,st]=anova2(x,2)

求得,表明各试验均值相等的概率都为小概率,故可拒绝均值相等假设。即认为不同燃料(因素)、不同推进器(因素)下的射程有显著差异,交互作用也是显著的。

数据非均衡的双因素方差分析的 Matlab 命令要使用多因素方差分析的命令anovan,具体使用方法参见下面的例 5。

3.正交试验设计与方差分析

前面介绍了一个或两个因素的试验,由于因素较少,我们可以对不同因素的所有可能的水平组合做试验,这叫做全面试验。当因素较多时,虽然理论上仍可采用前面的方法进行全面试验后再做相应的方差分析,但是在实际中有时会遇到试验次数太多的问题。如三因素四水平的问题,所有不同水平的组合有种,在每一种组合下只进行一次试验,也需做 64 次。如果考虑更多的因素及水平,则全面试验的次数可能会大得惊人。因此在实际应用中,对于多因素做全面试验是不现实的。于是我们考虑是否可以选择其中一部分组合进行试验,这就要用到试验设计方法选择合理的试验方案,使得试验次数不多,但也能得到比较满意的结果。

3.1.用正交表安排试验

正交表是一系列规格化的表格,每个表都有一个记号,如,见下表:

1 2 3 4
1 1 1 3 2
2 2 1 1 1
3 3 1 2 3
4 1 2 2 1
5 2 2 3 3
6 3 2 1 2
7 1 3 1 3
8 2 3 2 2
9 3 3 3 1

从上表可见,有9行,4列,表的主体中只有1,2,3三个数字组成。
正交表的组成:
(1)每列中数字出现的次数相同,如表每列中数字 1,2,3 均出现三次。
(2)任取两列数字的搭配是均衡的,如表里每两列中,九种组合各出现一次。

这种均衡性是一般正交表构造的特点,它使得根据正交表安排的试验,其试验结果
具有很好的可比性,易于进行统计分析。
用正交表安排试验时,根据因素和水平个数的多少以及试验工作量的大小来考虑选用哪张正交表,下面举例说明。

例5 为提高某种化学产品的转化率(%),考虑三个有关因素:反应温度(℃),反应时间(min)和使用催化剂的含量(%)。各因素选取三个水平,如下表所示。

温度 时间 催化剂含量
1 80 90 5
2 85 120 6
3 90 150 7

如果做全面试验,则需次,若用正交表,仅做 9 次试验。将三个因素分别放在表的任意三列上,如将分别放在的第 1,2 列上,放在的第 4 列上。将表中所在的三列上的数字 1,2,3 分别用相应的因素水平去替代,得 9 次试验方案。以上工作称为表头设计。再将 9 次试验结果转化率数据列于表上(见下表)。

反应温度 反应时间 催化剂含量 转化率
1 80(1) 90(1) 6(2) 31
2 85(2) 90(1) 5(1) 54
3 90(3) 90(1) 7(3) 38
4 80(1) 120(2) 5(1) 53
5 85(2) 120(2) 7(3) 49
6 90(3) 120(2) 6(2) 42
7 80(1) 150(3) 7(3) 57
8 85(2) 150(3) 6(2) 62
9 90(3) 150(3) 5(1) 64

这里不做统计分析,直接利用 Matlab 多因素方差分析的函数 anovan 进行求解,程序如下:

y=[31 54 38 53 49 42 57 62 64];
g1=[1 2 3 1 2 3 1 2 3];
g2=[1 1 1 2 2 2 3 3 3];
g3=[2 1 3 1 3 2 3 2 1];
[p,t,st]=anovan(y,{g1,g2,g3})

求得概率,可见因素的各水平对指标值的影响有显著差异(显著性水平取 0.1),而因素 的各水平对指标值的影响无显著差异。

你可能感兴趣的:(【数学建模算法】(32)方差分析(下))