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

作者: 热爱学习的高老板 | 来源:发表于2019-08-28 15:38 被阅读0次

    2.双因素方差分析

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

    2.1.数学模型

    Ar个水平A_{1}, A_{2}, \cdots, A_{r}Bs个水平B_{1}, B_{2}, \cdots, B_{s},在水平组合\left(A_{i}, B_{j}\right)下总体\mathcal{X}_{i j}服从正态分布N\left(\mu_{i j}, \sigma^{2}\right), i=1, \cdots, r, j=1, \cdots, s。又设在水平组合\left(A_{i}, B_{j}\right)下作了t个试验,所得结果记作x_{i j k}, \quad x_{i j k}服从N\left(\mu_{i j}, \sigma^{2}\right)i=1, \cdots, r, \quad j=1, \cdots, sk=1, \cdots, t,且相互独立。将这些数据列成下表的形式。

    双因素试验数据表

    B_{1} B_{2} ... B_{s}
    A_{1} x_{111} \cdots x_{11 t} x_{121} \cdots x_{12 t} ... x_{1s1} \cdots x_{1s t}
    A_{2} x_{211} \cdots x_{21 t} x_{221} \cdots x_{22 t} ... x_{2s1} \cdots x_{2s t}
    ... ... ... ... ...
    A_{r} x_{r11} \cdots x_{r1 t} x_{r21} \cdots x_{r2 t} ... x_{rs1} \cdots x_{rs t}

    x_{i j k}分解为:
    x_{i j k}=\mu_{i j}+\varepsilon_{i j k}, \quad i=1, \cdots, r, \quad j=1, \cdots, s, \quad k=1, \cdots, t(14)

    其中\varepsilon_{i j k} \sim N\left(0, \sigma^{2}\right),且相互独立。记
    \mu=\frac{1}{r S} \sum_{i=1}^{r} \sum_{j=1}^{s} \mu_{i j}, \quad \mu_{i .}=\frac{1}{s} \sum_{j=1}^{s} \mu_{i j}, \quad \alpha_{i}=\mu_{i \bullet}-\mu
    \mu_{ . j}=\frac{1}{r} \sum_{i=1}^{r} \mu_{i j}, \quad \beta_{j}=\mu_{ \bullet j}-\mu, \quad \gamma_{i j}=\mu_{i j}-\mu-\alpha_{i}-\beta_{j}(15)

    \mu是总均值,\alpha_{i}是水平A_{i}对指标的效应,\beta_{j}是水平B_{j}对指标的效应,\gamma_{i j}是水平A_{i}B_{j}对指标的交互效应。模型表为:
    \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)

    原假设为:
    H_{01} : \alpha_{i}=0(i=1, \cdots, r)(17)
    H_{02} : \beta_{j}=0(j=1, \cdots, s)(18)
    H_{03} : \gamma_{i i}=0(i=1, \cdots, r ; j=1, \cdots, s)(19)

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

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

    假设\gamma_{i j}=0,于是:
    \mu_{i j}=\mu+\alpha_{i}+\beta_{j}, \quad i=1, \cdots, r, \quad j=1, \cdots, s
    此时,模型(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)。下面采用与单因素方差分析模型类似的方法导出检验统计量。
    记:
    \overline{x}=\frac{1}{r S} \sum_{i=1}^{r} \sum_{j=1}^{s} x_{i j}, \quad \overline{x}_{i .}=\frac{1}{S} \sum_{j=1}^{s} x_{i j}, \overline{x}_{\bullet j}=\frac{1}{r} \sum_{i=1}^{r} x_{i j}
    S_{T}=\sum_{i=1}^{r} \sum_{j=1}^{s}\left(x_{i j}-\overline{x}\right)^{2}

    其中S_{T}为全部试验数据的总变差,称为总平方和,对其进行分解:
    \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。其中:
    S_{E}=\sum_{i=1}^{r} \sum_{s=1}^{s}\left(x_{i j}-\overline{x}_{i .}-\overline{x}_{. j}+\overline{x}\right)^{2}
    S_{A}=s \sum_{i=1}^{r}\left(\overline{x}_{i .}-\overline{x}\right)^{2}, \quad S_{B}=r \sum_{j=1}^{s}\left(\overline{x}_{ . j}-\overline{x}\right)^{2}

    我们先来看看S_{A}的统计意义。因为\overline{x}_{i \bullet}是水平A_{i}下所有观测值的平均,所以\sum_{i=1}^{r}\left(\overline{x}_{i .}-\overline{x}\right)^{2}反映了\overline{x}_{1 .}, \overline{x}_{2 .}, \cdots, \overline{x}_{r .}差异的程度。这种差异是由于因素A的不同水平所引起的,因此S_{A}称为因素A平方和。类似地,S_{B}称为因素B的平方和。至于S_{E}的意义不甚明显,我们可以这样来理解:因为
    S_{E}=S_{T}-S_{A}-S_{B}(21)

    在我们所考虑的两因素问题中,除了因素AB之外,剩余的再没有其它系统性因素的影响,因此从总平方和中减去S_{A}S_{B}之后,剩下的数据变差只能归入随机误差,故S_{E}反映了试验的随机误差。
    有了总平方和的分解式:
    S_{T}=S_{E}+S_{A}+S_{B}
    以及各个平方和的统计意义,我们就可以明白,假设(17)的检验统计量应取为S_{A}S_{E}的比。

    和一元方差分析相类似,可以证明,当H_{01}成立时,
    F_{A}=\frac{\frac{S_{A}}{r-1}}{\frac{S_{E}}{(r-1)(s-1)}} \sim F(r-1,(r-1)(s-1))(22)
    H_{02}成立时:
    F_{B}=\frac{\frac{S_{B}}{s-1}}{\frac{S_{E}}{(r-1)(s-1)}} \sim F(s-1,(r-1)(s-1))(23)
    检验规则为:
    F_{A}<F_{1-\alpha}(r-1,(r-1)(s-1))时接受H_{01},否则拒绝H_{01}
    F_{B}<F_{1-\alpha}(s-1,(r-1)(s-1))时接受H_{02},否则拒绝H_{02}
    可以写出方差分析表:

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

    方差来源 平方和 自由度 均方 F
    因素A S_{A} r-1 \overline{S}_{A}=\frac{S_{A}}{r-1} \frac{\overline{S}_{A}}{\overline{S}_{E}}
    因素B S_{B} s-1 \overline{S}_{B}=\frac{S_{B}}{s-1} \frac{\overline{S}_{B}}{\overline{S}_{E}}
    误差 S_{E} (r-1)(s-1) \overline{S}_{E}=\frac{S_{E}}{(r-1)(s-1)}
    总和 S_{T} rs-1

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

    与前面方法类似,记:
    \overline{x}=\frac{1}{r s t} \sum_{i=1}^{r} \sum_{j=1}^{s} \sum_{k=1}^{t} x_{i j k}, \quad \overline{x}_{i j \bullet}=\frac{1}{t} \sum_{k=1}^{t} x_{i j k}
    \overline{x}_{i \bullet \bullet}=\frac{1}{s t} \sum_{j=1}^{s} \sum_{k=1}^{t} x_{i j k}, \quad \overline{x}_{\bullet j \bullet}=\frac{1}{r t} \sum_{i=1}^{r} \sum_{k=1}^{t} x_{i j k}

    将全体数据对\overline{x}的偏差平方和:
    S_{T}=\sum_{i=1}^{r} \sum_{j=1}^{s} \sum_{k=1}^{t}\left(x_{i j k}-\overline{x}\right)^{2}(24)
    进行分解,可得:
    S_{T}=S_{E}+S_{A}+S_{B}+S_{A B}(25)
    其中:
    S_{E}=\sum_{i=1}^{r} \sum_{j=1}^{s} \sum_{k=1}^{t}\left(x_{i j k}-\overline{x}_{i j .}\right)^{2}, \quad S_{A}=s t \sum_{i=1}^{r}\left(\overline{x}_{i . .}-\overline{x}\right)^{2}
    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}
    S_{E}为误差平方和,S_{A}为因素A的平方和(或行间平方和),S_{B}为因素B的平方和(或列间平方和),S_{A B}为交互作用的平方和(或格间平方和)。
    可以证明,当H_{03}成立时:
    F_{A B}=\frac{\frac{S_{A B}}{(r-1)(s-1)}}{\frac{S_{E}}{r s(t-1)}} \sim F((r-1)(s-1), r s(t-1))(26)
    据此统计量,可以检验H_{03}

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

    双因素方差分析表

    方差来源 平方和 自由度 均方 F
    因素A S_{A} r-1 \overline{S}_{A}=\frac{S_{A}}{r-1} \frac{\overline{S}_{A}}{\overline{S}_{E}}
    因素B S_{B} s-1 \overline{S}_{B}=\frac{S_{B}}{s-1} \frac{\overline{S}_{B}}{\overline{S}_{E}}
    交互效应 S_{A B} (r-1)(s-1) \overline{S}_{A B}=\frac{S_{A B}}{(r-1)(s-1)} \frac{\overline{S}_{A B}}{\overline{S}_{E}}
    误差 S_{E} rs(t-1) \overline{S}=\frac{S_{E}}{r s(t-1)}
    总和 S_{T} rst-1

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

    火箭试验数据

    B_{1} B_{2} B_{3}
    A_{1} 58.2 56.2 65.3
    A_{2} 49.1 54.1 51.6
    A_{3} 60.1 70.9 39.2
    A_{4} 75.8 58.2 48.7

    解:记燃料为因素A,它有4个水平,水平效应为\alpha_{i}i=1,2,3,4。推进器为因素B ,它有 3 个水平,水平效应为\beta_{j}, j=1,2,3。我们在显著性水平\alpha=0.05下检验:
    H_{1} : \alpha_{1}=\alpha_{2}=\alpha_{3}=\alpha_{4}=0
    H_{2} : \beta_{1}=\beta_{2}=\beta_{3}=0
    编写如下的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 次,得到如下表结果。

    B_{1} B_{2} B_{3}
    A_{1} 58.2,52.6 56.2,41.2 65.3,60.8
    A_{2} 49.1,42.8 54.1,50.5 51.6,48.4
    A_{3} 60.1,58.3 70.9,73.2 39.2,40.7
    A_{4} 75.8,71.5 58.2,51.0 48.7,41.4

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

    解 编写程序如下:

    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)
    

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

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

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

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

    3.1.用正交表安排试验

    正交表是一系列规格化的表格,每个表都有一个记号,如L_{9}\left(3^{4}\right),见下表:

    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

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

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

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

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

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

    反应温度A 反应时间B 催化剂含量C 转化率
    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})
    

    求得概率\mathrm{p}=0.1364 \quad 0.0283 \quad 0.0714,可见因素B,C的各水平对指标值的影响有显著差异(显著性水平取 0.1),而因素A 的各水平对指标值的影响无显著差异。

    相关文章

      网友评论

        本文标题:【数学建模算法】(32)方差分析(下)

        本文链接:https://www.haomeiwen.com/subject/vocpectx.html