夜雨聆风学习资料网

ARTICLE · 1178859

Excel 双因素方差分析

Excel 双因素方差分析

上一篇用单因素方差分析比较了几种审核流程。这次再加一个条件:订单有标准订单,也有复杂订单。

我们想知道,新流程是否更快;还想知道,它对两类订单的改善幅度,是否一样。 后一个问题,就需要把两个因素放在一起分析。

两个因素,三个问题

用一组虚构的订单审核数据演示,耗时单位为分钟。每种“流程 × 订单类型”组合各有 3 笔不同订单,共 12 笔。

审核流程
标准订单
复杂订单
旧流程
9、10、11
19、20、21
新流程
7、8、9
11、12、13

这里的因素是用来分类的条件:审核流程、订单类型。每个因素下面的具体类别,叫水平:旧流程和新流程是两个水平,标准和复杂也是两个水平。

“双因素”指两个分类因素,不是指只有两组数据。本例有 2×2=4 种组合;一个因素也可以有三个或更多水平。

先算各组合的平均耗时:

审核流程
标准订单均值
复杂订单均值
流程总体均值
旧流程
10
20
15
新流程
8
12
10
订单类型总体均值
9
16
12.5

本例各组合的订单数相同,所以边上的总体均值,可以直接由两个组合均值平均得到。

这张表对应三个不同的问题。

**流程的主效应:**把两类订单合起来看,旧流程均值 15 分钟,新流程 10 分钟,相差 5 分钟。

**订单类型的主效应:**把两种流程合起来看,标准订单均值 9 分钟,复杂订单 16 分钟,相差 7 分钟。

**流程与订单类型的交互作用:**换成新流程后,标准订单从 10 降到 8,少了 2 分钟;复杂订单从 20 降到 12,少了 8 分钟。流程之间的差距,随订单类型而变。

我会先看这两个具体差值,再回头看“平均节省 5 分钟”。后者概括了整体,却把两类订单的不同反应合在了一起。

交互作用,不一定要两条线交叉

把四个组合均值连成线,会更容易看出这个问题。

如果两类订单都恰好少 2 分钟,两条均值线就是平行的。本例一类少 2 分钟,另一类少 8 分钟,两条线不平行。

交互作用关注的是一个因素的作用是否依赖另一个因素的水平。 两条线即使没有交叉,也可能存在交互作用。

不过,样本均值会受随机波动影响。画出不平行的线,只能提示值得检查;差异是否有统计证据,还要将它与同一组合内部的波动比较。

“有重复”到底重复了什么

Excel 的数据分析里,有“可重复双因素分析”和“无重复双因素分析”两个入口。

区分依据是:每种因素组合里,有几个观测值。

本例“旧流程 × 标准订单”有 9、10、11 三个值,其他组合也各有三个,属于有重复的平衡设计。这里重复的是相同条件下的独立观测,不是把同一笔订单测三遍,也不是复制三行数据。

数据结构
Excel 工具
能否单独检验交互作用
每种组合有多个独立观测,且各组合数量相同
可重复双因素分析
可以估计格内误差,并检验交互作用
每种组合只有一个观测
无重复双因素分析
普通方法不能把交互作用与随机误差分开

“无重复”不等于两个因素互不影响。每格只有一个数时,缺少同一组合内的波动信息;通常要在无交互的加性模型假设下检验两个主效应,不能再拿结果证明“没有交互”。

也不要先把本例每格的三个数平均成一个数,再去选“无重复”。这样会丢掉原本能够估计误差的组内信息。

方差分析怎样判断这些差别

上一篇把总变动分成组间差异和组内波动。现在有两个因素,还允许交互作用,就需要分得更细:

总平方和 = 流程平方和 + 订单类型平方和 + 交互平方和 + 误差平方和

用公式表示:

平方和记作 SS。它将偏离程度平方后相加,避免正负抵消。下面的公式适用于本例这种两个固定因素完全交叉、每种组合都有相同重复数的平衡设计。

