文章目录
- 概述
-
- 前提
- 实验设计三原则
- 单因素方差分析
-
- 单因素方差分析基本步骤
- 数学模型
- 统计分析
- 方差分析表
- Matlab 实现
-
- 均衡数据
- 非均衡数据
- 总结
- 双因素方差分析
-
-
- 例 3
- 例 4
-
- 正交试验设计与方差分析
-
- 用正交表安排试验
-
- 例题
- 练习
概述
主要用于多组均数 之间的显著性检验。
如:
- 要推断这几种工艺制成的灯泡寿命是否有显著差异;
- 用几种化肥和几个小麦品种在若干块试验田里种植小麦,要推断不同的化肥和品种对产量有无显著影响。
上面提到的灯泡寿命问题是单因素试验,小麦产量问题是多因素试验。处理这些试验结果的统计方法就称为单因素方差分析和双因素方差分析。
这种用数理统计分析试验结果、鉴别各因素对结果影响程度的方法称为方差分析(Analysis Of ariance),记作 ANOVA。
人们关心的试验结果称为指标,试验中需要考察、可以控制的条件称为因素或因子,因素所处的状态或数量等级称为水平。
前提
- 正态性:每组样本数据对应的总体应该服从正态分布;
- 方差齐性: 每组样本数据对应的总体方差要相等,方差相等又叫方差齐性;
- 独立性随机性:每组之间的值是相互独立的,随机的,就是各个组的值不会相互影响。
实验设计三原则
- 重复
- 重复是指试验中同- -处理实施在两个或两个以上的试验单位上
- 随机化
- 随机化是指在对实验对象进行分组时必须使用随机的方法,使对象进入各实验组的机会相等,以避免试验对象分组时实验人员主观倾向的影响
- 局部控制——实验条件的局部一致性
- 在实验环境或实验单位差异大的情况下,可将整个实验环境或实验单位分成若千个小环境或小组,在小环境或小组内使非处理因素尽量一致,这就是局部控制
单因素方差分析
只考虑一个因素 A 对指标的影响, A 取几个水平,在每个水平上作若干个试验(为随机变量),试验过程中除 A 外其它影响指标的因素都保持不变(只有随机因素存在),我们的任务是从试验结果推断:当 A 取不同水平时指标有无显著差别,相当于检验若干总体的均值是否相等。
单因素方差分析基本步骤
- 提出原假设:H0——无差异;H1——有显著差异
- 选择检验统计量:方差分析采用的检验统计量是F统计量,即F值检验。
- 计算检验统计量的观测值和概率P值:该步骤的目的就是计算检验统计量的观测值和相应的概率P值。
- 给定显著性水平,并作出决策。
数学模型
如下表 A 1 — A r A_1—A_r A1—Ar是取了r个不同的水平, x r 1 — x r n 是 A r x_{r1}—x_{rn}是A_r xr1—xrn是Ar水平上的n个若干实验。 x r n x_{rn} xrn服从正态分布, x i − N ( μ i , σ 2 ) x_i – N( mu_i, sigma^2) xi−N(μi,σ2),
将第i 行称为第i 组数据。判断 A 的 r 个水平对指标有无显著影响,相当于要作以 下的假设检验
由于 x i j x_{ij} xij 的取值既受不同水平 A i A_i Ai 的影响,又受 A i A_i Ai固定下随机因素的影响,所以将它分解为
其中 ε i j − N ( 0 , σ 2 ) ε_{ij}- N(0,σ^2) εij−N(0,σ2) ,且相互独立。记
μ 是总均值, α i α_i αi 是水平 A i A_i Ai对指标的效应。由(1)、(2)模型可表为
所以原假设等价于
统计分析
经分解可得:
记
则 S T = S A S E S_T=S_A S_E ST=SA SE
S A S_A SA是各组均值对总方差的偏差平方和,称为组间平方和; S E S_E SE 是各组内的数据对均值偏差平方和的总和。 S A S_A SA反映 A 不同水平间的差异, S E S_E SE 则表示在同一水平下随机误差的大小。 往下看的有点懵逼了,直接复制原文了、、、
方差分析表
方差分析一般用的显著性水平是:取α = 0.01,拒绝 H0 ,称因素 A 的影响(或 A 各水平的差异)非常显著;取α = 0.01,不拒绝 H0 ,但取α = 0.05 ,拒绝 H0 ,称因 素 A 的影响显著;取α = 0.05 ,不拒绝 H0 ,称因素 A 无显著影响。
Matlab 实现
若各组数据个数相等,称为均衡数据。若各组数据个数不等,称非均衡数据
均衡数据
用p=anoval(x)
处理均衡数据
返回值 p 是一个概率,当 p > α 时接受 H0 ,x 为m× r 的数据矩阵,x 的每一列是一个水平的数据(这里各个水平上的样本容量 n i = m n_i = m ni=m )。另外,还输出一个方差表和一个Box 图。 例1 为考察 5 名工人的劳动生产率是否相同,记录了每人 4 天的产量,并算出其平均值,如表3 。你能从这些数据推断出他们的生产率有无显著差别吗?
MATLAB中的anova1()函数单因素方差分析 解 编写程序如下:
代码语言:javascript复制x=[256 254 250 248 236
242 330 277 280 252
280 290 230 305 220
298 295 302 289 252];
p=anova1(x)
MS是均方误差,即每个变异源的SS/df f 统计量是均方误差的比值 p值是测试统计量取的值大于计算的测试统计量的值的概率
求得p=0.1109>a=0.05,故接受H0,即5名工人的生产率没有显著差异。
非均衡数据
处理非均衡数据的用法为: p=anova1(x,group) x为向量,从第 1 组到第 r 组数据依次排列;group 为与 x 同长度的向量,标志 x 中数据的组别(在与 x 第i 组数据相对应的位置处输入整数i(i=1,2…,r))。
例 2 用 4 种工艺生产灯泡,从各种工艺制成的灯泡中各抽出了若干个测量其寿命,结果如下表,试推断这几种工艺制成的灯泡寿命是否有显著差异。 MATLAB中的 anova1()函数单因素方差分析
代码语言:javascript复制x=[1620 1580 1460 1500
1670 1600 1540 1550
1700 1640 1620 1610
1750 1720 1680 1800];
x=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)];
g=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)];
p=anova1(x,g)
求得 0.01<p=0.0331<0.05,所以几种工艺制成的灯泡寿命有显著差异
若我们想知道某个组与另外其他组有无显著性差异,可以这样做
代码语言:javascript复制x=[1620 1580 1460 1500
1670 1600 1540 1550
1700 1640 1620 1610
1750 1720 1680 1800];
x=[x(1:4),x(16),x(5:8),x(9:11),x(12:15)];
g=[ones(1,5),2*ones(1,4),3*ones(1,3),4*ones(1,4)];
[p,t,st]=anova1(x,g)
[c,m,h,nms] = multcompare(st);
[nms num2cell(m)]
表没有啥变化
点击一下这几条直线,就可以找出直线对应的组,下面出现与哪个组有差异。
总结
单因素就是只考虑一个因素,探讨该因素的改变对我们最终结果有无显著差异。其具体推导过程,我看到一半看不懂了,以后看懂了再具体写吧。但一定要会应用,MATLAB挺方便的,当然会spss更方便。
双因素方差分析
如果要考虑两个因素 A,B 对指标的影响, A,B 各划分几个水平,对每一个水平组合作若干次试验,对所得数据进行方差分析,检验两因素是否分别对指标有显著影响,或者还要进一步检验两因素是否对指标有显著的交互影响。 推导不推了,自己没看懂。。。
直接看例题应用吧