先把符号与这张表对应起来

因素 A 是审核流程,因素 B 是订单类型。设 A 有  个水平,B 有  个水平,每种组合有  个独立观测,总观测数为 。本例中,、、,所以 。

符号
含义
本例中的对应
A 的第  个水平、B 的第  个水平下,第  个观测值
某一笔订单的审核耗时
第  种组合内, 个观测的平均值
旧流程 × 标准订单的均值为 10
A 的第  个水平下,合并 B 的全部水平得到的均值
旧流程均值 15,新流程均值 10
B 的第  个水平下,合并 A 的全部水平得到的均值
标准订单均值 9,复杂订单均值 16
全部  个观测的总均值
12.5

字母上方的横线表示平均值,下标中的点表示沿那个因素的全部水平取平均。求和符号  表示“把指定范围内的各项加起来”;、、 分别遍历  到 、 到 、 到 。

1. 误差平方和:同一组合内部有多大波动

每个观测减去它所在组合的均值,平方后对全部观测求和:

代入本例,先看“旧流程 × 标准订单”:均值为 10,三个观测对它的偏离为 −1、0、1,这一格贡献的平方和是:

其余三个组合也各贡献 2,因此:

它描述的是同一流程、同一订单类型之内,订单耗时仍然存在的波动。

2. 主效应平方和:边际均值偏离总均值多少

因素 A 的平方和公式是:

前面的  是 A 每个水平包含的观测数。本例每种流程有 2 类订单,每类 3 笔,所以 。代入两个流程均值:

因素 B 的计算方式相同,只是改为比较 B 的各水平:

本例每类订单都包含两种流程下的共 6 笔观测,所以:

3. 交互平方和:两个主效应相加,还差了多少

如果只保留两个主效应,按加性模型拟合的第  格均值为:

上标  表示加性模型。用实际格均值减去这个拟合值,记为交互偏差 :

将各格交互偏差平方,乘上每格的观测数  后相加:

合在一起写,就是交互平方和的通用公式:

拿“旧流程 × 标准订单”来说,加性模型拟合的均值为:

实际格均值是 10,所以交互偏差为 。按“旧流程 × 标准、旧流程 × 复杂、新流程 × 标准、新流程 × 复杂”的顺序,四格的交互偏差依次为 −1.5、1.5、1.5、−1.5。代入 :

4. 总平方和:对全部变动做一次核对

总平方和比较的是每个观测与总均值的差:

将本例十二个观测分别减去 12.5,再平方相加,得到 257。也可以核对四部分之和:

从平方和走到 F 和 P

平方和还要除以各自的自由度 df,得到均方 MS,再将效应均方除以误差均方。

先列出自由度的通用公式,再代入本例的 、、:

变动来源
自由度公式
本例代入
因素 A
因素 B
交互作用
误差
总计

四部分自由度也能相加核对:。均方的计算公式是:

具体到本例的四个部分:

因此,、、,共同的误差均方为 。

三个效应都与同一个误差均方比较,F 统计量的公式分别为:

代入本例:

  • 流程:。
  • 订单类型:。
  • 交互作用:。

这三个检验都在问:对应效应的变动,相对于同一组合内部的随机波动,有多大。

在各自原假设成立、模型条件满足时,用相应的 F 分布求右尾概率:

其中, 是算出的 F 值, 是所检验效应的自由度, 是误差自由度。本例三个检验都使用  分布,交互作用这一项代入后为:

这里的三个原假设分别是:两个流程的总体边际均值相等、两类订单的总体边际均值相等、没有交互作用。P 值不是“原假设为真的概率”。

这一套普通双因素模型要求观测相互独立,各组合的误差方差相同,误差服从正态分布。本例只是便于跟算的演示数据,每格 3 个值,不能靠这几个点充分验证分布假设。同一批对象反复测量、重复数不等或有缺失组合时,也不能直接套用本例的 Excel 设置。

在 Excel 中计算

1. 按工具要求排列数据

我们在工作表中输入以下内容。A 列按流程分块,B、C 列分别放两类订单,每个流程块占三行。数值单元格只填数字,统一以分钟计。

行号
A
B
C
1
流程
标准订单
复杂订单
2
旧流程
9
19
3
10
20
4
11
21
5
新流程
7
11
6
8
12
7
9
13

本表同一行的两个数字属于不同订单,没有配对关系。A3、A4、A6、A7 留空只是流程块标签的排列方式,B2:C7 的十二个观测值都要保留。

2. 选择分析工具并填参数

点击 “数据 → 数据分析”,选择 “方差分析:可重复双因素分析”。

如果没有“数据分析”按钮,在 Windows 版 Excel 中进入“文件 → 选项 → 加载项”,底部“管理”选择“Excel 加载项”,点击“转到”,勾选“分析工具库”。

在分析对话框中填写:

  • 输入区域:$A$1:$C$7,包含表头和流程标签。
  • 每一样本的行数:3,表示每个流程块有三行观测,不填总行数 6 或订单总数 12。
  • α:0.05。
  • **输出选项:**选择“新工作表组”,名称可以留空。

3. 看方差分析结果

点击“确定”,Excel 会生成摘要统计和方差分析表。

按本例的排法,输出中的**“样本”对应审核流程,“列”对应订单类型,“交互”对应二者的交互作用**。不要只看英文或中文标签,要先与输入表的方向对应。

将关键结果整理出来:

变动来源
SS
df
MS
F
P 值约为
审核流程
75
1
75
75
0.00002457
订单类型
147
1
147
147
0.00000198
交互作用
27
1
27
27
0.00082628
误差
8
8
1
—
—
总计
257
11
—
—
—

Excel 可能用科学记数法显示较小的 P 值,例如 2.45684E-05,意思是 2.45684×10⁻⁵,约为 0.00002457,并不是零。

在 α=0.05 下,本例三个效应都达到显著性阈值。它们的分子自由度都是 1、分母自由度都是 8,F 临界值同为约 5.3177。三个 F 都大于临界值,与三个 P 都小于 0.05,是同一套判断。

在 Minitab 中计算

同一组数据也可以在 Minitab 中完成分析。这里用“一般线性模型”,把流程、订单类型和二者的交互作用一起放进模型。

1. 整理成每行一笔订单

在空白工作表中,将 C1、C2、C3 的列名分别设为 “流程”“订单类型”“耗时”。列名填在列号下面的名称行,十二笔订单从第 1 行开始录入,耗时仍以分钟计。

行号
C1:流程
C2:订单类型
C3:耗时
1
旧流程
标准
9
2
旧流程
标准
10
3
旧流程
标准
11
4
旧流程
复杂
19
5
旧流程
复杂
20
6
旧流程
复杂
21
7
新流程
标准
7
8
新流程
标准
8
9
新流程
标准
9
10
新流程
复杂
11
11
新流程
复杂
12
12
新流程
复杂
13

与前面的 Excel 排法不同,这里每一行都要写全流程和订单类型,不要沿用流程块中留空的方式。C1、C2 中存放文本类别,C3 中只放数值。

2. 设置响应和因子

依次进入 “统计 → 方差分析 → 一般线性模型 → 拟合一般线性模型”。

在“响应”中放入 耗时,在“因子”中放入 流程、订单类型,“协变量”留空。响应是要分析的数值结果,两个分类条件则属于因子;本例将这两项作为固定因子。

可以先点击相应输入框,再双击左侧列名,将它加入框中。

3. 把交互作用加入模型

点击 “模型”。左上方的“因子和协变量”列表中,同时选中“流程”和“订单类型”;“按变量顺序添加交互项”右侧保留 2,再点击旁边的“添加”。

检查下方“模型中的项”,应包含三项:流程、订单类型、流程*订单类型。其中星号表示模型中的交互项。

这一步不能省略。仅在主对话框中填入两个因子,默认模型只包含它们的主效应;要检验本例关注的交互作用,需要明确加入交互项。

点击“确定”返回主对话框,再点击“确定”运行。其余设置保留默认即可复现本例。

4. 对照方差分析表

Minitab 的实际输出如下。因子信息中,流程和订单类型各有两个水平,类型均为“固定”。

重点看“方差分析”部分:流程、订单类型、交互项的 F 值分别为 75.00、147.00、27.00;误差自由度为 8,误差均方为 1,与 Excel 的结果一致。

输出中的 Adj SS 和 Adj MS 分别是调整平方和与调整均方。本例是每格重复数相同、包含完整交互项的平衡设计,这几项数值与前面手算的平方和、均方一致;不能把这种数值对应不加条件地推广到所有数据结构。

本次输出将 P 值保留三位小数,所以两个主效应显示为 0.000,交互作用显示为 0.001。这是显示时的舍入:交互作用更精确的值约为 0.000826,两个主效应的 P 值也都大于零。写报告时,可将显示为 0.000 的结果写作 P<0.001,不要写成 P=0。

这里仍按前面设定的 α=0.05 判断,三个效应都达到显著性阈值。接下来要结合交互作用和四个组合均值解释业务含义。

有交互时,结论怎样写

我会优先解释交互这一行:流程之间的耗时差异,与订单类型有关。 然后再结合各组合均值说明方向。

本例可以写成:

在这组演示数据中,每种“流程 × 订单类型”组合有 3 笔独立订单。双因素方差分析得到交互作用 F(1,8)=27,P≈0.000826。在模型条件满足的前提下,有证据认为流程差异随订单类型而变。样本中,标准订单从旧流程的平均 10 分钟降至新流程的 8 分钟,复杂订单从 20 分钟降至 12 分钟,分别减少 2 分钟和 8 分钟。

“平均节省 5 分钟”仍是本例两个流程的边际均值差,但它对应标准和复杂订单各占一半的结构;换一批订单,两类占比不同,这个整体平均差也可能变。

交互检验也没有自动完成“标准订单内部新旧流程比较”和“复杂订单内部新旧流程比较”。如果还要分别声称两类订单中的改善都达到显著性阈值,需要进一步做简单效应或预先规定的对比,并根据比较范围处理多重检验。

真实业务里,还要检查分组与分配方式。只把不同团队、不同时段的历史记录放在一起,耗时差异可能同时受人员熟练程度等因素影响,不能全部归因于流程。

若某一行 P 大于 0.05,应写“当前证据不足以认为该效应存在”,不能写成“这个因素没有影响”或“两组完全相同”。

用「知数」小程序算同一组数据

在“计算”页点击 “切换方法”,搜索“方差分析”,选择 “双因素方差分析(含交互)”。进入后,确认设计类型是 “双因素含交互”。

这里改用每行一笔订单的排列方式:第一项是因素 A,即流程;第二项是因素 B,即订单类型;第三项是耗时。把以下十二行粘贴到“双因素数据”输入框,内容之间用空格分隔,不加表头。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
旧流程 标准 9旧流程 标准 10旧流程 标准 11旧流程 复杂 19旧流程 复杂 20旧流程 复杂 21新流程 标准 7新流程 标准 8新流程 标准 9新流程 复杂 11新流程 复杂 12新流程 复杂 13

α 保留 0.05,点击“计算”,再点“查看结果”。本例实际显示的交互作用 P 值为 0.000826;因素 A、因素 B 的 P 值分别约为 2.46×10⁻⁵、1.98×10⁻⁶。

方差分析表中的 F 分别为 75、147、27,与 Excel、Minitab 一致。三个工具的输入与显示形式不同,分析的仍是同样的十二笔订单。

小程序当前这个入口要求各组合都有数据、重复数相同且至少为 2。每格只有一个值的“无重复”数据,不能放到这里检验交互作用。

相关学习资料